Moodle

来自 ArchWiki

Moodle 是一个自由且开源的电子学习软件平台,使用 PHP 编写。

本文介绍如何设置 Moodle 服务器。

安装

快速安装指南:

您需要一个可用的 Web 服务器(例如 Apache HTTP 服务器)、一个数据库(例如 MySQLPostgreSQL)并已配置 PHP

请注意,需要兼容的 PHP 版本

还有一个 AUR 软件包 moodleAUR 用于安装。

您可以选择使用这种方式

https://download.moodle.org/ 下载 Moodle 的最新版本 - 本安装指南使用 2.3.1+ 版本完成,后续版本安装步骤可能存在细微差异。

将其解压到 /srv/http

# tar xzvf moodle-latest-23.tgz -C /srv/http

使其对 Apache 可读写

# chown -R http:http /srv/http/moodle

配置

预配置

需要对默认设置进行一些更改,以使 Moodle 正常工作。

文件访问

/srv 添加到 /etc/php/php.ini

open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/srv/

这允许 PHP 访问 /srv/moodledata directoryBBS#80782

创建 MoodleData 目录

此目录需要对 Apache 可读写

# mkdir /srv/moodledata
# chown http:http /srv/moodledata

配置 PHP 扩展

取消注释 /etc/php/php.ini 中的以下行(删除行首的分号)

extension=curl
extension=gd
extension=gettext
extension=iconv
extension=intl
extension=mysqli
extension=soap
extension=xmlrpc
extension=zip

重启 Apache

您现在需要重启 Apache 的 httpd.service 以使这些更改生效。请注意,如果在安装 Moodle 时遇到任何错误,并在之后进行了更改,则每次更改后都需要重启 Apache。

MariaDB

如果您正在使用 MariaDB 并且 Moodle 安装程序抱怨 MySQL 版本错误,请编辑 /srv/http/moodle 中的 config.php

$CFG->dbtype    = 'mariadb'; 
$CFG->dblibrary = 'native';

您还需要创建一些表,以便 Moodle 可以连接并修改它

MariaDB[(none)] > CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'yourpassword';
MariaDB[(none)] > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleuser'@'localhost';
MariaDB[(none)] > FLUSH PRIVILEGES;
MariaDB[(none)] > exit;

配置 cron 任务

根据维护要求,您需要配置一个 cron 任务在您的站点上定期运行。

请查看 Cron 页面以安装 cron 实现。之后,编辑您的 {{ic[/etc/crontab}} 文件并添加以下内容

* * * * *    /usr/bin/php /path/to/moodle/admin/cli/cron.php >/dev/null

更改为您的 Moodle 安装目录的路径。

应用配置

访问 https://127.0.0.1/moodle/install.php - 这将启动 Moodle 安装程序。接下来会显示一系列配置界面,大多数应保留默认设置

  • 选择语言
  • 您应该通过第一个测试页面(PHP 设置)。
  • 保持默认位置不变。此处的错误很可能是数据目录问题 - 检查目录是否存在,是否具有正确的权限,以及 /etc/php/php.ini 中的 open_basedir 设置是否正确。
  • 在 MySQL 屏幕上,输入用户(root)和该用户的密码。如果在此处遇到错误,请转到设置 LAMP 堆栈时创建的 test.php 并检查 mysql 是否正常工作,并检查密码。
  • 环境屏幕上,您应该通过所有测试 - 如果没有,错误会提示您缺少什么 - 未安装的程序或未能取消注释 /etc/php/php.ini 中的某一行。
  • 如果您使用英语,则无需下载语言包。
  • 如果 config.php 失败 - 可能是由于缺少对 moodle 子目录的写入权限 - 最可能的原因是 /srv/http/moodle 结构的权限,应为 http:http - 这在之前已设置,但您可能跳过了该步骤。
  • 安装的其余部分应该是自动的。在我的计算机上,设置所有 SQL 数据库等需要 2 到 3 分钟。
  • 最后一个页面允许您设置 Moodle 的管理员用户。您需要输入密码、姓名并将国家/地区设置为最低要求。不要忘记密码!

祝您使用 Moodle 愉快!