在 Ubuntu 上逐步安装 Moodle 服务器 20.04
在本指南中,我们将在带有 LEMP 堆栈的 Ubuntu 20.04 LTS 上安装 Moodle 服务器 – Linux、Nginx Web 服务器、MySQL 或 MariaDB 和 PHP。
此外,要从这个 LMS 平台开始,我们需要 5GB 的空间、2 GHz 双核 CPU 和 1GB RAM,而 8GB RAM 用于生产用途。
1. 更新 Ubuntu 20.04
首先更新系统以安装最新的可用更新并刷新 APT 软件包索引缓存。
sudo apt update
2. 安装 Nginx 和 PHP
让我们安装 Nginx Web 服务器,我们需要它来提供文件和 PHP 编程语言来运行 Moodle,因为它是在其中开发的。
sudo apt install nginx-full
3. 在 Ubuntu 上设置 PHP 8.x 20.04
通过 Ubuntu 的默认存储库提供的 PHP 版本是 7.4,但是,这里我们正在安装 PHP 8.0,以便将来的 Moodle 版本不会产生问题。
但是,对于最新版本的 PHP,我们需要添加一个额外的存储库。
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
安装 PHP 8.0 和扩展:
sudo apt install php8.0 php8.0-{fpm,common,mbstring,xmlrpc,soap,gd,xml,intl,mysql,cli,mcrypt,ldap,zip,curl}
要检查版本,请执行以下操作:
php -v
现在,编辑文件以更改某些值。php.ini
sudo nano /etc/php/8.0/fpm/php.ini
注意:如果您使用的是PHP的默认版本或任何其他版本,请使用上述命令中的版本更改8.0。
找到以下行并更改其值,如下所示:
memory_limit = 256M
upload_max_filesize = 64M
max_execution_time = 360
//也不要忘记去掉
max_input_vars.max_input_vars = 5000 前面的分号 (;)
将 America/Chicago 替换为您的时区,如果您不知道它以及如何使用它,那么您可以在此处找到该值。
进行更改后,按 Ctrl+O 保存文件,按 输入 键,然后退出 Ctrl+X。
现在,重新启动 eh PHP-FPM 过程以反映您对 php.ini 文件所做的更改:
sudo service php8.0-fpm restart
注意:如果与我们在本教程中使用的版本不同,请使用您正在使用的 PHP 版本更改 8.0。
4. 创建 Moodle 数据库 (MariaDB)
我们可以安装MySQL,但是,这里我们使用的是MariaDB(fork),这是最好的开源数据库服务器之一。它可以使用 Ubuntu 20.04 的默认系统存储库进行安装。因此,只需运行给定的命令:
sudo apt install mariadb-server
通过设置根数据库用户密码和删除匿名权限来保护数据库服务器。
sudo mysql_secure_installation
以下是设置将提出的问题。
#press Enter 键 Enter current
password for root (enter for none):
#Press Y 并键入要设置的密码两次。
设置root密码?[是/否]Y
删除匿名用户?[是/否]Y
禁止 root 远程登录?[是/否]Y
删除测试数据库并访问它?[是/否]Y
现在重新加载权限表?[是/否]Y
为 Moodle 创建数据库和用户
安装完成后,让我们创建一个专用数据库供 Moodle 使用和保存数据。
登录数据库服务器 CLI:
#Use 您在上一步中为其设置的密码。
sudo mysql -u root -p
创建数据库:
CREATE DATABASE dbname;
#将 dbname name 替换为要使用的任何名称:
CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'db_password';
#Repalce 要使用的db_user和db_password。
GRANT ALL ON dbname.* TO 'db_user'@'localhost' IDENTIFIED BY 'db_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
5. 在 Ubuntu 上安装 Moodle 20.04
Moodle不是我们可以使用APT包管理器安装的包,相反,我们必须手动下载它。最新版本可在官方网站上找到。 您可以使用浏览器直接从那里下载它,也可以通过版本 4.0.4 的给定命令下载它。
cd ~/Downloads
下载
wget https://download.moodle.org/download.php/stable400/moodle-4.0.4.tgz
解压缩下载的文件:
tar -zxvf moodle-*tgz
将解压缩的文件夹移动到 Web 根目录:
sudo mv moodle /var/www/html/
创建一个数据目录来存储 Moodle 上传的文件和文件夹。
sudo mkdir /var/www/html/moodledata
但是,此创建的目录不得公开访问,因此也要更改其权限。
sudo chown www-data /var/www/html/moodledata
除此之外,我们还需要为移动的 Moodle 文件设置权限,以便 Web 服务器可以访问它。
sudo chown -R www-data:www-data /var/www/html/moodle/
sudo chmod -R 755 /var/www/html/moodle/
6. 为 Moodle 创建一个 Nginx 服务器块
最好为您在 Nginx 服务器上运行的每个网站创建一个单独的服务器配置文件。它可以帮助用户在同一 Ubuntu 20.04 服务器上为多个根域或子域运行多个网站。
sudo nano /etc/nginx/sites-available/moodle.conf
粘贴以下行:
注意:将 yourdomain.com 替换为要用于访问 Moodle 的域。另外,如果您使用其他 .php8.0
server {
listen 80;
listen [::]:80;
root /var/www/html/moodle;
index index.php index.html index.htm;
server_name yourdomain.com www.yourdomain.com;
location / {
try_files $uri $uri/ =404;
}
location ~ [^/]\.php(/|$) {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
按 Ctrl+O 保存文件,按 Enter 键,然后使用 Ctrl+X 退出。
为 Nginx 启用 Created Moodle 服务器配置块:
sudo ln -s /etc/nginx/sites-available/moodle.conf /etc/nginx/sites-enabled/
检查配置中是否有错误:
sudo nginx -t
输出必须没有任何错误:
重启 Nginx 服务器:
sudo systemctl restart nginx
7. 在 Ubuntu 20.04 上设置 Moodle
完成本教程的所有上述步骤后,打开可以访问您在 Moodle Nginx 配置文件中使用的域的浏览器。
例如——http://your-domain.com
在下一步中,安装程序将显示用于访问 Moodle 界面的目录和 Web 地址。单击“下一步”按钮。
选择数据库驱动程序。在本教程中,我们在 Ubuntu 20.04 for Moodle 上使用了 MariaDB,因此从下拉框中选择它的驱动程序。
在此步骤中,安装程序将要求提供数据库的详细信息,例如数据库名称、用户和密码。提供它们,然后单击“下一步”。
要遵守 GNU 许可证条款和条件,请单击“继续”按钮。
Moodle 的安装向导将检查 Ubuntu 20.04 上的所有要求,无论它们是否已满足以运行 LMS。
在此步骤中,系统将自动安装所需的 Moodle 模块。完成后,单击“继续”按钮。
要稍后登录,您需要创建一个管理员帐户。添加详细信息,例如要使用的用户名和密码。
添加要为 Moodle 网站提供的名称,以及描述您的组织或机构的学习管理用途使用情况的摘要。
8. Moodle 接口和后端
最后,您将拥有 Moodle 的前端来管理您机构的课程和其他项目。
后端或站点管理将如下所示。
这是在 Nginx Web 服务器、PHP 和 MariaDB 的帮助下在 Ubuntu 20.04 上从 Moodle 开始的详细教程。
常见问题
Moodle是一个基于PHP的学习管理系统,用于为学生创建一个在线学习平台。教师可以创建在线课程并跟踪学生的进度。
Moodle 代表学校和其他教育组织使用的模块化面向对象的动态学习环境。
是的,Moodle 是一个开源 LMS 平台,因此小型到大型教育机构或组织都可以免费使用。它是在 GNU 通用公共许可证下分发的,
是的,在 LMS 平台方面,Google Classroom 不是一个成熟的 LMS,因此 Moodle 比 Google Classroom 更好,因为它具有广泛的功能和灵活的界面。
是的,如果您想托管网页,那么最终可能会作为您组织的网站。
不可以,只有管理员、课程创建者或管理员权限用户才能在您安装的 Moodle 平台上创建课程。