Установка Moodle · 7 min read · Nov 02, 2025
Как установить Moodle LMS на сервере Ubuntu 24.04

Moodle — это популярная платформа с открытым исходным кодом, используемая образовательными учреждениями по всему миру для создания онлайн-курсов, управления контентом и содействия совместному обучению. Запуск Moodle на Ubuntu является распространенным выбором благодаря стабильности, безопасности и поддержке широкого спектра программных пакетов. Процесс включает установку необходимых компонентов, таких как Apache или Nginx в качестве веб-сервера, MySQL или PostgreSQL в качестве базы данных и PHP в качестве языка сценариев, все из которых хорошо поддерживаются на Ubuntu. Эта настройка позволяет учреждениям создавать надежную, масштабируемую и настраиваемую онлайн-среду обучения, которая может быть адаптирована к конкретным образовательным потребностям.
В этом руководстве мы покажем вам, как установить Moodle на сервере Ubuntu 24.04. Вы будете устанавливать Moodle с помощью стека LAMP, а затем защищать Moodle с помощью UFW и HTTPS через Certbot и Letsencrypt.
Предварительные требования
Перед тем как начать, убедитесь, что у вас есть следующее:
- Сервер Ubuntu 24.04.
- Пользователь без прав root с правами администратора.
- Доменное имя, указывающее на IP-адрес сервера.
- Брандмауэр UFW запущен и работает.
Установка зависимостей
Moodle — это платформа для обучения с открытым исходным кодом, написанная на PHP. Чтобы установить Moodle, вам нужны Apache/Nginx, MySQL/MariaDB/PostgreSQL и PHP. В этом разделе вы установите стек LAMP (Linux, Apache, MariaDB и PHP) на Ubuntu и настроите Moodle на его основе.
Для начала выполните следующую команду и обновите индекс пакетов Ubuntu.
sudo apt update
Теперь выполните команду ниже, чтобы установить зависимости стека LAMP (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 работает.

Проверьте сервер базы данных 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 с помощью утилиты ‘mariadb_secure_installation‘.
Откройте файл конфигурации сервера MariaDB ‘/etc/mysql/mariadb.conf.d/50-server.cnf‘ с помощью редактора ‘nano’.
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‘ ниже, чтобы настроить пользователя root MariaDB и защитить ваше развертывание.
sudo mariadb_secure_installationВ процессе вам будет предложено следующее:
- Для установки сервера MariaDB по умолчанию без пароля root нажмите ENTER, когда вас спросят о пароле.
- Локальная аутентификация для пользователей root MariaDB по умолчанию защищена, введите ‘n’, когда вас спросят о смене метода аутентификации на ‘unix_socket’.
- Введите ‘Y’, чтобы создать новый пароль root MariaDB. Затем введите надежный пароль для вашего пользователя root MariaDB и повторите его.
- Когда вас спросят о том, чтобы отключить удаленную аутентификацию для пользователя root MariaDB, введите ‘Y’, чтобы согласиться.
- Установка сервера MariaDB по умолчанию включает базу данных ‘test’ и позволяет анонимному пользователю получить к ней доступ. Введите ‘Y’ для обоих параметров, чтобы удалить базу данных по умолчанию ‘test’ и удалить анонимные привилегии.
- Наконец, введите ‘Y’, чтобы подтвердить перезагрузку привилегий таблиц.
Создание базы данных и пользователя
Теперь, когда вы настроили сервер MariaDB, давайте создадим новую базу данных и пользователя через клиент ‘mariadb’.
Войдите в сервер MariaDB с помощью команды клиента ‘mariadb‘ ниже. Введите свой пароль root MariaDB, когда вас попросят.
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.
Откройте конфигурацию PHP ‘/etc/php/8.3/apache2/php.ini‘ с помощью редактора ‘nano‘.
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 и применить ваши изменения к PHP.
sudo systemctl restart apache2Загрузка исходного кода Moodle
На этом этапе вы установили и настроили стек LAMP. Давайте загрузим исходный код Moodle и настроим каталог установки Moodle.
Перейдите в каталог ‘/var/www‘ и загрузите исходный код Moodle с помощью команды ‘wget‘. Убедитесь, что вы посетили страницу загрузки 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‘ и убедиться, что оба каталога Moodle и данных доступны для записи пользователем ‘www-data‘.
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. Убедитесь, что у вас есть ваш домен, готовый и разрешенный на IP-адрес вашего сервера Ubuntu.
Сначала выполните команду ‘a2enmod‘ ниже, чтобы активировать модуль ‘rewrite‘.
sudo a2enmod rewriteСоздайте новый файл виртуального хоста Apache ‘/etc/apache2/sites-available/moodle.conf‘ с помощью редактора ‘nano‘.
sudo nano /etc/apache2/sites-available/moodle.confВставьте следующую конфигурацию и убедитесь, что вы изменили имя домена на свою информацию.
DocumentRoot /var/www/moodle/
ServerName moodle.howtoforge.local
ServerAdmin [email protected]
Options +FollowSymlinks
AllowOverride All
Require all granted
ErrorLog /var/log/apache2/moodle_error.log
CustomLog /var/log/apache2/moodle_access.log combined
Сохраните файл и выйдите из редактора, когда закончите.
Теперь выполните следующую команду, чтобы включить файл ‘moodle.conf‘ и проверить синтаксис Apache. Если у вас правильный синтаксис Apache, вы увидите вывод ‘Синтаксис в порядке‘.
sudo a2ensite moodle.conf
sudo apachectl configtestНаконец, выполните команду ‘systemctl‘ ниже, чтобы перезапустить Apache и применить ваши изменения.
sudo systemctl restart apache2Защита Moodle с помощью UFW
На этом этапе вы откроете протоколы HTTP и HTTPS через UFW (Uncomplicated Firewall). Убедитесь, что UFW работает, прежде чем начинать.
Выполните команду ниже, чтобы включить профиль ‘Apache Full‘ на UFW. С этим HTTP и HTTPS трафик будет разрешен.
sudo ufw allow 'Apache Full'Теперь проверьте список включенных правил на UFW с помощью следующей команды. Вы увидите, что профиль ‘Apache Full‘ включен.
sudo ufw statusЗащита Moodle с помощью HTTPS
В дополнение к брандмауэру вы также создадите сертификаты SSL/TLS и защитите Moodle с помощью HTTPS. В этом разделе вы реализуете HTTPS для Moodle через Certbot и Letsencrypt. Если вы устанавливаете Moodle локально, пропустите это.
Установите пакеты ‘certbot‘ и ‘python3-certbot-apache‘ с помощью следующей команды.
sudo apt install certbot python3-certbot-apache -yПосле завершения установки выполните команду ‘certbot‘ ниже, чтобы сгенерировать сертификаты SSL/TLS для Moodle. Убедитесь, что вы изменили имя домена и адрес электронной почты на свою информацию.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -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, как показано ниже:

Заключение
Поздравляем! Вы завершили установку Moodle на сервере Ubuntu 24.04. Вы установили Moodle 40.4 на Ubuntu с помощью стека LAMP (Linux, Apache, MariaDB и PHP) и защитили Moodle с помощью UFW (Uncomplicated Firewall) и HTTPS через Certbot и Letsencrypt.
Get new posts in your inbox
No spam. Unsubscribe anytime.