如何在Ubuntu 16.04上安装Moodle

Moodle是一个流行的基于网络的学习管理系统(LMS),任何人都可以免费安装和使用。使用Moodle,您可以创建和提供学习资源,如课程,阅读和讨论板给学生群体。 Moodle还允许您管理用户...

介绍

Moodle是一个流行和开源的基于网络的学习管理系统(LMS),任何人都可以免费安装和使用。 使用Moodle,您可以创建和提供学习资源,如课程,阅读和讨论板对学习者组。 Moodle还允许您管理用户角色,所以学生和教师可以有不同级别的材料访问。 一旦您在Web服务器上安装Moodle,任何有权访问您的网站的人都可以创建并参与基于浏览器的学习。

在本指南中,您将在Ubuntu 16.04服务器上安装和设置Moodle。 您将安装和配置Moodle所需的所有软件,运行安装向导,选择一个主题,并创建您的第一个课程。

先决条件

在开始本指南之前,您需要具备以下条件:

  • 一个1GB的Ubuntu 16.04服务器,至少有200MB的磁盘空间用于Moodle代码,并且你需要存储你的内容。 Moodle需要512MB内存,但建议至少1GB以获得最佳性能。
  • 具有sudo权限和防火墙的非root用户,您可以按照Ubuntu 16.04初始服务器设置指南进行设置
  • 按照本教程安装的LAMP(Apache,MySQL和PHP)。 请务必记下您在此过程中设置的根MySQL密码。

第1步 - 安装Moodle和依赖关系

Moodle依赖于几个软件,包括拼写检查库和图形库。 Moodle是一个PHP应用程序,它还有一些额外的PHP库依赖。 在我们安装Moodle之前,让我们使用软件包管理器安装所有必备库。 首先,确保您有最新的软件包列表:

sudo apt-get update

然后安装Moodle的依赖:

sudo 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服务器以加载刚刚安装的模块:

sudo systemctl restart apache2

现在我们准备下载和安装Moodle本身。 我们将使用curl从官方分发服务器下载Moodle。

以下命令将转到Moodle网站,并获取包含整个当前,稳定版本的Moodle的压缩包到moodle.tgz文件moodle.tgz -L标志告诉curl跟踪重定向。

curl -L https://download.moodle.org/download.php/direct/stable32/moodle-latest-32.tgz > moodle.tgz

现在我们可以使用tar程序解压缩文件,并将生成的文件放在web文档根目录中:

sudo tar -xvzf moodle.tgz -C /var/www/html

验证moodle目录是否位于服务器的Web根目录中:

ls /var/www/html

您应该看到moodle目录列出:

index.html  moodle

现在查看moodle目录中的文件:

ls /var/www/html/moodle

您将看到您刚刚下载和解压缩的所有Moodle文件和目录:

admin           composer.json     grade          message                    README.txt
auth            composer.lock     group          mnet                       report
availability    config-dist.php   Gruntfile.js   mod                        repository
backup          config.php        help_ajax.php  my                         rss
badges          CONTRIBUTING.txt  help.php       notes                      search
behat.yml.dist  COPYING.txt       index.php      npm-shrinkwrap.json        tag
blocks          course            install        package.json               tags.txt
blog            dataformat        install.php    phpunit.xml.dist           theme
brokenfile.php  draftfile.php     INSTALL.txt    pix                        TRADEMARK.txt
cache           enrol             iplookup       plagiarism                 user
calendar        error             lang           pluginfile.php             userpix
cohort          file.php          lib            portfolio                  version.php
comment         files             local          PULL_REQUEST_TEMPLATE.txt  webservice
competency      filter            login          question
completion      githash.php       media          rating

现在我们需要在Web根目录之外创建一个Moodle目录,用于存储将存储在服务器上但不存储在数据库中的所有与课程相关的数据。 在Web根目录之外创建此目录更安全,因此无法从浏览器直接访问。 执行此命令:

sudo mkdir /var/moodledata

然后设置其所有权以确保Web服务用户www-data可以访问目录:

sudo chown -R www-data /var/moodledata

然后更改文件夹上的权限,以便只有所有者拥有完全权限:

sudo chmod -R 0770 /var/moodledata

现在你已经在你的服务器上有Moodle,是时候设置它将使用的数据库。

第2步 - 配置数据库

我们需要创建MySQL数据库,Moodle将存储大部分数据。 我们将创建Moodle代码所期望的结构,我们将创建一个Moodle用来连接到数据库的用户。

但首先我们需要对MySQL配置文件进行一些更改,以便我们的MySQL安装与Moodle兼容。 打开MySQL配置文件:

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

然后在“基本设置”区域中添加以下突出显示的行,这些行配置新数据库应使用的存储类型:

mysqld配置
...
[mysqld]
#
# * Basic Settings
#
user            = mysql
pid-file        = /var/run/mysqld/mysqld.pid
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
## Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
...

保存此文件,然后重新启动MySQL服务器以使用新设置重新加载配置。

sudo systemctl restart mysql

现在我们可以创建Moodle数据库了。 为了做到这一点,你将与MySQL命令行界面交互。 执行此命令:

mysql -u root -p

出现提示时,提供您在安装MySQL时设置的root密码。

一旦登录,您将看到mysql>提示符。 运行以下命令创建数据库:

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

然后创建一个Moodle用户,所以我们不必告诉Moodle应用程序我们的root密码是什么。 执行此命令:

注意:在接下来的两个命令中,将moodler替换为您选择的Moodle用户名和moodlerpassword

create user 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';

并授予moodler用户编辑数据库的权限。 此用户将需要创建表和更改权限:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';

现在退出MqSQL命令行界面:

quit;

这需要处理数据库配置。 现在我们可以在浏览器中启动Moodle并继续安装。

第3步 - 在浏览器中配置Moodle

要完成Moodle配置,我们将在Web浏览器中打开该网站,并为其提供一些其他配置详细信息。 为了使Web服务器保存配置,我们需要临时更改Moodle Web根的权限。

警告:
权限打开这个文件夹最多给每个人。 如果你不舒服这样做,只是不要更改权限。 Web界面将为您提供手动修改配置文件的说明。

如果您确实要更改权限,请务必在完成设置后立即撤消此权限。 该步骤包含在本教程中。

sudo chmod -R 777 /var/www/html/moodle

现在打开浏览器并转到http:// your_server_ip /moodle 您将看到如下所示的页面。

初始Moodle安装屏幕

按照以下步骤配置Moodle:

  1. 设置要使用的语言,然后单击下一步
  2. 在下一个屏幕上,将Data Directory设置为/var/moodledata ,然后单击下一步
  3. 在“ 选择数据库驱动程序”页面上,将数据库驱动程序设置为改进的MySQL(本机mysqli) 然后单击下一步
  4. 数据库设置页面上,输入您在第3步中创建的Moodle MySQL用户的用户名和密码。其他字段可以保留原样。 单击下一步继续。
  5. 查看许可协议,然后按继续来确认您同意其条款
  6. 查看“ 服务器检查”页面了解任何可能的问题。 确保底部存在消息“您的服务器环境满足所有最低要求”,然后按继续。
  7. Moodle将安装几个组件,为每个组件显示“成功”消息。 滚动到底部,然后按继续。
  8. 然后,您将看到一个页面,您可以在其中设置Moodle的管理员帐户。
    1. 对于用户名 ,输入任何你想要的,接受默认。
    2. 对于选择身份验证方法 ,请保留默认值。
    3. 对于新密码 ,请输入您要使用的密码。
    4. 对于电子邮件 ,输入您的电子邮件地址。
    5. 将其余字段设置为适当的值。
    6. 单击更新配置文件
  9. 在“ 首页设置”屏幕上,填写完整站点名称网站简短名称 ,设置位置,并选择是否允许通过电子邮件进行自助注册。 然后单击保存更改。

一旦你这样做。 您将被带到您的新Moodle安装的仪表板,以管理员用户身份登录。

现在您的设置完成了,重要的是再次限制对Moodle Web根的权限。 回到您的终端,执行以下命令:

sudo chmod -R 0755 /var/www/html/moodle

让我们做一个小小的改变,以提高Moodle的安全性。 默认情况下,Moodle在/var/moodledata文件夹中创建具有世界可写权限的文件。 让我们通过更改Moodle使用的默认权限来收紧。

在编辑器中打开Moodle配置文件:

sudo nano /var/www/html/moodle/config.php

找到此行:

config.php
$CFG->directorypermissions = 0777;

将其更改为以下内容:

config.php
$CFG->directorypermissions = 0770;

然后保存文件并退出编辑器。

最后,重置/var/moodledata目录本身的权限,因为Moodle已经创建了一些世界上可写的文件夹,并且在安装过程中:

sudo chmod -R 0770 /var/moodledata

现在Moodle已配置,让我们做一些自定义并创建一个测试课程,以获得Moodle Web界面的感觉。

第4步 - 自定义Moodle和创建您的第一个课程

现在你的网站正在运行,你最想做的第一件事之一就是注册你的Moodle网站。 这将订阅您Moodle邮件列表,将保持您最新的事情,如安全警报和新版本。

要注册,请单击左侧框中的“ 站点管理”链接,然后单击注册 然后填写相应的详细信息的Web表单。 您也可以选择发布您的Moodle网站,以便其他人可以找到它。

接下来,让我们更改我们的Moodle网站的主题。 选择“ 站点管理” ,选择“ 外观 ”选项卡,然后选择“ 主题选择器” 您将看到一个如下图所示的页面,表示您当前正在默认设备上使用“Boost”主题,这是指现代网络浏览器:

主题选择器屏幕

点击更改主题按钮,您将转到显示其他可用主题的屏幕。 当您单击主题名称下的使用主题按钮时,您的Moodle网站将使用该主题来显示您的所有网站的内容。 您还可以为不同的设备(如平板电脑或手机)选择不同的主题。

现在你已经让你的Moodle网站更接近你想要的样子,是时候创建你的第一个课程。 从导航菜单中选择Site home 您将看到一个空的课程列表和添加新课程按钮。 单击该按钮以显示如下图所示的窗体:

课程创建屏幕

填写您的课程信息,包括姓名,短名称,说明和任何其他相关详细信息。 然后滚动到底部,单击保存并显示

你的第一个Moodle课程现在准备好了。 您可以使用Moodle的界面开始向课程中添加课程和活动。

但在你开始让人们注册参加你的新课程之前,你应该确保你的Moodle安装准备生产。 对于初学者,您将需要为Apache设置TSL / SSL证书以加密服务器和客户端之间的流量。 为此,请按照Ubuntu 16.04上的教程“ 如何使用Let's Encrypt保护Apache” 为了确保您的数据受到保护,请确保定期备份MySQL数据库 您还应备份服务器上的文件,包括/var/moodledata/文件夹。 本教程如何为您的VPS选择有效的备份策略提供了备份文件的建议。

结论

在本文中,您在Ubuntu 16.04服务器上安装并设置了Moodle。 Moodle是一个强大的和高度可配置的Web应用程序。 请务必查阅Moodle文档,并与Moodle用户和管理员的全球社区联系,了解如何充分利用它。 快乐的调皮!