Поиск по сайту:

Как установить платформу обучения Moodle в Ubuntu 20.04


Moodle — это самая популярная, надежная, бесплатная платформа управления онлайн-обучением (электронным обучением) с открытым исходным кодом, созданная для Интернета и мобильных устройств. Он предлагает широкий спектр мероприятий и образовательных инструментов, которые позволяют школам, университетам и связанным с ними учреждениям предлагать студентам гибкую платформу обучения в любое время и в любом месте, без прерывания их курса и учебной программы.

Некоторые из его общих функций включают современный, простой в использовании интерфейс, персонализированную панель мониторинга, инструменты и действия для совместной работы, универсальный календарь, удобное управление файлами, простой интуитивно понятный текстовый редактор, уведомления и отслеживание прогресса.

Важно отметить, что Moodle легко расширяется с помощью более тысячи плагинов, которые поддерживают дополнительные действия, блоки, темы и многое другое.

В этой статье вы узнаете, как установить последнюю версию Moodle Learning Platform с NGINX и базой данных MySQL/MariaDB на Ubuntu 20.04 и более старые версии.

Требования к серверу:

  • Недавно установленный сервер Ubuntu 20.04 с установленным стеком LEMP.

После установки стека LEMP на сервер Ubuntu вы можете продолжить настройку Moodle на сервере, как описано ниже.

На этой странице

  • Настройка записи DNS для приложения Moodle
  • Установка Moodle на сервере Ubuntu
  • Настройка NGINX для обслуживания приложения Moodle
  • Завершение установки Moodle через веб-установщик
  • Включите HTTPS в приложении Moodle с помощью Let’s Encrypt

Настройка записи DNS для приложения Moodle

1. Чтобы пользователи могли получить доступ к вашему экземпляру Moodle, вам необходимо создать для него субдомен, поэтому вам необходимо создать DNS Запись для достижения этой цели. В этом руководстве нашим тестовым доменом является testprojects.me, поэтому нам нужно создать поддомен, например, learning.testprojects.me.

Итак, войдите в веб-консоль регистратора вашего домена и получите доступ к расширенным настройкам вашего домена, нажмите Добавить новую запись типа A, хост должен обучиться. (или любое слово по вашему выбору), а значение должно быть общедоступным IP-адресом вашего сервера Ubuntu.

Установка Moodle на сервере Ubuntu

2. Далее вам необходимо установить расширения и библиотеки PHP, необходимые для Moodle, с помощью менеджера пакетов apt, как показано.

sudo apt update
sudo apt install php-common php-iconv php-curl php-mbstring php-xmlrpc php-soap php-zip php-gd php-xml php-intl php-json libpcre3 libpcre3-dev graphviz aspell ghostscript clamav

3. Затем создайте базу данных для вашей системы Moodle. Войдите в оболочку администрирования базы данных MySQL и создайте базу данных, как показано:

sudo mysql

MariaDB [(none)]> CREATE DATABASE moodle;
MariaDB [(none)]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodleadmin'@'localhost' IDENTIFIED BY 'Secur3P@zzwd';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> quit;

4. Как упоминалось ранее, для этого руководства мы загрузим и установим последнюю версию Moodle (версия 3.9 на момент написания). Запустите следующую команду wget, чтобы получить пакет Moodle, и используйте команду tar для его извлечения соответственно. Затем используйте команду ls, чтобы подтвердить, что каталог Moodle существует в /var/www/html/, как показано.

wget -c https://download.moodle.org/download.php/direct/stable39/moodle-latest-39.tgz
sudo tar -zvxf moodle-latest-39.tgz -C /var/www/html/
ls /var/www/html/

5. Затем установите соответствующие разрешения для каталога Moodle, выполнив следующие команды.

sudo chown www-data:www-data -R /var/www/html/moodle
sudo chmod 775 -R /var/www/html/moodle

6. Затем создайте каталог data Moodle, место, где Moodle сможет сохранять загруженные файлы и устанавливать для него разрешения, как показано.

sudo mkdir -p /var/moodledata
sudo chmod 775 -R /var/moodledata
sudo chown www-data:www-data -R  /var/moodledata

7. Затем создайте основной файл конфигурации Moodle из образца файла конфигурации, поставляемого с пакетом, и откройте его.

cd /var/www/html/moodle/
sudo cp config-dist.php config.php
sudo vim config.php

Найдите раздел конфигурации базы данных, затем настройте базу данных, в которой будут храниться все данные Moodle, как показано на следующем снимке экрана:

$CFG->dbtype    = 'mariadb';      // 'pgsql', 'mariadb', 'mysqli', 'sqlsrv' or 'oci'
$CFG->dblibrary = 'native';     // 'native' only at the moment
$CFG->dbhost    = 'localhost';  // eg 'localhost' or 'db.isp.com' or IP
$CFG->dbname    = 'moodle';     // database name, eg moodle
$CFG->dbuser    = 'moodleadmin';   // your database username
$CFG->dbpass    = 'Secur3P@zzwd';   // your database password
$CFG->prefix    = 'mdl_';       // prefix to use for all table names

Кроме того, настройте местоположение веб-сайта Moodle, а также расположение каталога данных Moodle, как показано.

$CFG->wwwroot   = 'http://learning.testprojects.me';
$CFG->dataroot  = '/var/moodledata';

Сохраните и закройте файл. Затем настройте NGINX для сервера вашего сайта Moodle, как описано в следующем разделе.

Настройка NGINX для обслуживания приложения Moodle

8. Чтобы NGINX мог обслуживать ваш сайт Moodle, вам необходимо создать новую конфигурацию блока сервера в конфигурации NGINX в каталоге . >/etc/nginx/conf.d/.

sudo vim /etc/nginx/conf.d/moodle.conf

Скопируйте и вставьте в него следующую конфигурацию, замените learning.testprojects.me своим субдоменом. Кроме того, директива fastcgi_pass должна указывать на адрес, по которому PHP-FPM принимает запросы FastCGI (проверьте /etc/php/7.4/fpm/pool.d/www.conf для получения дополнительной информации).

server{
   listen 80;
    server_name learning.testprojects.me;
    root        /var/www/html/moodle;
    index       index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ ^(.+\.php)(.*)$ {
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        fastcgi_index           index.php;
        fastcgi_pass           unix:/run/php/php7.4-fpm.sock;
        include                 /etc/nginx/mime.types;
        include                 fastcgi_params;
        fastcgi_param           PATH_INFO       $fastcgi_path_info;
        fastcgi_param           SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}

Сохраните файл и закройте его.

9. Затем убедитесь, что конфигурация NGINX в порядке после внесения вышеуказанных изменений, а затем корректно перезапустите службу NGINX.

sudo nginx -t
sudo systemctl reload nginx

Завершение установки Moodle через веб-установщик

10. Теперь откройте веб-браузер и перейдите, используя свой поддомен, например, learning.testprojects.me, чтобы получить доступ к веб-установщику Moodle.

http://learning.testprojects.me

После загрузки страницы приветствия прочитайте сообщение и нажмите Продолжить.

11. Далее установщик проверит, соответствует ли ваша система требованиям, если все в порядке, прокрутите вниз и нажмите Продолжить, чтобы начать собственно установку файлов и настройку базы данных. схема.

Обратите внимание, что установщик отобразит предупреждение о том, что сайт не работает по HTTPS, пока игнорируйте это предупреждение. В последнем разделе мы расскажем, как включить HTTPS в Moodle с помощью бесплатных сертификатов Let’s Encrypt.

После завершения установки нажмите Продолжить.

12. Затем настройте учетную запись администратора вашего сайта Moodle, создав имя пользователя, пароль, имя и фамилию, а также адрес электронной почты. Затем прокрутите вниз и нажмите Обновить учетную запись.

13. Затем настройте параметры главной страницы сайта Moodle, как показано на следующем снимке экрана. Затем прокрутите вниз и нажмите Обновить.

14. Веб-установщик автоматически авторизует вас на новом сайте Moodle. Вы можете завершить регистрацию на сайте, следуя инструкциям на экране.

Настройка HTTPS в приложении Moodle с использованием Let’s Encrypt

15. Чтобы защитить свой сайт Moodle, вам необходимо включить HTTPS. В этом руководстве мы будем использовать бесплатные и надежные сертификаты SSL/TLS Let’s Encrypt. Еще одним преимуществом использования Let’s Encrypt является его автоматизация.

Итак, вернитесь к своему терминалу и выполните следующую команду, чтобы установить certbot в Ubuntu (бесплатный инструмент с открытым исходным кодом для автоматического использования сертификатов Let’s Encrypt для включения HTTPS на сайтах, администрируемых вручную).

sudo snap install --classic certbot

16. Затем введите следующую команду, чтобы получить сертификат, и Certbot отредактирует вашу конфигурацию NGINX для автоматической настройки нового сертификата.

sudo certbot --nginx

17. Затем вернитесь к файлу конфигурации сайта Moodle.

sudo vim /var/www/html/moodle/config.php 

и измените URL-адрес с HTTP на HTTPS, как показано на следующем снимке экрана.

$CFG->wwwroot   = 'https://learning.testprojects.me';

18. Наконец, проверьте в браузере, что ваш сайт Moodle теперь работает по HTTPS.

https://learning.testprojects.me

На данный момент это все! Перейдите к документации Moodle 3.9 для получения дополнительной информации, вариантов конфигурации и руководства по использованию.