Moodle
Moodle 是一个自由且开源的电子学习软件平台,使用 PHP 编写。
本文介绍如何设置 Moodle 服务器。
安装
- 您需要一个可用的 Web 服务器(例如 Apache HTTP 服务器)、一个数据库(例如 MySQL 或 PostgreSQL)并已配置 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 directory
。BBS#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 愉快!