Як встановити Moodle LMS на сервер Ubuntu 24.04

Як встановити Moodle LMS на сервер Ubuntu 24.04

 

Moodle — це популярна платформа з відкритим вихідним кодом, яка використовується навчальними закладами по всьому світу для створення онлайн-курсів, керування контентом і сприяння спільному навчанню. Запуск Moodle на Ubuntu є поширеним вибором завдяки стабільності, безпеці та підтримці широкого спектру програмних пакетів Ubuntu. Процес включає встановлення необхідних компонентів, таких як Apache або Nginx як веб-сервер, MySQL або PostgreSQL як база даних і PHP як скриптова мова, усі з яких добре підтримуються в Ubuntu. Ця установка дозволяє установам створювати надійне, масштабоване та настроюване онлайн-навчальне середовище, яке можна адаптувати до конкретних освітніх потреб.

У цьому посібнику ми покажемо вам, як встановити Moodle на сервер Ubuntu 24.04. Ви встановите Moodle разом із LAMP Stack, а потім захистите Moodle за допомогою UFW та HTTPS через Certbot та Letsencrypt.

Передумови

Перш ніж почати, переконайтеся, що у вас є наступне:

  • Сервер Ubuntu 24.04.
  • Користувач без прав root і має права адміністратора.
  • Доменне ім’я вказувало на IP-адресу сервера.
  • Брандмауер UFW запущений і працює.

Встановлення залежностей

Moodle – це навчальна платформа з відкритим вихідним кодом, написана на PHP. Щоб встановити Moodle, вам потрібні Apache/Nginx, MySQL/MariaDB/PostgreSQL та PHP. У цьому розділі ви встановите LAMP Stack (Linux, Apache, MariaDB і PHP) на Ubuntu і налаштуєте Moodle поверх нього.

Щоб почати, виконайте наступну команду та оновіть індекс пакетів Ubuntu.

sudo apt update

Як встановити Moodle LMS на сервер Ubuntu 24.04

Тепер виконайте наведену нижче команду, щоб встановити залежності LAMP Stack (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

Як встановити Moodle LMS на сервер Ubuntu 24.04

Після завершення інсталяції перевірте статус служби Apache за допомогою наведеної нижче команди.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Далі ви можете побачити, що веб-сервер Apache працює.

Як встановити Moodle LMS на сервер Ubuntu 24.04

Перевірте сервер баз даних MariaDB за допомогою наступної команди. Ви побачите, що сервер MariaDB працює.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

Як встановити Moodle LMS на сервер Ubuntu 24.04

Нарешті, перевірте версію PHP та ввімкнені розширення за допомогою наступного:

php -v
php -m

Ви побачите, що PHP 8.3 встановлено на вашому сервері Ubuntu.

Як встановити Moodle LMS на сервер Ubuntu 24.04

Налаштування сервера 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 захищена за замовчуванням, введіть ‘n’, коли вас попросять змінити метод аутентифікації на ‘unix_socket’.
  • Введіть ‘Y’, щоб створити новий кореневий пароль MariaDB. Потім введіть надійний пароль для користувача root MariaDB і повторіть дію.
  • Коли вас попросять вимкнути віддалену автентифікацію для кореневого користувача MariaDB, введіть ‘Y’, щоб погодитися.
  • Встановлення сервера MariaDB за замовчуванням поставляється з тестом бази даних і дозволяє анонімному користувачеві отримати доступ до неї. Введіть ‘Y’ для обох налаштувань, щоб видалити ‘test’ бази даних за замовчуванням і видалити анонімний привілей.
  • Нарешті, введіть «Y», щоб підтвердити привілеї перезавантаження таблиці.

Створення бази даних і користувача

Тепер, коли ви налаштували сервер MariaDB, давайте створимо нову базу даних і користувача через клієнт ‘mariadb’.

Увійдіть на сервер MariaDB за допомогою команди клієнта ‘mariadb‘ нижче. Введіть пароль root MariaDB, коли з’явиться запит.

sudo mariadb -u root -p

Тепер виконайте наступні запити, щоб створити нову базу даних ‘moodle‘, user ‘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

Як встановити Moodle LMS на сервер Ubuntu 24.04

Налаштування 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 Stack. Давайте завантажимо вихідний код 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

Вставте наступну конфігурацію та обов’язково змініть доменне ім’я з вашою інформацією.

<VirtualHost *:80>
 DocumentRoot /var/www/moodle/
 ServerName moodle.infoit.local
 ServerAdmin admin@example.com
 
 <Directory /var/www/moodle/>
 Options +FollowSymlinks
 AllowOverride All
 Require all granted
 </Directory>

 ErrorLog /var/log/apache2/moodle_error.log
 CustomLog /var/log/apache2/moodle_access.log combined
</VirtualHost>

Збережіть файл і вийдіть з редактора, коли закінчите.

Тепер виконайте наступну команду, щоб увімкнути файл ‘moodle.conf‘ і перевірити синтаксис Apache. Якщо у вас правильний синтаксис Apache, ви побачите вихідний сигнал ‘Syntax is OK‘.

sudo a2ensite moodle.conf
sudo apachectl configtest

Нарешті, виконайте команду ‘systemctl‘ нижче, щоб перезапустити Apache і застосувати зміни.

sudo systemctl restart apache2

Захист Moodle за допомогою UFW

На цьому кроці ви відкриєте протоколи HTTP і HTTPS через UFW (нескладний брандмауер). Перш ніж почати, переконайтеся, що ви запустили 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 kyrie@infoit.local -d moodle.infoit.local

Коли процес буде завершено, ваші SSL-сертифікати будуть доступні в каталозі «/etc/letsencrypt/live/domain.com», а ваша інсталяція Moodle має бути автоматично захищена за допомогою HTTPS.

Встановлення Moodle

Відвідайте своє доменне ім’я Moodle, наприклад https://moodle.infoit.local/, і ви побачите майстер встановлення.

Виберіть мову за умовчанням і натисніть Далі.

Як встановити Moodle LMS на сервер Ubuntu 24.046

Введіть свій каталог даних для Moodle ‘/var/www/moodledata‘.

Як встановити Moodle LMS на сервер Ubuntu 24.046

Виберіть MariaDB як драйвер бази даних.

Як встановити Moodle LMS на сервер Ubuntu 24.046

Введіть дані вашої бази даних MariaDB та користувача.

Як встановити Moodle LMS на сервер Ubuntu 24.046

Натисніть Continue, щоб підтвердити повідомлення про авторські права.

Як встановити Moodle LMS на сервер Ubuntu 24.046

У розділі перевірки сервера переконайтеся, що ваше середовище готове.

Як встановити Moodle LMS на сервер Ubuntu 24.046

 

Тепер буде оброблена інсталяція Moodle.

Як встановити Moodle LMS на сервер Ubuntu 24.046

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

Як встановити Moodle LMS на сервер Ubuntu 24.046

Тепер ви побачите інформаційну панель Moodle таким чином:

Як встановити Moodle LMS на сервер Ubuntu 24.046

Висновок

Вітаємо! Ви завершили встановлення Moodle на сервер Ubuntu 24.04. Ви встановили Moodle 40.4 на Ubuntu за допомогою LAMP Stack (Linux, Apache, MariaDB та PHP), а також захистили Moodle за допомогою UFW (Uncomplicated Firewall) та HTTPS через Certbot та Letsencrypt.

Прокрутка до верху