Moodle — это бесплатная и открытая система управления обучением (LMS). Она написана на языке программирования PHP. Moodle используется многими школами, университетами и организациями для лучшего обучения.
Moodle предоставляет управление контентом, удобный пользовательский интерфейс, отчетность, викторины, отзывы, списки посещаемости и многое другое.
Это руководство покажет вам, как настроить свой собственный сервер Moodle с нуля на Ubuntu 20.04 с помощью стека LEMP.
Установка стека LEMP на Ubuntu
LEMP — это набор Linux программ с открытым исходным кодом включающий в себя: Nginx, MySQL или MariaDB, а так же PHP. Так что LEMP — это альтернатива стеку LAMP, с Nginx в качестве веб — сервера вместо Apache.
В этом руководстве мы все установим на Ubuntu 20.04. Убедитесь, что у вас есть доступ к пользователю sudo.
Установка Nginx
Nginx необходим для обслуживания Moodle. Если у вас нет существующего экземпляра веб-сервера NGINX, Чтобы установить NGINX на Ubuntu 20.04 ознакомьтесь с этой статьей установка NGINX. После того как вы успешно настроили NGINX с вашим зарегистрированным доменным именем, вы можете вернуться к этому руководству и продолжить выполнение следующих шагов ниже.
Установка MySQL / MariaDB
База данных необходима для хранения данных moodle, включая информацию о пользователях, курсах и так далее.
Сейчас мы установим MariaDB, которая является системой управления базами данных. Напомню вам, что MariaDB поставляется с открытым исходным кодом, а также является производной от MySQL.
1. Выполните следующую команду, чтобы установить MariaDB на Ubuntu:
$ sudo apt-get install mariadb-server mariadb-client
Следующая команда выполнит встроенный скрипт для настройки и защиты установки mariadb.
$ sudo mysql_secure_installation
Очень важно, чтобы вы внимательно прочитали инструкцию. Во — первых, вам будет предложено ввести текущий пароль для пользователя mysql root. Поскольку это новая установка, пользователь root mysql имеет пустой пароль. Поэтому нажмите клавишу enter, чтобы продолжить.
Enter current password for root (enter for none):
OK, successfully used password, moving on…
2. Установите пароль root для mariadb. Введите y, а затем введите нужный пароль.
Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!
3. Затем требуется удалить анонимных пользователей. Введите Y для подтверждения.
Remove anonymous users? [Y/n] y
… Success!
4. Следующий шаг касается отключения удаленного входа в систему. Требуется ввести y для подтверждения.
Disallow root login remotely? [Y/n] y
… Success!
5. Введите y, чтобы подтвердить удаление тестовой БД.
Remove test database and access to it? [Y/n] y
Dropping test database…
… Success!
Removing privileges on test database…
… Success!
6. И последнее, требуется перезагрузить таблицы привилегий, чтобы ваши изменения вступили в силу. Введите y для подтверждения.
Reload privilege tables now? [Y/n] y
… Success!
Cleaning up…
All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Настройка mariadb
Теперь вы можете войти в mariadb и создать базу данных для хранения данных moodle. Выполните приведенную ниже команду и введите корневой пароль mariadb. После того как появится соответствующий запрос.
$ sudo mysql -u root -p
После входа в систему требуется выполнить следующую команду. Эта команда создаст базу данных.
> CREATE DATABASE moodle;
Затем создайте учетную запись пользователя для Moodle в mariadb, делается это следующим образом.
Не забудьте заменить moodlesuper и пароль своими собственными значениями.
> CREATE USER ‘moodlesuper’@’localhost’ IDENTIFIED BY ‘password’;
А эта команда предоставляет необходимые разрешения для созданной учетной записи пользователя.
> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO ‘moodlesuper’@’localhost’;
Выйдите из mariadb с помощью этой команды.
> quit
Установка PHP на Ubuntu 20.04
PHP необходим для динамической обработки запросов пользователей Moodle. NGINX работает с PHP при помощи PHP-FPM. (FastCGI Process Manager)
Установите на Ubuntu необходимые компоненты PHP, выполнив команду ниже.
$ sudo apt-get install php-fpm php-mysql php-xml
После установки, следующим шагом является настройка NGINX для пересылки PHP запросов в PHP-FPM. Для этого вам нужно будет отредактировать файл сервера NGINX для вашего веб-сайта Moodle. Например, приведенная ниже команда откроет файл блока сервера для «cloudindevs.com».
$ sudo nano /etc/nginx/sites-available/cloudindevs
В файле блока сервера добавьте index.php к строке. А так же скопируйте следующую директиву конфигурации и вставьте ее прямо под существующей директивой.
# pass PHP scripts to FastCGI server
location ~ [^/].php(/|$) {
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
После внесения изменений эта часть файла блока сервера должна выглядеть так же, как показано на рисунке ниже. Все чт мы добавили отмечено красным.
Чтобы проверить конфигурацию выполните приведенную ниже команду для создания примера index.php. Файл находится в корневом каталоге вашего веб-сайта moodle. Не забудьте имя сайта.
$ sudo nano /var/www/cloudindevs.com/index.php
Скопируйте и вставьте приведенный ниже пример PHP — кода в index.php .
<?php echo 'NGINX is working with PHP-FPM!'; ?>
Сохраните и закройте файл index.php. Введите в браузер yourwebsite.com/index.php и вы должны увидеть пример страницы ниже.
Чтобы установить SSL сертификат ознакомьтесь этой статьей Настроить Nginx с Let’s Encrypt.
Установите Moodle на Ubuntu
На момент написания этого руководства последняя версия Moodle — 3.10.1. Для ее загрузки используйте команду wget.
$ sudo wget https://download.moodle.org/download.php/direct/stable310/moodle-3.10.1.tgz
Затем извлеките содержимое загруженного архива и поместите его в корневой каталог вашего веб-сайта Moodle.
$ sudo tar -zxvf moodle-3.10.1.tgz -C /var/www/cloudindevs.com
Теперь требуется изменить права собственности и разрешения на извлеченную папку Moodle. Учетная запись службы NGINX по умолчанию — www-data.
$ sudo chown -R www-data:www-data /var/www/cloudindevs.com/moodle
$ sudo chmod -R 755 /var/www/cloudindevs.com/moodle
Выполните следующие три команды, чтобы создать каталог с соответствующими разрешениями для Moodle. Это требуется для хранения загруженных файлов и папок. Каталог данных Moodle не должен быть доступен из интернета.
$ sudo mkdir /var/moodledata
$ sudo chown -R www-data:www-data /var/moodledata
$ sudo chmod -R 755 /var/moodledata
Конфигурация Moodle
Теперь пришло время создать основной конфигурационный файл Moodle. Для этого измените каталог, а затем скопируйте пример конфигурационного файла в извлеченную папку Moodle.
$ cd /var/www/cloudindevs.com/moodle
$ sudo cp config-dist.php config.php
Откройте config.php файл для редактирования.
$ sudo nano config.php
В разделе DATABASE SETUP данных config.php файла, сделайте следующее.
- Замените pgsql на mariadb
- Замените moodle на имя базы данных, созданной при настройке mariadb
- Измените имя пользователя на фактическое имя пользователя базы данных, которое вы создали ранее.
- Измените пароль на пароль вашей базы данных
Нажимайте клавишу со стрелкой вниз до тех пор, пока не попадете в раздел WEB SITE LOCATION, config.php файла.
Заменить на http://yoursite.com/moodle
Например, у меня была бы … https://cloudindevs.com/moodle’
Прокрутите страницу вниз до раздела DATA FILES LOCATION..
Измените /home/example/moodledata на ваш каталог данных moodle, который вы создали ранее. Мой был бы /var/moodledata
Доступ к веб-интерфейсу moodle
На этом этапе вы можете открыть веб-браузер и посетить yoursite.com/moodle чтобы завершить установку.
Вот что я вижу, когда иду в «www.cloudindevs.com/moodle».
Нажмите кнопку Продолжить, чтобы продолжить. На следующей странице вы можете столкнуться с ошибками, касающимися отсутствующих плагинов.
Чтобы устранить эти проблемы, нажмите кнопку must be installed and enabled и следуйте инструкциям по установке необходимых расширений. После установки необходимых расширений перезапустите NGINX с помощью команды
sudo systemctl restart nginx
А затем перезагрузите страницу проверки сервера, чтобы убедиться, что ошибки исчезли.
Если ошибки исчезли, вы можете нажать кнопку Продолжить (Continue).
Настройка Учетной Записи Главного Администратора Moodle
После успешной установки Moodle вы попадете на страницу настройки вашей основной учетной записи администратора. Вам нужно будет указать имя пользователя, пароль и другую необходимую информацию.
Кроме того, вам будет предложено настроить имя вашего сайта, сводку главной страницы, параметры местоположения и т. д. Когда вы закончите, нажмите кнопку Сохранить изменения (Save changes).
На этом завершается установка Moodle. Вот как выглядит мой новый сайт Moodle.
Заключение
Онлайн — обучение привлекает большое внимание людей с тех пор, как началась пандемия Covid — 19. Многие образовательные учреждения создают платформы электронного обучения с помощью систем управления онлайн-обучением, таких как Moodle.
В этом руководстве мы успешно установили и настроили сервер Moodle с нуля на Ubuntu 20.04. Для получения дополнительной информации о том, как использовать ваш веб-сайт Moodle и управлять им. Для этого обратитесь к официальным документам Moodle Docs.