如何在 Ubuntu 24.04 服务器上安装 Moodle LMS如何在 Ubuntu 24.04 服务器上安装 Moodle LMS如何在 Ubuntu 24.04 服务器上安装 Moodle LMS如何在 Ubuntu 24.04 服务器上安装 Moodle LMS
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Ubuntu 24.04 服务器上安装 Moodle LMS

发表 admin at 2025年2月28日
类别
  • 未分类
标签

本教程适用于这些操作系统版本

  • Ubuntu 24.04(高贵食蚁兽)
  • Ubuntu 22.04(果酱水母)
  • Ubuntu 20.04(焦窝)
  • Ubuntu 16.04(Xenial Xerus)

在此页面上

  1. 先决条件
  2. 安装依赖项
  3. 配置 MariaDB 服务器
  4. 创建数据库和用户
  5. 配置 PHP
  6. 下载Moodle源代码
  7. 设置 Apache 虚拟主机
  8. 使用 UFW 保护 Moodle
  9. 使用 HTTPS 保护 Moodle
  10. 安装Moodle
  11. 结论

Moodle 是一个流行的开源平台,世界各地的教育机构都使用它来创建在线课程、管理内容和促进协作学习。由于 Ubuntu 的稳定性、安全性以及对广泛软件包的支持,在 Ubuntu 上运行 Moodle 是一种常见的选择。该过程涉及安装必要的组件,例如作为 Web 服务器的 Apache 或 Nginx、作为数据库的 MySQL 或 PostgreSQL、以及作为脚本语言的 PHP,所有这些都在 Ubuntu 上得到了良好的支持。这种设置允许机构创建一个强大的、可扩展的、可定制的在线学习环境,可以根据特定的教育需求进行定制。

在本教程中,我们将向您展示如何在 Ubuntu 24.04 服务器上安装 Moodle。您将使用 LAMP Stack 安装 Moodle,然后通过 Certbot 和 Letsencrypt 使用 UFW 和 HTTPS 保护 Moodle。

先决条件

在开始之前,请确保您具备以下条件:

  • Ubuntu 24.04 服务器。
  • 具有管理员权限的非 root 用户。
  • 域名指向服务器IP地址。
  • UFW 防火墙已启动并正在运行。

安装依赖项

Moodle 是一个用 PHP 编写的开源学习平台。要安装 Moodle,您需要 Apache/Nginx、MySQL/MariaDB/PostgreSQL 和 PHP。在本部分中,您将在 Ubuntu 上安装 LAMP Stack(Linux、Apache、MariaDB 和 PHP),并在其上设置 Moodle。

首先,运行以下命令并更新您的 Ubuntu 软件包索引。

sudo apt update

现在执行以下命令来安装 LAMP Stack(Apache、MariaDB 和 PHP)依赖项。输入“Y”确认安装。

sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath libapache2-mod-php

安装完成后,使用以下命令检查Apache服务状态。

sudo systemctl is-enabled apache2
sudo systemctl status apache2

在下面,您可以看到 Apache Web 服务器正在运行。

使用以下命令检查 MariaDB 数据库服务器。您将看到 MariaDB 服务器正在运行。

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

最后,使用以下命令检查 PHP 版本和启用的扩展:

php -v
php -m

您将看到 PHP 8.3 已安装在您的 Ubuntu 服务器上。

配置 MariaDB 服务器

安装依赖项后,您需要将默认的 MariaDB 存储引擎更改为“InnoDB”,这是 Moodle 所需的。这可以通过编辑 MariaDB 服务器配置来完成。然后,您还可以使用“mariadb_secure_installation”实用程序来保护 MariaDB 服务器部署。

使用“nano”编辑器打开 MariaDB 服务器配置文件“/etc/mysql/mariadb.conf.d/50-server.cnf”。

sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

在“[mysqld]”部分下添加以下配置。这会将默认存储引擎更改为“innodb”。

innodb_file_format = Barracuda 
default_storage_engine = innodb
innodb_large_prefix = 1
innodb_file_per_table = 1

保存文件并退出编辑器。

现在运行下面的“systemctl”命令来重新启动 MariaDB 服务器并应用您的更改。

sudo systemctl restart mariadb

最后,运行下面的“mariadb_secure_installation”命令来设置 MariaDB root 用户并保护您的部署。

sudo mariadb_secure_installation

在此过程中,您将被询问以下问题:

  • 对于没有 root 密码的默认 MariaDB 服务器安装,请在询问密码时按 ENTER。
  • 默认情况下,MariaDB root 用户的本地身份验证是安全的,当要求将身份验证方法更改为“unix_socket”时,输入“n”。
  • 输入“Y”创建新的 MariaDB root 密码。然后,输入 MariaDB root 用户的强密码并重复。
  • 当要求禁用 MariaDB root 用户的远程身份验证时,输入“Y”表示同意。
  • 默认的 MariaDB 服务器安装附带数据库“test”,并允许匿名用户访问它。对于这两个设置都输入“Y”,以删除默认数据库“test”并删除匿名权限。
  • 最后,输入“Y”以确认重新加载表权限。

创建数据库和用户

现在您已经配置了 MariaDB 服务器,让我们通过“mariadb”客户端创建一个新的数据库和用户。

使用下面的“mariadb”客户端命令登录到 MariaDB 服务器。出现提示时输入您的 MariaDB root 密码。

sudo mariadb -u root -p

现在运行以下查询来创建新数据库“moodle”、用户“moodle”,并确保使用您的信息更改密码。

CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";
FLUSH PRIVILEGES;
QUIT

配置 PHP

在本节中,您将编辑 PHP 配置“php.ini”并更改 Moodle 所需的一些默认值。

使用“nano”编辑器打开 PHP 配置“/etc/php/8.3/apache2/php.ini”。

sudo nano /etc/php/8.3/apache2/php.ini

使用以下内容更改默认配置。请务必根据您的信息调整“memory_limit”和“date_timezone”选项。

memory_limit = 256M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
max_input_vars = 5000

完成后,保存文件并退出。

最后,运行以下命令重新启动 Apache Web 服务器并将更改应用到 PHP。

sudo systemctl restart apache2

下载Moodle源代码

至此,您已经安装并配置了 LAMP 堆栈。让我们下载Moodle源代码并配置Moodle安装目录。

转至“/var/www”目录并使用“wget”命令下载 Moodle 源代码。请务必访问 Moodle 下载页面以获取最新版本的链接。在这种情况下,您将下载最新的稳定版 Moodle 40.4。

cd /var/www
wget https://download.moodle.org/download.php/direct/stable404/moodle-latest-404.tgz

下载 Moodle 后,使用下面的“tar”命令将其解压。 Moodle 源代码位于“/var/www/moodle” 目录中。

tar xvf moodle-latest-404.tgz

最后,执行以下命令创建一个新的数据目录“/var/www/moodledata”,将Moodle目录的所有权更改为“www-data”用户,然后确保用户“www-data”可以写入 Moodle 和数据目录。

sudo mkdir -p /var/www/moodledata
sudo chown -R www-data:www-data /var/www/moodle /var/www/moodledata
sudo chmod u+rwx /var/www/moodle /var/www/moodledata

设置 Apache 虚拟主机

下载 Moodle 后,您将创建一个新的 Apache 虚拟主机文件来运行 Moodle。因此,请确保您已准备好域名并解析为您的 Ubuntu 服务器 IP 地址。

首先,运行下面的“a2enmod”命令来激活“rewrite”模块。

sudo a2enmod rewrite

使用以下“nano”编辑器创建新的 Apache 虚拟主机文件“/etc/apache2/sites-available/moodle.conf”。

sudo nano /etc/apache2/sites-available/moodle.conf

插入以下配置并确保使用您的信息更改域名。

<VirtualHost *:80>
 DocumentRoot /var/www/moodle/
 ServerName moodle.howtoforge.local
 ServerAdmin [email 
 
 <Directory /var/www/moodle/>
 Options +FollowSymlinks
 AllowOverride All
 Require all granted
 </Directory>
 ErrorLog /var/log/apache2/moodle_error.log
 CustomLog /var/log/apache2/moodle_access.log combined
</VirtualHost>

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

现在执行以下命令以启用“moodle.conf”文件并验证您的 Apache 语法。如果您的 Apache 语法正确,您将看到输出“语法正确”。

sudo a2ensite moodle.conf
sudo apachectl configtest

最后,运行下面的“systemctl”命令来重新启动 Apache 并应用您的更改。

sudo systemctl restart apache2

使用 UFW 保护 Moodle

在此步骤中,您将通过 UFW(简单防火墙)打开 HTTP 和 HTTPS 协议。开始之前请确保 UFW 正在运行。

运行以下命令以在 UFW 上启用“Apache Full”配置文件。这样,HTTP 和 HTTPS 流量将被允许。

sudo ufw allow 'Apache Full'

现在使用以下内容检查 UFW 上启用的规则列表。您将看到“Apache Full”配置文件已启用。

sudo ufw status

使用 HTTPS 保护 Moodle

除了防火墙之外,您还将生成 SSL/TLS 证书并使用 HTTPS 保护 Moodle。在本部分中,您将通过 Certbot 和 Letsencrypt 为 Moodle 实现 HTTPS。如果您在本地安装 Moodle,请跳过此步骤。

使用以下命令安装“certbot”和“python3-certbot-apache”软件包。

sudo apt install certbot python3-certbot-apache -y

安装完成后,执行下面的“certbot”命令为Moodle生成SSL/TLS证书。请务必使用您的信息更改域名和电子邮件地址。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email  -d moodle.howtoforge.local

该过程完成后,您的 SSL 证书将在“/etc/letsencrypt/live/domain.com”目录中可用,并且您的 Moodle 安装应自动使用 HTTPS 进行保护。

安装Moodle

访问您的 Moodle 域名,例如 https://moodle.howtoforge.local/,您将看到安装向导。

选择您的默认语言,然后单击下一步。

输入 Moodle 的数据目录“/var/www/moodledata”。

选择 MariaDB 作为数据库驱动程序。

输入您的 MariaDB 数据库和用户的详细信息。

单击继续以确认版权声明。

在服务器检查部分,确保您的环境已准备就绪。

现在 Moodle 安装将被处理。

安装完成后,输入新的 Moodle 管理员用户、电子邮件和密码。

现在您将看到如下所示的 Moodle 仪表板:

结论

恭喜!您已在 Ubuntu 24.04 服务器上完成了 Moodle 的安装。您已使用 LAMP Stack(Linux、Apache、MariaDB 和 PHP)在 Ubuntu 上安装了 Moodle 40.4,并通过 Certbot 和 Letsencrypt 使用 UFW(简单防火墙)和 HTTPS 保护 Moodle。

©2015-2025 Norria support@norria.com