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 без необходимости ее установки!
Предварительные требования
- Установите 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, MySQL-сервер MariaDB.
Затем установите зависимости Moodle. Нам необходимо установить веб-сервер Apache, PHP 8.1, SQL-сервер MariaDB, почтовый сервер и список расширений 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. Запустите и включите SQL-сервер MariaDB.
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 и извлеките ее в общедоступный каталог.
Вы можете скачать последнюю версию мудла с сайта 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!







