如何使用 Nginx 在 Ubuntu 20.04 上安装 Moodle

 在 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_userdb_password

GRANT ALL ON dbname.* TO 'db_user'@'localhost' IDENTIFIED BY 'db_password' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
create-MariaDB-Database-for-Moodle
为 Moodle 创建 MariaDB 数据库

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

Choose-Moodle-Setup-Language
在 Ubuntu 20.04 上选择 Moodle 安装语言

在下一步中,安装程序将显示用于访问 Moodle 界面的目录和 Web 地址。单击“下一步”按钮。

Setting-up-Moodle-web-directory
设置 Moodle Web 目录

选择数据库驱动程序。在本教程中,我们在 Ubuntu 20.04 for Moodle 上使用了 MariaDB,因此从下拉框中选择它的驱动程序。

Choose-the-Database-Driver-mariaDB
选择数据库驱动程序 MariaDB

在此步骤中,安装程序将要求提供数据库的详细信息,例如数据库名称、用户和密码。提供它们,然后单击“下一步”。

Add-MariaDB-Database-details-Moodle
为 Moodle 添加 MariaDB 数据库详细信息

要遵守 GNU 许可证条款和条件,请单击“继续”按钮。

Accept-Modular-Object-Oriented-Dynamic-Learning-Environment-terms-and-conditions
接受模块化面向对象的动态学习环境条款和条件

Moodle 的安装向导将检查 Ubuntu 20.04 上的所有要求,无论它们是否已满足以运行 LMS。

Check-all-moodle-server-environment-requirments
检查所有 Moodle 服务器环境要求

在此步骤中,系统将自动安装所需的 Moodle 模块。完成后,单击“继续”按钮。

Modules-installation
模块安装

要稍后登录,您需要创建一个管理员帐户。添加详细信息,例如要使用的用户名和密码。

Create-Admin-user-for-Ubuntu-20.04-running-Moodle
为运行 Moodle 的 Ubuntu 20.04 创建管理员用户

添加要为 Moodle 网站提供的名称,以及描述您的组织或机构的学习管理用途使用情况的摘要。

Site-Home-Settings-or-Name
站点主页设置或名称

8. Moodle 接口和后端

最后,您将拥有 Moodle 的前端来管理您机构的课程和其他项目。

Installing-Moodle-on-Ubuntu-20.04-LTS

后端或站点管理将如下所示。

Moodle-Site-Administration-Interface-or-Backend

这是在 Nginx Web 服务器、PHP 和 MariaDB 的帮助下在 Ubuntu 20.04 上从 Moodle 开始的详细教程。

常见问题

Moodle 是做什么用的?

Moodle是一个基于PHP的学习管理系统,用于为学生创建一个在线学习平台。教师可以创建在线课程并跟踪学生的进度。

Moodle 是什么意思?

Moodle 代表学校和其他教育组织使用的模块化面向对象的动态学习环境。

我可以免费使用 Moodle 吗?

是的,Moodle 是一个开源 LMS 平台,因此小型到大型教育机构或组织都可以免费使用。它是在 GNU 通用公共许可证下分发的,

Moodle 比 Google Classroom 好吗?

是的,在 LMS 平台方面,Google Classroom 不是一个成熟的 LMS,因此 Moodle 比 Google Classroom 更好,因为它具有广泛的功能和灵活的界面。

我可以将Moodle用作网站吗?

是的,如果您想托管网页,那么最终可能会作为您组织的网站。

任何用户都可以在 Moodle 上创建课程吗?

不可以,只有管理员、课程创建者或管理员权限用户才能在您安装的 Moodle 平台上创建课程。

原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/Yun289964.html

(0)
打赏 微信扫一扫不于多少! 微信扫一扫不于多少! 支付宝扫一扫礼轻情意重 支付宝扫一扫礼轻情意重
上一篇 2024年3月17日 下午8:34
下一篇 2024年3月17日 下午8:40

相关推荐