Как установить 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.

Установка зависимостей

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

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

проверить 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‘ команда ниже, чтобы установить корневого пользователя MariaDB и защитить вашу установку.

sudo mariadb_secure_installation

В процессе вам будет предложено следующее:

  • Для установки сервера MariaDB по умолчанию без пароля root нажмите ENTER, когда вас спросят о пароле.
  • Локальная аутентификация для пользователей MariaDB root по умолчанию защищена, введите ‘n’, когда вас попросят изменить метод аутентификации на ‘unix_socket’.
  • Введите ‘Y’, чтобы создать новый пароль для корневого пользователя MariaDB. Затем введите надежный пароль для корневого пользователя MariaDB и повторите.
  • Когда появится запрос на отключение удаленной аутентификации для корневого пользователя MariaDB, введите ‘Y’, чтобы согласиться.
  • Установка сервера MariaDB по умолчанию поставляется с базой данных ‘test’ и позволяет анонимному пользователю получить к ней доступ. Введите ‘Y’ для обоих параметров, чтобы удалить базу данных по умолчанию ‘test’ и убрать привилегию анонимного пользователя.
  • И наконец, введите ‘Y’ для подтверждения привилегий перезагрузки таблиц.

Создание базы данных и пользователя

Теперь, когда вы настроили сервер MariaDB, давайте создадим новую базу данных и пользователя с помощью клиента ‘mariadb’.

Войдите на сервер MariaDB с помощью клиента ‘mariadb‘ клиентскую команду ниже. Введите пароль корня 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‘ и ‘дата_временной пояс‘ параметры с вашей информацией.

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‘ команда ниже, чтобы активировать ‘переписать‘ модуль.

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.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.local

Когда процесс будет завершен, ваши SSL-сертификаты будут доступны в ‘/etc/letsencrypt/live/domain.com‘ каталог, и ваша установка Moodle будет автоматически защищена HTTPS.

Установка Moodle

Зайдите на доменное имя Moodle, например, https://moodle.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.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *