Установка Moodle на сервер Ubunty 16.04
Как самому установить и настроить Moodle?
Moodle является достаточно популярной системой для контроля обучения (LMS). Сервис позволяет делать обучающие сайты вроде материалов для чтения, онлайн-курсов, форумов. Платформа имеет большое количество возможностей для эффективного образования в группах от нескольких человек до сотен тысяч учащихся. Приложение также позволяет разделять студентов по ролям и предоставлять им разный уровень доступа к учебным материалам.
В этой статье мы покажем вам как поставить Moodle на сервер Ubuntu версии 16.04, а также настроить зависимости, определиться с темой и сделать первый курс. Потребуется машина с объемом оперативной памяти минимум 512 Мб, но желательно 1 Гб или более. Приложению потребуется около 200 Мб, плюс нужен дополнительный объем для контента сайта. Заранее создайте пользователя, у которого будет доступ к sudo. Кроме того, необходимо настроить брандмауэр, а также инсталлировать стек LAMP. Не забудьте записать root-пароль от MySQL.
Для корректной работы сервиса потребуется дополнительное ПО вроде библиотек графики или проверки орфографии. По своему принципу Moodle – это PHP-приложение, поэтому оно зависит от определенных библиотек на PHP. Сначала нам нужно поставить зависимости, а потом и Moodle. В первую очередь требуется обновить индекс пакетов:
sudo apt-get update
Инсталлируйте зависимости с помощью:
sudo apt-get install aspell graphviz php7.0-curl php7.0-gd php7.0-intl php7.0-ldap php7.0-mysql php7.0-pspell php7.0-xml php7.0-xmlrpc php7.0-zip
Теперь перезапустите веб-сервер Apache для загрузки новых модулей:
sudo systemctl restart apache2
Пришло время загрузки и установки Moodle. Используйте curl чтобы загрузить пакеты с самой последней стабильной версией приложения с официального сервера. Поставить их будет нужно в файл moodle.tgz. С помощью флага -L включается поддержка редиректа:
curl -L https://download.moodle.org/download.php/direct/stable32/moodle-latest-32.tgz > moodle.tgz
Теперь нужно распаковать архив и перенести все файлы в папку document root на веб-сервере:
sudo tar -xvzf moodle.tgz -C /var/www/html
Вам нужно убедиться в том, что папка с moodle перемещена в document root. Для этого нужно набрать:
ls /var/www/html
index.html moodle
Проверьте содержимое папки moodle:
ls /var/www/html/moodle
На экране вы увидите список файлов сервиса:
admin composer.json grade message README.txt
auth composer.lock group mnet report
availability config-dist.php Gruntfile.js mod repository
backup config.php help_ajax.php my rss
badges CONTRIBUTING.txt help.php notes search
behat.yml.dist COPYING.txt index.php npm-shrinkwrap.json tag
blocks course install package.json tags.txt
blog dataformat install.php phpunit.xml.dist theme
brokenfile.php draftfile.php INSTALL.txt pix TRADEMARK.txt
cache enrol iplookup plagiarism user
calendar error lang pluginfile.php userpix
cohort file.php lib portfolio version.php
comment files local PULL_REQUEST_TEMPLATE.txt webservice
competency filter login question
completion githash.php media rating
Следующий шаг — это создание папки, в которой приложение Moodle будет хранить все обучающие файлы, располагающиеся вне базы данных сервера. Каталог должен располагаться вне корневой папки сервера, для того, чтобы из браузера к нему нельзя было получить доступ напрямую:
sudo mkdir /var/moodledata
Учтите, что пользователю сервера www-data нужно предоставить доступ к папке:
sudo chown -R www-data /var/moodledata
Теперь дайте владельцу полные права доступа к каталогу:
sudo chmod -R 0770 /var/moodledata
Самое время приступить к созданию базы данных MySQL. В ней сервис Moodle сможет хранить информацию, а также пользователя для этой БД. Внесем поправки в конфигурацию MySQL для настройки поддержки Moodle. Вам нужно открыть файл:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
В раздел Basic Settings придется дописать недостающие значения:
…
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
default_storage_engine = innodb
innodb_file_per_table = 1
innodb_file_format = Barracuda
## Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
...
Изменения нужно сохранить, после чего закройте файл. Теперь потребуется перезапуск MySQL для обновления настроек:
sudo systemctl restart mysql
Теперь создадим базу данных для приложения Moodle. Для этого потребуется запуск командной строки MySQL. Наберите:
mysql -u root -p
Вы увидите запрос root-пароля MySQL. Введите его. На экране высветится командная строка с надписью:
mysql>
Для создания базы данных нужно набрать в консоли:
CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Теперь предстоит сделать пользователя, чтобы он взаимодействовал с базой данных Moodle:
create user 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';
Имейте ввиду, что вместо слова moodler нужно указать имя пользователя базы данных, а пароль — вместо moodlerpassword. Новому пользователю нужно передать права на внесение изменений в БД, для корректировки привилегий и создания таблиц:
GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO 'moodler'@'localhost' IDENTIFIED BY 'moodlerpassword';
Вот и все, командную строку MySQL можно закрывать:
quit;
Это необходимо чтобы завершить настройку сервиса Moodle. Откройте ваш сайт в браузере и укажите дополнительные параметры конфигурации. Чтобы сервер мог сохранить изменения потребуется временно заменить права доступа к главному каталогу Moodle. Помните, что, написав следующую команду, вы дадите доступ любому пользователю к корневой папке. Если это нежелательно, права менять не стоит. Вы сможете вручную внести изменения в файл конфигурации.
Если временные изменения прав все-таки требуются, то не забудьте заблокировать доступ обратно после настройки. Наберите:
sudo chmod -R 777 /var/www/html/moodle
Перейдите по ссылке открыв ваш браузер:
http://your_server_ip/moodle
Вы увидите страницу установки на дисплее:
Installation
Choose a language
Please choose a language for the installation. […]
Для настройки Moodle нужно выполнить некоторое количество действий:
1) Укажите язык инсталляции, после чего нажмите Next;
2) В Data Directory задайте папку /var/moodledata, после чего нажмите Next;
3) Выберите Improved MySQL (native mysqli) на странице Choose Data Driver и продолжите установку;
4) Теперь требуется указать пароль и имя пользователя базы данных MySQL для Moodle в разделе Database settings. Другие поля вы можете оставить по умолчанию. И опять нажмите Next;
5) С лицензионным соглашением тоже нужно согласиться, нажав Continue;
6) Если возникнут проблемы и ошибки, о них покажет страница Server Checks. В случае правильной установки всех зависимостей и компонентов вы увидите надпись: «Your server environment meets all minimum requirements». Если все нормально, нажмите продолжить;
7) Приложение поставит некоторое количество дополнительных приложений. Если все пройдет нормально, вы увидите сообщение об успешной установке. После прокрутки до низа экрана нажмите Continue;
8) Теперь вы увидите пустую страницу. Она нужна для настройки учетки администратора Moodle. Имя нужно указать в поле Username, а пароль — в New password. Поле Choose an authentication method оставьте без изменений. Напишите также адрес почты и нажмите Update profile;
9) Заполните поля Short name for site и Full site name на странице Front Page Settings. Не забудьте также указать местоположение, а также разрешите самостоятельную регистрацию посетителей с помощью адреса электронной почты. После всего сохраните изменения.
Завершив все действия, вы увидите панель инструментов новой установки Moodle на экране для администраторской учетной записи. Теперь опять получится ограничить доступ к корневой папке Moodle. Вам нужно набрать в консоли:
sudo chmod -R 0755 /var/www/html/moodle
У Moodle есть такая особенность: приложение создает файлы в каталоге /var/moodledata, менять которые может любой пользователь. Для повышения безопасности требуется поменять стандартные права доступа к файлам. Сначала откройте конфигурацию:
sudo nano /var/www/html/moodle/config.php
Внутри нужно найти строчку:
$CFG->directorypermissions = 0777;
И заменить последнюю цифру, чтобы получилось вот такое:
$CFG->directorypermissions = 0770;
Теперь сохраните изменения и закройте файл. Теперь мы изменим права доступа в папке /var/moodledata ведь ранее в ней были созданы несколько файлов с открытым доступом. Наберите:
sudo chmod -R 0770 /var/moodledata
Мы дошли до того, что уже можно регистрировать свой ресурс Moodle. Хорошо то, что вы будете своевременно уведомлены о новых релизах сервиса или его уязвимостях, благодаря добавления в список рассылок. Для регистрации нужно кликнуть по Site Administration где нажать кнопку Registration. После этого заполните форму регистрации на сайте. У вас также получится опубликовать свой ресурс Moodle, чтобы его могли скачать другие пользователи.
Вы также можете изменить тему сайта с помощью пункта Change Theme. Вы увидите на экране все доступные варианты. Когда выберите понравившуюся тему, нажмите кнопку Use theme рядов с названием для ее установки. Для разных устройств, вроде телефонов и планшетов можно поставить выбрать разные варианты.
Теперь мы с вами попробуем сделать первый курс на Moodle. Используя навигационное меню, выберите Site home, а потом Add a new course. Вы увидите форму на дисплее, в которую придется указать название курса, даты, категории. Кроме того, укажите имя, краткое имя, описание и прочую полезную информацию. После чего сохраните изменения, нажав клавишу Save and display. Вот и все, ваш первый курс готов. Теперь добавляйте уроки или занятия с помощью интерфейса сервиса.
Убедитесь, что установка Moodle готова к производству, прежде чем позволите другим пользователям подписаться на новый курс. Создайте сертификат TSL/SSL для сервера Apache, чтобы трафик между клиентом и сервером надежно шифровался. Кроме того, рекомендуем настроить резервное копирование каталога /var/moodledata и БД MySQL.
Опубликовано: Май 11, 2017