Установка Moodle · 8 min read · Sep 08, 2025
Как установить Moodle LMS на сервер Debian 12

Moodle — это открытое решение для системы управления обучением (LMS). Это платформа для образовательных целей, от создания онлайн-курсов, управления онлайн-школами, управления контентом и предложения совместного обучения. Moodle в основном написан на PHP с MySQL/MariaDB в качестве базы данных и может работать на любой операционной системе. Вы можете выбрать между Apache или Nginx для установки Moodle.
В этом руководстве вы узнаете, как установить систему управления обучением Moodle на сервер Debian 12. Вы запустите Moodle с LAMP Stack (Linux, Apache, MariaDB и PHP), защитите свой сервер Debian с помощью UFW (Uncomplicated Firewall), а затем защитите Moodle с помощью HTTP через Certbot и Letsencrypt.
Предварительные условия
Убедитесь, что у вас есть следующее перед началом:
- Сервер Debian 12
- Непривилегированный пользователь с правами администратора
- Доменное имя, указывающее на IP-адрес сервера
Установка зависимостей
Система управления обучением Moodle написана на PHP и MySQL, поэтому вам необходимо установить эти пакеты на вашу систему. В этом примере вы будете запускать Moodle с LAMP Stack (Linux, Apache, MariaDB и PHP). Поэтому сейчас вы будете устанавливать LAMP на своем сервере Debian.
Перед установкой любого пакета выполните команду ниже, чтобы обновить индекс пакетов Debian.
sudo apt update
Теперь установите зависимости LAMP Stack (Linux, 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
После завершения установки проверьте службу ‘apache2’, чтобы убедиться, что служба работает.
sudo systemctl is-enabled apache2
sudo systemctl status apache2Вы можете увидеть ниже, что веб-сервер Apache работает и включен.

Теперь проверьте службу ‘mariadb’, выполнив следующую команду.
sudo systemctl is-enabled mariadb
sudo systemctl status mariadbВ выводе ниже вы можете увидеть, что сервер MariaDB работает.

Наконец, проверьте версию PHP и список включенных модулей, используя команду ниже.
php -v
php -mВы увидите, что установлены PHP 8.2 с некоторыми включенными модулями по умолчанию, такими как ‘curl’, ‘exif’ и ‘date’.

Установка UFW (Uncomplicated Firewall)
После установки LAMP Stack давайте установим UFW (Uncomplicated Firewall), чтобы защитить сервер. Затем откройте порты для протоколов SSH, HTTP и HTTPS. Наконец, давайте запустим и включим UFW.
Чтобы установить UFW, выполните команду ‘apt’ ниже.
sudo apt install ufw
После установки UFW выполните команду ‘ufw’ ниже, чтобы открыть порты для OpenSSH, HTTP (80) и HTTPS (443). Вы увидите вывод, например, ‘Правила обновлены’.
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcpТеперь выполните команду ниже, чтобы запустить и включить UFW на вашем Debian-машине. Когда будет предложено, введите ‘y’, чтобы подтвердить и продолжить. Вы увидите вывод ‘Брандмауэр активен и включен при запуске системы’.
sudo ufw enableНаконец, проверьте статус UFW с помощью команды ниже. Вы увидите, что UFW ‘активен’ с OpenSSH, а порты ‘80’ и ‘443’ ‘ РАЗРЕШЕНЫ ‘.
sudo ufw status
Настройка сервера MariaDB
Перед установкой Moodle вам необходимо изменить движок хранения по умолчанию на ‘innodb’ и установить ‘Barracuda’ в качестве формата по умолчанию. После этого вам также необходимо защитить сервер MariaDB и установить пароль для ‘root’ с помощью утилиты ‘mariadb-secure-installation’.
Откройте конфигурацию сервера MariaDB по умолчанию ‘/etc/mysql/mariadb.conf.d/50-server.cnf’ с помощью редактора ‘nano’.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfВставьте конфигурацию ниже, чтобы включить формат ‘Barracuda’ и установить движок хранения по умолчанию на ‘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.
sudo mariadb-secure-installationС помощью этого вам будет предложено ответить на вопросы о конфигурации сервера MariaDB:
- Нажмите ENTER, когда вас спросят о пароле root (вы настроите его позже)
- Введите ‘n’, когда вас спросят о переключении на аутентификацию ‘unix_socket’
- Введите ‘Y’, чтобы установить пароль для root MariaDB, затем введите ваш новый пароль и повторите
- Введите ‘Y’, чтобы удалить анонимного пользователя из MariaDB
- Введите ‘Y’ снова, чтобы отключить удаленный вход для пользователя root
- Введите ‘Y’, чтобы удалить базу данных по умолчанию ‘test’ и ее привилегии
- Введите ‘Y’, чтобы перезагрузить привилегии таблиц и применить ваши изменения
После завершения перейдите к следующему шагу, чтобы создать новую базу данных и пользователя.
Создание базы данных и пользователя для Moodle
С настроенным сервером MariaDB давайте теперь создадим новую базу данных и пользователя, которые будут использоваться Moodle. Вы будете использовать клиент ‘mariadb’, чтобы войти в MariaDB и создать новую базу данных и пользователя.
Войдите в сервер MariaDB с помощью команды ‘mariadb’ ниже. Введите свой пароль root MariaDB, когда будет предложено.
sudo mariadb -u root -pВыполните следующие запросы, чтобы создать новую базу данных и пользователя ‘moodle’ с паролем ‘MoodlePassw0rd’. Убедитесь, что вы изменили следующие учетные данные базы данных на свои.
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON moodle.* TO 'moodle'@'localhost' IDENTIFIED BY "MoodlePassw0rd";
FLUSH PRIVILEGES;
Теперь выполните запрос ниже, чтобы проверить пользователя ‘moodle’. Убедитесь, что пользователь ‘moodle’ может получить доступ к базе данных ‘moodle’.
SHOW GRANTS FOR moodle@localhost;Наконец, введите ‘QUIT’, чтобы выйти из сервера MariaDB.

Настройка PHP
Теперь, когда вы настроили сервер MariaDB и создали нового пользователя базы данных, давайте настроим файл ‘php.ini’ и изменим некоторые настройки по умолчанию, необходимые для Moodle.
Откройте файл ‘php.ini’ с помощью редактора ‘nano’.
sudo nano /etc/php/8.2/apache2/php.iniИзмените конфигурацию PHP по умолчанию следующим образом. Вы можете изменить ‘memory_limit’ в зависимости от памяти вашего сервера.
memory_limit = 256M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
max_input_vars = 5000Когда закончите, сохраните файл и выйдите из редактора.
Наконец, выполните команду ‘systemctl’ ниже, чтобы перезапустить веб-сервер ‘apache2’ и применить вашу новую конфигурацию PHP.
sudo systemctl restart apache2Загрузка исходного кода Moodle
После настройки PHP вы готовы загрузить исходный код Moodle, затем настроить каталог установки и каталог ‘data’ для Moodle. В этом примере вы настроите каталог установки Moodle на ‘/var/www/moodle’ и каталог ‘data’ на ‘/var/www/moodledata’.
Перейдите в каталог ‘/var/www’ и загрузите исходный код Moodle с помощью команды ‘wget’ ниже.
cd /var/www
sudo wget https://download.moodle.org/download.php/direct/stable405/moodle-latest-405.tgzПосле загрузки выполните команду ‘tar’ ниже, чтобы извлечь исходный код Moodle и переименовать извлеченный каталог в ‘moodle’. Таким образом, ваша установка Moodle будет находиться в каталоге ‘/var/www/moodle’.
tar -xf moodle-latest-405.tgzЗатем создайте новый каталог ‘/var/www/moodledata’, который будет использоваться в качестве каталога данных для вашей установки Moodle.
mkdir -p /var/www/moodledataНаконец, выполните команду ниже, чтобы изменить владельца каталогов ‘/var/www/moodle’ и ‘/var/www/moodledata’ на пользователя ‘www-data’. А затем убедитесь, что пользователь ‘www-data’ может читать, записывать и выполнять файлы в этих каталогах.
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-адрес сервера.
Создайте новую конфигурацию виртуального хоста ‘/etc/apache2/sites-available/moodle.conf’ с помощью редактора ‘nano’.
sudo nano /etc/apache2/sites-available/moodle.confВставьте конфигурацию ниже, чтобы настроить файл виртуального хоста для Moodle. Убедитесь, что вы изменили параметр ‘ServerName’ на ваше доменное имя.
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
Сохраните файл и выйдите из редактора, когда закончите.
Теперь выполните команду ‘a2enmod’ ниже, чтобы активировать модуль ‘rewrite’, а затем выполните команду ‘a2ensite’ ниже, чтобы активировать виртуальный хост ‘moodle.conf’.
sudo a2enmod rewrite
sudo a2ensite moodle.confЗатем выполните команду ‘apachectl’ ниже, чтобы проверить вашу конфигурацию Apache. Если у вас правильная конфигурация Apache, вы увидите вывод, например, ‘Синтаксис в порядке’.
sudo apachectl configtest
Наконец, выполните команду ‘systemctl’ ниже, чтобы перезапустить веб-сервер Apache и применить ваши изменения.
sudo systemctl restart apache2Защита Moodle с помощью HTTPS
На данный момент ваша установка Moodle готова. Прежде чем продолжить, вы защитите Moodle с помощью HTTPS через Certbot и Letsencrypt. Сделайте это, когда устанавливаете Moodle на публичном сервере. Если вы находитесь в локальной разработке, вы можете пропустить или реализовать HTTPS через самоподписанные сертификаты.
Установите ‘certbot’ и плагин ‘python3-certbot-apache’ с помощью следующей команды ‘apt’. Введите ‘Y’, чтобы подтвердить установку.
sudo apt install certbot python3-certbot-apacheПосле завершения установки выполните следующую команду ‘certbot’, чтобы сгенерировать SSL-сертификаты для Moodle. Убедитесь, что вы изменили следующее доменное имя и адрес электронной почты на ваше доменное имя.
sudo certbot --apache --agree-tos --no-eff-email -m [email protected] -d moodle.howtoforge.localКогда закончите, ваши SSL-сертификаты будут доступны в каталоге ‘/etc/letsencrypt/live/domain.com’, и ваша установка Moodle будет работать под HTTPS.
Установка Moodle
Откройте веб-браузер и посетите доменное имя вашей установки Moodle, например https://moodle.howtoforge.local/, и вы увидите мастер установки Moodle.
Выберите ваш язык по умолчанию для Moodle и нажмите ‘ Далее ‘.

Введите ваше доменное имя и каталог данных Moodle на ‘ /var/www/moodledata ‘.

Выберите ‘ MariaDB ‘ в качестве базы данных по умолчанию для Moodle.

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

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

В разделе ‘Проверки сервера’ убедитесь, что ваш сервер Debian соответствует требованиям Moodle. Статус каждого элемента должен быть ‘ OK ‘.

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

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

Теперь введите информацию о вашем сайте Moodle.

Наконец, вы увидите следующую панель управления администратора Moodle.

Заключение
Поздравляем! Вы завершили установку системы управления обучением Moodle (LMS) на сервере Debian 12. Вы запустили Moodle с LAMP Stack (Linux, Apache, MariaDB и PHP) и защитили его с помощью UFW (Uncomplicated Firewall) и HTTPS через Certbot и Letsencrypt. Теперь вы можете применить новую тему для Moodle, установить новые дополнения для расширения функциональности или изучить руководство пользователя Moodle для управления вашей установкой Moodle.
Get new posts in your inbox
No spam. Unsubscribe anytime.