Установка Moodle на Ubuntu 22.04 и Debian: Пошаговая инструкция | AdminWiki

Установка Moodle на Ubuntu: Полное руководство для разработчиков и администраторов

17 декабря 2025 8 мин. чтения #debian #devops #e-learning #lamp #moodle #mysql #php #ubuntu

Представь, что тебе нужно развернуть полноценную систему дистанционного обучения для университета или корпоративных курсов. Moodle — это мощное, гибкое и бесплатное решение, но его установка требует понимания веб-стэка. Давай разберем процесс установки Moodle на Ubuntu (включая актуальную версию 22.04) и Debian шаг за шагом, как это делает Senior DevOps.

Подготовка сервера и установка LAMP-стека

Перед установкой Moodle на Ubuntu нам нужен работающий веб-сервер, PHP и база данных. Мы будем использовать классический LAMP (Linux, Apache, MySQL, PHP).

1. Обновление системы и установка Apache

bash
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 -y
sudo systemctl enable apache2
sudo systemctl start apache2

2. Установка MySQL/MariaDB для Moodle

Moodle поддерживает несколько СУБД, но мы выберем MariaDB как более современную и производительную альтернативу MySQL.

bash
sudo apt install mariadb-server mariadb-client -y
sudo mysql_secure_installation

# Создаем базу данных для Moodle
sudo mysql -u root -p
# В консоли MySQL выполняем:
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'moodleuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON moodle.* TO 'moodleuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Внимание: Замени 'StrongPassword123!' на действительно сложный пароль. Никогда не используйте пароли по умолчанию в production-среде.

3. Установка PHP и необходимых модулей

Moodle 5 требует PHP 8.0 или выше. Для Ubuntu 22.04 мы установим PHP 8.1 со всеми необходимыми расширениями.

bash
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update

# Установка PHP 8.1 и всех необходимых модулей
sudo apt install php8.1 php8.1-cli php8.1-common php8.1-curl \
php8.1-mbstring php8.1-xml php8.1-zip php8.1-gd php8.1-mysql \
php8.1-intl php8.1-soap php8.1-bcmath php8.1-ldap php8.1-opcache \
php8.1-xmlrpc php8.1-pspell php8.1-json php8.1-fpm -y

# Проверяем версию PHP
php --version

Скачивание и настройка Moodle 5 на Ubuntu

4. Загрузка и распаковка Moodle

bash
cd /var/www/html
sudo wget https://download.moodle.org/download.php/direct/stable405/moodle-latest-405.tgz
sudo tar -xzf moodle-latest-405.tgz
sudo rm moodle-latest-405.tgz

# Создаем директорию для данных
sudo mkdir /var/moodledata
sudo chown -R www-data:www-data /var/moodledata
sudo chmod -R 755 /var/moodledata

5. Настройка прав доступа

bash
sudo chown -R www-data:www-data /var/www/html/moodle
sudo chmod -R 755 /var/www/html/moodle
sudo find /var/www/html/moodle -type f -exec chmod 644 {} \;

6. Конфигурация виртуального хоста Apache

Создаем конфигурационный файл для нашего Moodle-сайта:

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

Добавляем следующую конфигурацию:

apache config
<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    ServerName moodle.yourdomain.com
    DocumentRoot /var/www/html/moodle
    
    <Directory /var/www/html/moodle>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/moodle_error.log
    CustomLog ${APACHE_LOG_DIR}/moodle_access.log combined
</VirtualHost>
bash
sudo a2ensite moodle.conf
sudo a2enmod rewrite
sudo systemctl restart apache2

Завершение установки через веб-интерфейс

7. Веб-установщик Moodle

Открой браузер и перейди по адресу твоего сервера (http://server-ip или http://moodle.yourdomain.com). Запустится мастер установки:

Шаги веб-установки:

  • Выбор языка — русский или английский
  • Проверка окружения — убедись, что все требования отмечены зеленым
  • Путь к данным — укажи /var/moodledata
  • Настройка базы данных:
    • Тип: MariaDB
    • Хост: localhost
    • База: moodle
    • Пользователь: moodleuser
    • Пароль: твой_пароль
  • Настройка администратора — создай учетную запись админа
  • Настройка сайта — название, описание, часовой пояс

Оптимизация и настройка после установки

8. Настройка PHP для Moodle

Редактируем php.ini для оптимальной работы Moodle:

bash
sudo nano /etc/php/8.1/apache2/php.ini

Найди и измени следующие параметры:

php.ini
max_execution_time = 300
max_input_time = 300
memory_limit = 256M
post_max_size = 100M
upload_max_filesize = 100M
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
bash
sudo systemctl restart apache2

9. Настройка cron-заданий

Moodle требует регулярного выполнения cron-заданий для отправки уведомлений, обработки очередей и т.д.

bash
sudo crontab -u www-data -e

Добавь строку (выполнять каждые 5 минут):

crontab
*/5 * * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php > /dev/null

Особенности установки Moodle на Debian

Процесс установки Moodle на Debian практически идентичен Ubuntu, но есть небольшие отличия:

Аспект Ubuntu 22.04 Debian 11/12
Репозиторий PHP ppa:ondrej/php deb.sury.org (требуется добавление)
PHP по умолчанию 8.1 (через PPA) 7.4 (Debian 11) / 8.2 (Debian 12)
Имя службы Apache apache2 apache2 (аналогично)
Совет: Для Debian добавь репозиторий Sury PHP: sudo apt -y install apt-transport-https lsb-release ca-certificates curl и sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg

Часто задаваемые вопросы (FAQ)

Какие системные требования для Moodle 5?

Минимальные требования: PHP 8.0+, MySQL 5.7+ или MariaDB 10.4+, 256MB RAM (рекомендуется 1GB+), 5GB дискового пространства. Для production-среды рекомендуется минимум 2 CPU ядра и 4GB RAM.

Как обновить Moodle на Ubuntu до новой версии?

1. Сделай полный бэкап базы данных и файлов. 2. Перейди в режим обслуживания. 3. Обнови файлы через Git или архив. 4. Запусти sudo -u www-data php admin/cli/upgrade.php. 5. Проверь логи и отключи режим обслуживания.

Почему не работает отправка почты из Moodle?

Проверь: 1) Настройки SMTP в "Сервер → Почта → Настройки SMTP". 2) Блокировку портов фаерволом. 3) Логи PHP и Apache. 4) Рекомендуется использовать внешний SMTP (Gmail, SendGrid, Mailgun) вместо sendmail.

Как оптимизировать производительность Moodle?

Включи кэширование (Redis/Memcached), настрой OPcache, используй CDN для статики, включи сжатие Gzip в Apache, оптимизируй базу данных, установи правильные значения session.gc_probability в PHP.

Заключение

Установка Moodle на Ubuntu или Debian — это процесс, требующий внимания к деталям, но вполне выполнимый даже для начинающих администраторов. Ключевые моменты: правильная настройка LAMP-стека, адекватные права доступа, оптимизация PHP и регулярное обслуживание через cron.

Важно: Не забывай про безопасность! Регулярно обновляй систему, настрой SSL/TLS (Let's Encrypt), ограничь доступ к административным разделам, используй сложные пароли и делай регулярные бэкапы.

Теперь у тебя есть полностью рабочая система дистанционного обучения. Дальнейшие шаги: настройка тем, установка дополнительных плагинов, интеграция с внешними системами и тонкая настройка под конкретные образовательные задачи.

Поделиться:
Сохранить гайд? В закладки браузера