Moodle is one of the best learning management systems available. It’s an open software, released under the open source ‘GNU General Public License’ which makes it highly flexible and customizable. In this guide you will learn how to install Moodle on Ubuntu server 20.04/22.04.
We are installing Moodle on a brand new, clean Ubuntu server with no software or data on it. If your server has data on it - make data backup first. Author is not responsible for possible data loss.
Перш ніж почати
Перевірте наш хостинг для Moodle видання спільноти. Ви можете почати використовувати LMS без необхідності її встановлення!
Попередні вимоги
- Встановити a VPS сервер з Ubuntu 22.04 на ньому
- Отримайте повну кваліфікацію доменне ім'я pointing to your server’s IP address, such as “moodle.example.org”
Для прикладів у цьому посібнику ми будемо використовувати домен moodle.example.org, змініть його на власне доменне ім’я.
Підготовка сервера Ubuntu до встановлення Moodle
Оновіть систему
First thing first – updating the system. To get started connect to your server via SSH. Then run “apt update” and “apt upgrade” commands to update system packages to the latest version.
$ sudo apt update && apt upgrade -y

Встановити сервер Apache, PHP-8.1, MariaDB MySQL
Далі встановіть залежності Moodle. Нам потрібно встановити веб-сервер Apache, PHP 8.1, сервер MariaDB SQL, поштовий сервер і список розширень PHP, необхідних для Moodle.
$ sudo apt install apache2 php8.1 mariadb-server postfix $ sudo apt install php8.1-mysql php8.1-fpm php8.1-iconv php8.1-mbstring php8.1-curl php8.1-tokenizer php8.1-xmlrpc php8.1-soap php8.1-ctype php8.1-zip php8.1-gd php8.1-simplexml php8.1-xml php8.1-intl
Після завершення встановлення запустіть веб-сервер apache.
$ sudo systemctl start apache2 $ sudo systemctl enable apache2
Налаштуйте Apache VirtualHost і PHP-FPM
Ми будемо використовувати Moodle 4.2 на Apache та PHP-FPM. На наступному кроці ми налаштуємо PHP-FPM для Apache.
1. Запустіть службу PHP-FPM і ввімкніть її під час завантаження.
$ sudo systemctl start php8.1-fpm $ sudo systemctl enable php8.1-fpm
2. Щоб використовувати PHP-FPM з Apache, нам потрібно ввімкнути модулі proxy_fcgi та проксі.
sudo a2enmod proxy_fcgi proxy
3. Створіть файл конфігурації Apache для Moodle.
$ sudo nano /etc/apache2/sites-available/moodle.conf
Введіть наступну конфігурацію в moodle.conf. Замінити Ім'я сервера, DocumentRoot, Каталог з вашими цінностями.
<VirtualHost *:80>
ServerName moodle.example.org
ServerAlias www.moodle.example.org
DocumentRoot /home/moodle/public_html
<Directory /home/moodle/public_html>
Options -Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
<FilesMatch \.php$>
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Збережіть і закрийте файл, натиснувши CTRL X, потім Y і Enter.
4. Увімкніть новий віртуальний хост і перезавантажте веб-сервер Apache.
$ a2ensite moodle $ systemctl reload apache2
5. Also it’s nice to have a rewrite and SSL modules enabled
# a2enmod rewrite # a2enmod ssl # systemctl restart apache2
Створення бази даних і користувача бази даних
1. Запустіть і ввімкніть сервер MariaDB SQL
root@moodle-lms-install:~# systemctl start mariadb root@moodle-lms-install:~# systemctl enable mariadb
2. Створіть користувача та базу даних MySQL
root@moodle-lms-install:~# mysql MariaDB [(none)]> create database moodle_dev; MariaDB [(none)]> grant all privileges on moodle_dev.* to moodle_user@localhost identified by 'Change_to_Strong_SQL_Password'; MariaDB [(none)]> flush privileges;
Після налаштування Apache, PHP і MySQL ми можемо продовжити встановлення коду Moodle.
Встановіть код Moodle
1. Створіть домашній каталог для сайту Moodle і публічний каталог
$ useradd --create-home -s /bin/sh moodle $ mkdir -p /home/moodle/public_html $ chmod 711 /home/moodle
2. Завантажте останній код Moodle і розпакуйте його в загальнодоступний каталог.
Ви можете завантажити останню версію moodle з https://download.moodle.org/releases/latest/. Get the code and upload it into the public directory. In our case the directory is “/home/moodle/public_html”
Запустіть установку в браузері
Перш ніж перейти до цього останнього кроку, вам потрібно вказати доменне ім’я на IP-адресу вашого сервера. Коли DNS налаштовано, ви можете запустити установку Moodle у браузері.
1. Open your browser and navigate to your Moodle’s site domain/sub-domain. You should see Moodle Installation page.
2. Choose website’s language. We will keep English.

3. Підтвердьте шляхи
На наступному кроці переконайтеся, що веб-адреса, каталог moodle і каталог даних правильні. У нашій установці не було каталогу даних, тому ми створили його на цьому кроці.
# mkdir /home/moodle/moodledata # chown www-data:www-data /home/moodle/moodledata

4. Виберіть сервер бази даних
Ми використовуємо MariaDB для цього посібника. Виберіть MariaDB зі спадного меню.

5. Введіть параметри бази даних
Введіть назву бази даних, користувача бази даних і пароль, які ми створили раніше.

6. Створіть файл config.php
After entering database settings and clicking “Next” a config.php file will be generated. Copy content of the file and create “config.php” in the root moodle directory (/home/moodle/public_html in this example).
7. Прийміть ліцензію
На цьому кроці ви повинні прочитати та прийняти ліцензійну угоду Moodle.
8. Пройти перевірку сервера
Most of the checks passed in our installation. We only had to change “max_input_vars” from its default value to 5000.
$ nano /etc/php/8.1/fpm/php.ini $ systemctl reload php8.1-fpm

9. Налаштуйте обліковий запис основного адміністратора
На цьому кроці ви повинні налаштувати обліковий запис адміністратора. Введіть ім’я користувача адміністратора, пароль та інші необхідні дані.
10. Введіть домашні налаштування сайту
Налаштування назви сайту, короткої назви для сайту, підсумкової інформації про домашню сторінку сайту та іншу інформацію.

Створіть свій перший курс!
After few final clicks you will see the LMS dashboard and Calendar. Proceed to “My Courses” tab and create your first Moodle course! Well done!







