Moodle是一个流行的,开源的基于Web的学习管理系统(LMS),任何人都可以免费安装和使用。通过Moodle,您可以为学习者群体创建和提供课程,阅读和讨论板等学习资源。Moodle还允许您管理用户角色,因此学生和教师可以拥有不同级别的材料访问权限。在Web服务器上安装Moodle后,任何有权访问您网站的人都可以创建并参与基于浏览器的学习。
在本教程中,您将在Ubuntu 16.04服务器上安装和设置Moodle。您将安装和配置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
文件中。该-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
列出的目录:
Outputindex.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,现在是时候设置它将使用的数据库了。
我们需要创建MySQL数据库,Moodle将存储其大部分数据。我们将创建Moodle代码所期望的结构,并且我们将创建一个Moodle将用于连接到数据库的用户。
但首先我们需要对MySQL配置文件进行一些更改,以便我们的MySQL安装与Moodle兼容。打开MySQL配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
然后将以下突出显示的行添加到“基本设置”区域,该区域配置新数据库应使用的存储类型:
...
[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并继续在那里进行设置。
要完成Moodle的配置,我们将在Web浏览器中显示该站点,并为其提供一些其他配置详细信息。为了使Web服务器保存配置,我们需要临时更改Moodle Web根目录的权限。
警告: 权限最多可以打开此文件夹。如果您对此感到不满意,只需不要更改权限。Web界面将提供手动修改配置文件的说明。
如果您确实更改了权限,则在完成设置后立即撤消此权限非常重要。该步骤包含在本教程中。
sudo chmod -R 777 /var/www/html/moodle
现在打开浏览器然后转到http://your_server_ip/moodle
。您将看到如下页面。
请按照以下步骤配置Moodle:
/var/moodledata
,然后单击Next。一旦你完成了这个。您将被带到新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
找到这一行:
$CFG->directorypermissions = 0777;
将其更改为以下内容:
$CFG->directorypermissions = 0770;
然后保存文件并退出编辑器。
最后,重置/var/moodledata
目录本身的权限,因为Moodle已经创建了一些世界可写文件夹并且在安装过程中:
sudo chmod -R 0770 /var/moodledata
现在配置了Moodle,让我们进行一些自定义并创建一个测试课程,以了解Moodle Web界面。
现在您的网站正在运行,您当晚要做的第一件事就是注册您的Moodle网站。这将订阅Moodle邮件列表,让您及时了解安全警报和新版本等内容。
要注册,请单击左侧框中的“ 站点管理”链接,然后单击“ 注册”。然后使用适当的详细信息填写Web表单。您也可以选择发布您的Moodle网站,以便其他人可以找到它。
接下来,让我们改变Moodle网站的主题。选择网站管理,选择外观选项卡,然后选择主题选择。您将看到如下图所示的页面,表示您当前正在使用默认设备上的“Boost”主题,该主题指的是现代Web浏览器:
单击“ 更改主题”按钮,您将进入显示其他可用主题的屏幕。当您单击主题名称下的使用主题按钮时,您的Moodle网站将使用该主题显示您网站的所有内容。您还可以为平板电脑或手机等不同设备选择不同的主题。
既然你已经让你的Moodle网站更接近你想要它的样子了,那么现在是时候创建你的第一道菜了。从导航菜单中选择Site home。您将看到一个空的课程列表和一个添加新课程按钮。单击该按钮可显示如下图所示的表单:
填写有关课程的信息,包括姓名,简称,说明和任何其他相关详细信息。然后滚动到底部并单击“ 保存并显示”。
你的第一个Moodle课程现在准备好了。您可以使用Moodle的界面开始在课程项里添加课程和活动。
但在您开始让人们注册参加新课程之前,您应确保您的Moodle安装已准备好投入生产。首先,您需要为Apache设置TSL / SSL证书,以加密服务器和客户端之间的流量。为确保您的数据受到保护,请确保定期备份MySQL数据库。您还应该备份服务器上的文件,包括/var/moodledata/
文件夹。
在本文中,您在Ubuntu 16.04服务器上安装并设置了Moodle。Moodle是一个强大且高度可配置的Web应用程序。请务必查阅Moodle文档,并与Moodle用户和管理员的全球社区联系,以获取有关如何充分利用它的想法。
想要了解更多关于Ubuntu的开源信息教程,请前往腾讯云+社区学习更多知识。
参考文献:《How To Install Moodle on Ubuntu 16.04》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。