Как установить платформу обучения 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 для получения дополнительной информации, вариантов конфигурации и руководства по использованию.