学习管理系统 (LMS) 是为在线教育提供动力的软件,使教师和培训师能够共享课程作业、管理评估并跟踪学生的学习情况。 有许多专有供应商提供各种 LMS,但一个持久的开源选择是 Moodle。
Moodle 已经可用近 20 年。 它由科廷大学的学生和员工 Martin Dougiamas 发起,他看到了改进的可能性,这些改进在 2001 年变成了 Moodle。 截至 2018 年初,全球超过 240 万学生,从 K-12 到高等教育,都在使用 Moodle。 虽然它最初是从 Martin 的愿景发展而来,但 Moodle 拥有庞大而强大的开发者和其他贡献者社区,这使得该产品成为比专有选项更具吸引力的选择。
安装软件包
Moodle 可以在任何基于 Linux 的发行版上运行,但本教程使用 Ubuntu 16.04 平台。 Moodle 还需要安装 Web 服务器和数据库服务器。 此示例使用 Nginx 和 MariaDB,但 Apache 以及 MySQL 或 Postgres 也可以使用。
要在您的 Ubuntu 16.04 机器上安装这些软件包,请输入以下命令
sudo apt install mariadb-server mariadb-client nginx
配置数据库
在开始数据库设置之前,请配置您的数据库服务器,以使用以下命令确保其安全并为 Moodle 做好准备
sudo /usr/bin/mysql_secure_installation
只需按照提示设置 root 密码并保护您的安装。
您还需要更改 MariaDB 或 MySQL 中的一些配置选项,Moodle 需要,因此请导航到 /etc/mysql/conf.d/
并在您的 my.cnf
文件中添加一些选项
sudo vi /etc/mysql/conf.d/my.cnf
[client]
default-character-set = utf8mb4
[mysqld]
innodb_file_format = Barracuda
innodb_file_per_table = 1
innodb_large_prefix
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
skip-character-set-client-handshake
[mysql]
default-character-set = utf8mb4
现在为 Moodle 配置您的数据库
sudo mysql –u root –p
CREATE DATABASE moodledb;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY ‘my_secure_password’;
GRANT ALL ON moodledb.* TO 'moodleuser'@'localhost’;
FLUSH privileges;
安装其他软件包
Moodle 还需要 PHP 和其他几个软件包,用于语言支持、图像处理、拼写检查和其他内部操作
sudo apt-get install php7.0-fpm graphviz aspell php7.0-pspell php7.0-curl php7.0-gd php7.0-intl php7.0-mysql php7.0-xml php7.0-xmlrpc php7.0-ldap php7.0-zip php7.0-soap php7.0-mbstring
现在为 Moodle 配置 PHP。 在 /etc/php/7.0/cli
和 /etc/php/7.0/fpm
目录中,都有一个 php.ini
文件。 找到并将 cgi.fix_pathinfo = 1
更改为 cgi.fix_pathinfo = 0
sudo vi /etc/php/7.0/cli/php.ini
sudo vi /etc/php/7.0/fpm/php.ini
为 Moodle 配置 Nginx
为了让 Moodle 正常运行,请更改 Nginx 提供的默认站点的配置
cd /etc/nginx/sites-available
sudo vi default
为您的基本安装保持简单
server {
listen 80;
server_name _;
root /var/www/html/moodle;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
对于公共部署,必须正确配置服务器以进行 SSL。 Let's Encrypt 是一个不错的选择,并提供 使用 Nginx 的说明。
重启服务
现在一切都已安装并配置为满足 Moodle 的要求,请重启一些服务以继续安装
sudo systemctl restart nginx
sudo systemctl restart php7.0-fpm
sudo systemctl restart mysql
安装 Git 并将 Moodle 源代码克隆到服务器
虽然您可以下载包含 Moodle 源代码的 ZIP 文件并将其放置在您的服务器上,但选择使用 Git 安装 Moodle 可以轻松升级主要和次要版本更新。 首先,安装 Git
sudo apt install git
接下来,将其克隆到服务器上的 /var/www
(或您选择的备用位置)
cd /var/www/
sudo git clone git://git.moodle.org/moodle.git
完成后,您将拥有一个 Moodle 目录,您可以切换到该目录并开始配置
cd moodle
sudo git branch -a
您将看到可用于安装的可用 Moodle 版本列表;选择当前版本(例如,Moodle 3.4)。 告诉 Git 您将跟踪并检出该版本
sudo git branch --track MOODLE_34_STABLE origin/MOODLE_34_STABLE
sudo git checkout MOODLE_34_STABLE
在 Web 浏览器中工作
现在,通过 IP 地址或您为此站点指定的规范名称,在 Web 浏览器中打开新创建的站点。 例如,如果您的服务器的 IP 地址为 192.168.1.20,则在 Web 浏览器中打开 http://192.168.1.20/,Moodle 将打开安装的初始配置页面。
当您输入最终配置时,Moodle 安装过程将配置语言选项、服务器的公共地址(Moodle 的安装位置)以及 moodledata 目录的存储位置。
您会注意到 Moodle 列出了 Moodledata 目录的位置,Moodle 在其中存储其缓存文件、课程备份和其他临时文件。 默认情况下,Moodle 选择将其存储在 Web 服务器上的主 Moodle 目录中。 如果您希望,您可以将其移动到另一个位置以确保安全,例如在 /var 目录下创建此目录
sudo mkdir /var/moodledata
然后授予 www-data 用户对此目录的访问权限
sudo chown -R www-data:www-data /var/moodledata
接下来,Moodle 将询问您之前设置的数据库服务器和表。

opensource.com
Moodle 将要求您同意许可协议,然后在创建数据库表之前进行一些预检查。 如果存在问题,Moodle 将突出显示缺少的项目或所需的配置更改。
完成剩余的一些设置选项——创建一个管理员帐户、您的站点名称和站点简称——您甚至可以在 https://moodle.net 注册您的 Moodle 安装(如果您愿意)。
恭喜! 您最终将到达您的 Moodle 站点。

opensource.com
体验 Moodle
现在您已经安装了 Moodle,您可以尝试许多事情
- 在新的 Moodle 服务器中创建课程
- 创建用户或 配置 LDAP 身份验证
- 添加 插件 以扩展 Moodle 的功能
- 在 Moodle 论坛 中与其他 Moodle 用户联系
Moodle 拥有许多优秀的资源,从 视频教程 到 在线文档,可以帮助您开始开发服务器并放置课程内容,供其他人学习和享受。
Steve 将在今年的 LinuxFest Northwest 上发表演讲。 请参阅 项目亮点或注册 以参加。
评论已关闭。