介绍
Moodle是一个流行的和开源的基于Web的学习管理系统(LMS),任何人都可以免费安装和使用。使用Moodle,您可以创建和向学习者群组提供学习资源,如课程,阅读和讨论板。Moodle还允许您管理用户角色,以便学生和教师可以访问材料的不同级别。一旦您在您的Web服务器上安装Moodle,任何有访问您的网站的人都可以创建和参与基于浏览器的学习。
在本指南中,您将在您的 Ubuntu 16.04 服务器上安装和设置 Moodle. 您将安装和配置所有由 Moodle 所需的软件,运行设置向导,选择主题,并创建您的第一门课程。
前提条件
在您开始本指南之前,您将需要以下内容:
- 1GB Ubuntu 16.04 服务器,为 Moodle 代码提供至少 200MB 的磁盘空间,以及您需要存储您的内容的数量。 Moodle 需要 512MB 的内存,但建议至少 1GB 以获得最佳性能。
- 具有 sudo 特权和防火墙的非根用户,您可以通过遵循 Ubuntu 16.04 初始服务器设置指南来设置。
- 安装了 LAMP 堆栈 (Apache, MySQL 和 PHP) 通过遵循 本教程 )。 请确保在这个过程中设置的根 MySQL 密码。
步骤 1 – 安装 Moodle 和依赖
Moodle 依赖于几个软件,包括一个拼写检查库和一个图形库。 Moodle 是一个 PHP 应用程序,并且还有一些额外的 PHP 库依赖性。在我们安装 Moodle 之前,让我们使用包管理器安装所有先决条件的库。
1sudo apt-get update
然后安装 Moodle 的依赖:
1sudo apt-get install aspell graphviz php7.0-curl php7.0-gd php7.0-intl php7.0-ldap php7.0-mysql php7.0-pspell php7.0-xml php7.0-xmlrpc php7.0-zip
接下来,重新启动Apache Web 服务器来加载您刚刚安装的模块:
1sudo systemctl restart apache2
现在我们已经准备好下载并安装了Moodle本身,我们将使用‘curl’从官方分发服务器下载Moodle。
以下命令将进入Moodle网站,并将包含当前完整的Moodle稳定版本的压缩包放入moodle.tgz文件中。
1curl -L https://download.moodle.org/download.php/direct/stable32/moodle-latest-32.tgz > moodle.tgz
现在我们可以用tar
程序解压缩文件,并将结果的文件放入Web文档根:
1sudo tar -xvzf moodle.tgz -C /var/www/html
检查moodle
目录是否位于您的服务器的 Web 根目录中:
1ls /var/www/html
您应该看到列出的moodle
目录:
1[secondary_label Output]
2index.html moodle
现在查看moodle
目录中的文件:
1ls /var/www/html/moodle
您将看到您刚刚下载和未压缩的所有 Moodle 文件和目录:
1[secondary_label Output]
2admin composer.json grade message README.txt
3auth composer.lock group mnet report
4availability config-dist.php Gruntfile.js mod repository
5backup config.php help_ajax.php my rss
6badges CONTRIBUTING.txt help.php notes search
7behat.yml.dist COPYING.txt index.php npm-shrinkwrap.json tag
8blocks course install package.json tags.txt
9blog dataformat install.php phpunit.xml.dist theme
10brokenfile.php draftfile.php INSTALL.txt pix TRADEMARK.txt
11cache enrol iplookup plagiarism user
12calendar error lang pluginfile.php userpix
13cohort file.php lib portfolio version.php
14comment files local PULL_REQUEST_TEMPLATE.txt webservice
15competency filter login question
16completion githash.php media rating
现在我们需要为 Moodle 创建 Web 根外部的目录,以存储所有与课程相关的数据,这些数据将存储在服务器上,但不会存储在数据库中。
1sudo mkdir /var/moodledata
然后设置其所有权以确保网页服务用户www-data
可以访问目录:
1sudo chown -R www-data /var/moodledata
然后更改文件夹上的权限,以便只有所有者拥有完整的权限:
1sudo chmod -R 0770 /var/moodledata
现在你已经在你的服务器上有Moodle,是时候设置它将使用的数据库了。
步骤 2 - 配置数据库
我们需要创建MySQL数据库,其中Moodle将存储其大部分数据,我们将创建Moodle代码预期的结构,我们将创建一个用户,Moodle将使用它连接到数据库。
但首先我们需要对MySQL配置文件进行一些更改,以便我们的MySQL安装与Moodle兼容。
1sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
然后在基本设置
区域中添加以下突出的行,这些行将配置新数据库应该使用的存储类型:
1[label mysqld configuration]
2...
3[mysqld]
4#
5# * Basic Settings
6#
7user = mysql
8pid-file = /var/run/mysqld/mysqld.pid
9socket = /var/run/mysqld/mysqld.sock
10port = 3306
11basedir = /usr
12datadir = /var/lib/mysql
13tmpdir = /tmp
14lc-messages-dir = /usr/share/mysql
15skip-external-locking
16default_storage_engine = innodb
17innodb_file_per_table = 1
18innodb_file_format = Barracuda
19## Instead of skip-networking the default is now to listen only on
20# localhost which is more compatible and is not less secure.
21...
保存此文件,然后重新启动MySQL服务器以使用新设置重新加载配置。
1sudo systemctl restart mysql
现在我们可以创建 Moodle 数据库. 要做到这一点,您将与 MySQL 命令行接口进行交互。
1mysql -u root -p
当被提示时,提供您在安装MySQL时设置的根密码。
一旦登录,你会看到mysql>
提示,运行以下命令来创建数据库:
1CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
然后创建一个Moodle用户,所以我们不必告诉Moodle应用程序我们的根密码是什么。
<$>[注]
注: 在接下来的两个命令中,用您选择的密码代替moodler
为您的Moodle用户名和moodlerpassword
。
1create user 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';
并授予moodler
用户编辑数据库的权限. 此用户需要创建表并更改权限:
1GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';
现在退出 MqSQL 命令行接口:
1quit;
这就照顾了数据库配置,现在我们可以在浏览器中启动Moodle,并在那里继续安装。
步骤 3 – 在浏览器中配置 Moodle
要完成 Moodle 配置,我们会将网站带到 Web 浏览器中,并为其提供一些额外的配置细节。
<$>[warning] 警告: 权限向所有人开放此文件夹. 如果您对此感到不舒服,只需不要更改权限。
如果你改变了权限,那么一旦你完成了设置,就必须取消这个权限,这个步骤包含在本教程中。
1sudo chmod -R 777 /var/www/html/moodle
现在打开一个浏览器,然后到 http://your_server_ip/moodle
. 你会看到一个页面如下。
按照以下步骤来配置 Moodle:
- 联合国 设定您想要使用的语言并点击Next .
- 在下一张屏幕上,将Data目录 设置为‘/var/moodledata'并点击** Next** .
- 在Choose Database Driver 页面上设置了** Database驱动程序** 设置为** 改进了 MySQL(native mysqli)** . 然后点击** Next** .
- 在Database设置 页面上,输入您在步骤3中创建的Moodle MySQL用户的用户名和密码. 其他田地可以如出一辙. 点击** Next** 继续.
- 审查许可协议,并通过按**Continue确认您同意协议条款. **
- 任何可能发行的版本请检查Server Checks 页. 确保
您的服务器环境满足所有最小要求
消息存在于下方, 按 ** Continue 。 ** - Moodle将安装多个组件,每个组件显示"成功"消息. 向下滚动并按 ** 继续。 ** 8 (英语). 然后,你会看到一个页面,在那里你可以设置您的管理员账户Moodle.
- 对于用户名 ,输入任何您想要的,AR接受默认.
- 对于选择一种认证方法 ,留有默认值。
- 对于新密码 ,输入您想要使用的密码.
- 对于电子邮件 ,请输入您的电子邮件地址。
- 将其余字段设置为适当的值。
- 点击最新简介 。 9 (英语). 在 **Front Page 设置 ** 屏幕上,填写 ** Full 站点名称 ** , ** Short 站点名称 ** ,设置位置,并选择是否允许通过电子邮件进行自我注册. 然后点击 ** 保存更改。 ** (韩语)_
完成此操作后,您将被带到您新安装的 Moodle 仪表板,登录为 admin 用户。
<$>[warning] 现在你的设置已经完成,它是重要的限制权限的Moodle网页根再次。
1sudo chmod -R 0755 /var/www/html/moodle
美元
让我们做一个更小的更改,以改善Moodle的安全性。默认情况下,Moodle在/var/moodledata
文件夹中创建文件,具有可编写世界的权限。
在您的编辑器中打开 Moodle 配置文件:
1sudo nano /var/www/html/moodle/config.php
找到这条线:
1[label config.php]
2$CFG->directorypermissions = 0777;
将其更改为如下:
1[label config.php]
2$CFG->directorypermissions = 0770;
然后保存文件并离开编辑器。
最后,重置/var/moodledata
目录本身的权限,因为Moodle已经创建了一些可写世界的文件夹,并在安装过程中:
1sudo chmod -R 0770 /var/moodledata
现在,Moodle已经配置了,让我们做一些定制并创建一个测试课程,以获得Moodle Web 界面的感觉。
步骤 4 – 定制 Moodle 并创建您的第一门课程
现在你的网站正在运行,你想做的第一件事之一是注册你的Moodle网站,这将让你订阅Moodle邮件列表,这将让你了解安全警报和新版本。
若要注册,请点击左侧框中的 ** 网站管理 ** 链接,然后点击 ** 注册 ** . 然后用相应的详细信息填写网页表格. 您也可以选择发布您的 Moodle 网站以便其他人找到它。
接下来,让我们为我们的 Moodle 网站更改主题。选择 网站管理 ,选择 ** 外观** 选项卡,然后选择 ** 主题选择器** .您将看到一个页面看起来像以下图,表示您目前在 ** 默认** 设备上使用Boost
主题,这指的是现代网页浏览器:
点击更改主题
按钮,您将被带到显示其他可用的主题的屏幕上。当您在主题名称下点击使用主题
按钮时,您的Moodle网站将使用该主题来显示您的网站的所有内容。
现在,你已经让你的 Moodle 网站更接近你想要的样子了,现在是时候创建你的第一门课程了。从导航菜单中选择 网站主页 .你会看到一个空的课程列表和一个 ** 添加新课程** 按钮。
填写有关您的课程的信息,包括名称,简称,描述和任何其他相关细节,然后向下滚动,然后单击 ** 保存和显示** 。
您的第一个 Moodle 课程现在已经准备好了,您可以使用 Moodle 界面开始将课程和活动添加到课程中。
但是,在你开始允许人们注册你的新课程之前,你应该确保你的Moodle安装准备好生产。 首先,你需要为Apache设置一个TSL/SSL证书来加密服务器和客户端之间的流量。 要做到这一点,请遵循教程(How To Secure Apache with Let's Encrypt on Ubuntu 16.04)(https://andsky.com/tech/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04)。 为了确保你的数据受到保护,请确保你定期(https://andsky.com/tech/tutorials/how-to-backup-mysql-databases-on-an-ubuntu-vps)备份你的MySQL数据库。 您还应该备份服务器上的文件,包括 /var/moodledata/
文件夹。 教程(How To Choose an Effective Backup Strategy for your VPS)(https://andsky.com/tech/tutorials/how-to-choose-an-effective-backup-strategy-for-your-vps)为备份文件提供建议。
结论
在本文中,您已在 Ubuntu 16.04 服务器上安装并设置了 Moodle. Moodle 是一个强大而高度可配置的 Web 应用程序. 请务必查看 Moodle 文档,并与世界各地的 Moodle 用户和管理员联系,了解如何充分利用它。