Установка 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

установить стек lamp

После завершения установки проверьте статус службы Apache с помощью команды ниже.

sudo systemctl is-enabled apache2  
sudo systemctl status apache2

В следующем вы можете увидеть, что веб-сервер Apache работает.

проверить apache2

Проверьте сервер базы данных MariaDB с помощью следующей команды. Вы увидите, что сервер MariaDB работает.

sudo systemctl is-enabled mariadb  
sudo systemctl status mariadb

проверить mariadb

Наконец, проверьте версию PHP и включенные расширения с помощью следующей команды:

php -v  
php -m

Вы увидите, что PHP 8.3 установлен на вашем сервере Ubuntu.

проверить php

Настройка сервера 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‘.

данные moodle

Выберите MariaDB в качестве драйвера базы данных.

драйвер базы данных

Введите данные вашей базы данных MariaDB и пользователя.

база данных

Нажмите Продолжить, чтобы подтвердить уведомление о авторских правах.

уведомления об авторских правах

В разделе проверки сервера убедитесь, что ваша среда готова.

проверки системы

Теперь установка Moodle будет обработана.

установка

После завершения установки введите нового пользователя администратора, адрес электронной почты и пароль для Moodle.

настройка администратора

Теперь вы увидите панель управления Moodle, как показано ниже:

панель управления moodle

Заключение

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

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.