如何在 Linux 中使用 Moodle 创建自己的在线学习管理系统
Moodle 是一款免费、功能丰富的开源学习管理系统 (LMS)。该平台被许多在线学校和大学以及私立教育工作者使用。
Moodle 具有高度可定制性,旨在满足包括教师、学生或管理员在内的广泛用户的需求。
Moodle 功能
Moodle 的一些最引人注目的功能是:
- 现代且易于使用的界面
- 个性化仪表板
- 协作工具
- 多合一日历
- 轻松的文件管理
- 简单的文本编辑器
- 通知
- 进度追踪
- 可定制的网站设计/布局
- 多种支持语言
- 批量课程创建
- 测验
- 用户角色
- 用于附加功能的插件
- 多媒体整合
当然以上只是Moodle所具有的一小部分功能。如果你想查看完整的列表,你可以查看 Moodle 文档。
要求
最新的稳定 Moodle 版本 (3.0) 刚刚于2015 年 11 月 16 日发布。该版本有以下要求:
- Apache 或 Nginx
- MySQL/MariaDB 版本 5.5.31
- PHP 5.5 及其扩展
在本教程中,我将向您展示如何使用 LAMP 在基于 RedHat 的系统(例如 CentOS/Fedora 和 Debian 及其衍生系统)上安装 Moodle LMS(学习管理系统) 或 LEMP(Linux、Apache/Nginx、MySQL/MariaDB 和 PHP),具有子域 moodle.howtoing.com 和 IP 地址 192.168.0.3 。
重要:这些命令将使用 root 用户或 sudo 权限执行,因此请确保您拥有完整的权限访问您的系统。
第1步:安装LAMP或LEMP环境
LAMP/LEMP 是一组开源软件,旨在构建和托管网站。它使用 Apache/Nginx 作为 Web 服务器,使用 MariaDB/MySQL 作为关系数据库管理系统, PHP 作为面向对象的编程语言。
您可以使用以下一个命令在各自的 Linux 操作系统中安装 LAMP 或 LEMP 堆栈,如下所示:
安装 LAMP 堆栈
yum install httpd php mariadb-server [On RedHat/CentOS based systems]
dnf install httpd php mariadb-server [On Fedora 22+ versions]
apt-get install apache2 php5 mariadb-server [On Debian/Ubuntu based systems]
安装 LEMP 堆栈
yum install nginx php php-fpm mariadb-server [On RedHat/CentOS based systems]
dnf install nginx php php-fpm mariadb-server [On Fedora 22+ versions]
apt-get install nginx php5 php5-fpm mariadb-server [On Debian/Ubuntu based systems]
第 2 步:安装 PHP 扩展和库
接下来,您需要安装以下推荐的 PHP 扩展和库才能无错误地运行 Moodle。
--------------------- On RedHat/CentOS based systems ---------------------
yum install php-iconv php-mbstring php-curl php-opcache php-xmlrpc php-mysql php-openssl php-tokenizer php-soap php-ctype php-zip php-gd php-simplexml php-spl php-pcre php-dom php-xml php-intl php-json php-ldap wget unzip
--------------------- On On Fedora 22+ versions ---------------------
dnf install php-iconv php-mbstring php-curl php-opcache php-xmlrpc php-mysql php-openssl php-tokenizer php-soap php-ctype php-zip php-gd php-simplexml php-spl php-pcre php-dom php-xml php-intl php-json php-ldap wget unzip
--------------------- On Debian/Ubuntu based systems ---------------------
apt-get install graphviz aspell php5-pspell php5-curl php5-gd php5-intl php5-mysql php5-xmlrpc php5-ldap
第 3 步:配置 PHP 设置
现在打开并修改 php.ini
或 .htaccess
(仅当您无权访问 php.ini 时)文件中的 PHP 设置,如下所示。
重要:如果您使用 5.5 之前的 PHP,则以下某些 PHP 设置将被删除,您将无法在您的 php.ini 文件。
register_globals = Off
safe_mode = Off
memory_limit = 128M
session.save_handler = files
magic_quotes_gpc = Off
magic_quotes_runtime = Off
file_uploads = On
session.auto_start = 0
session.bug_compat_warn = Off
post_max_size = 50M
upload_max_filesize = 50M
在Nginx网络服务器上,您还需要在php.ini文件中启用以下变量。
cgi.fix_pathinfo=1
进行上述更改后,重新启动 Web 服务器,如下所示:
在 Apache Web 服务器上
--------------------- On SysVinit based systems ---------------------
service httpd restart [On RedHat/CentOS based systems]
service apache2 restart [On Debian/Ubuntu based systems]
--------------------- On Systemd based systems ---------------------
systemctl restart httpd.service [On RedHat/CentOS based systems]
systemctl restart apache2.service [On Debian/Ubuntu based systems]
在 Nginx Web 服务器上
--------------------- On SysVinit based systems ---------------------
service nginx restart
service php-fpm restart
--------------------- On Systemd based systems ---------------------
systemctl restart nginx.service
systemctl restart php-fpm.service
第四步:安装Moodle学习管理系统
现在我们准备好安装 Moodle 文件了。为此,请导航到 Apache 或 Nginx 服务器的 Web 根目录。您可以通过以下方式执行此操作:
cd /var/www/html [For Apache]
cd /usr/share/nginx/html [For Nginx]
接下来进入 Moodle 下载页面并获取最新的 Moodle(即撰写本文时的版本 3.0)存档或借助以下 wget 命令。
wget https://download.moodle.org/download.php/direct/stable30/moodle-3.0.zip
现在解压下载的存档,这将创建一个名为“moodle”的新目录,并将其所有内容移动到 Web 服务器的根 Web 目录(即 /var/www/html)对于 Apache 或 /usr/share/nginx/html 对于 Nginx),使用以下一系列命令。
unzip moodle-3.0.zip
cd moodle
cp -r * /var/www/html/ [For Apache]
cp -r * /usr/share/nginx/html [For Nginx]
现在让我们将文件所有权固定为网络服务器用户,具体取决于您的发行版 Apache 可能使用用户 “apache” 或 “www-data” 和 Nginx 运行以用户 nginx 身份运行。
要修复文件所有权,请运行以下命令。
chown -R apache: /var/www/html [On RedHat/CentOS based systems]
chown -R www-data: /var/www/html [On Debian/Ubuntu based systems]
OR
chown -R nginx: /usr/share/nginx/html/
Moodle 还使用数据目录来保存教师和学生的数据。例如,该目录将保存视频、文档、演示文稿等。
出于安全目的,您应该在 Web 目录根目录之外创建该目录。在本教程中,我们将创建一个单独的 moodledata
目录。
mkdir /var/www/moodledata [For Apache]
mkdir /usr/share/moodledata [For Nginx]
并再次修复文件夹所有权:
chown -R apache: /var/www/moodledata [On RedHat/CentOS based systems]
chown -R www-data: /var/www/moodledata [On Debian/Ubuntu based systems]
OR
chown -R nginx: /usr/share/moodledata
第5步:创建Moodle数据库
Moodle 使用关系数据库来存储其数据,因此我们需要为安装准备一个数据库。这可以通过以下命令轻松完成:
mysql -u root -p
输入您的密码并继续。现在创建名为“moodle”的新数据库:
MariaDB [(none)]> create database moodle;
现在让我们授予用户“moodle”数据库moodle的所有权限:
MariaDB [(none)]> grant all on moodle.* to moodle@'localhost' identified by 'password';
第6步:开始Moodle安装
我们现在准备好继续安装 Moodle。为此,请在浏览器中打开您的 IP 地址或主机名。您应该会看到 Moodle 的安装程序。它将要求您选择安装语言:
在下一步中,您将选择 Moodle 数据目录的路径。该目录将包含教师和学生上传的文件。
例如视频、PDF、PPT 和您在网站上上传的其他文件。我们之前已经准备好了这个目录,您只需将Moodle数据目录设置为/var/www/moodledata或/usr/share/moodledata即可。
接下来您将选择数据库驱动程序。
- 对于 MySQL – 选择改进的 MySQL 驱动程序。
- 对于 MariaDB – 选择native/mariadb 驱动程序。
之后,系统将提示您输入 Moodle 将使用的 MySQL 凭据。我们之前已经准备好了:
Database Name: moodle
Database User: moodle
Password: password
填写详细信息后,请继续下一页。该页面会显示与Moodle相关的版权:
查看这些内容并继续下一页。在接下来的页面上,Moodle 将为您的服务器环境执行系统检查。它会通知您系统上是否缺少模块/扩展。如果找到此类扩展,请单击显示为缺失的每个扩展旁边的链接,系统将向您提供如何安装它的说明。
如果一切正常,请继续进入下一页,安装程序将填充数据库。此过程可能需要比预期更长的时间。之后,系统将要求您配置管理用户。您需要填写以下详细信息:
- 用户名 – 用户登录时使用的用户名
- 密码 – 上述用户的密码
- 名
- 姓
- 管理用户的电子邮件地址
- 城市/城镇
- 国家
- 时区
- 描述 – 输入有关您自己的信息
配置站点管理员的配置文件后,就可以设置一些有关站点的信息了。填写以下信息:
- 完整站点名称
- 网站的简称
- 首页摘要 – 将显示在网站首页的信息
- 位置设置
- 网站注册 – 选择注册类型为自助注册或通过电子邮件注册。
填写完所有这些信息后,安装完成,您将进入管理员配置文件:
要访问 Moodle 管理仪表板,请转至 http://your-ip-address/admin。就我而言,这是:
http://moodle.linux教程/admin
现在您的 Moodle 安装已完成,您可以开始管理您的网站并创建您的第一个课程、用户或只是自定义您的网站设置。
如果您对 Moodle 安装有任何疑问或意见,请在下面的评论部分提交。
我们可以为您做到!
如果您想在真正的 Linux 实时服务器上安装 Moodle,您可以通过 [email 联系我们并提出您的要求,我们将为您提供定制服务。