Установка Moodle на сервер Ubuntu 16.04
Moodle – это популярная открытая система управления обучением (LMS). Moodle позволяет создавать обучающие ресурсы, такие как онлайн-курсы, материалы для чтения и форумы для учащихся. Эта программа обладает большим количеством функций для обеспечения эффективного онлайн-обучения и может масштабироваться от небольшой группы до сотен тысяч студентов.
Также Moodle позволяет управлять доступом к материалам на основе ролей учащихся.
Данное руководство поможет установить Moodle на сервер Ubuntu 16.04, настроить зависимости, выбрать тему и создать первый курс.
Требования
- Сервер Ubuntu 16.04 (Moodle требует минимум 512MB памяти, но рекомендуемый объем сервера – 1GB).
- 200MB дискового пространства для кода Moodle + пространство для хранения контента.
- Пользователь с доступом к sudo.
- Настроенный брандмауэр (инструкции по настройке – здесь).
- Стек LAMP (установить его поможет это руководство). Обязательно запишите/запомните root-пароль MySQL.
1: Установка Moodle и зависимостей
Для работы Moodle требуется дополнительное программное обеспечение, в том числе библиотеки проверки орфографии и графические библиотеки. 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 в файл 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
Вы увидите список файлов приложения 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
2: Настройка базы данных для Moodle
Теперь нужно создать БД 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';
Закройте командную строку MqSQL.
quit;
3: Настройка Moodle в браузере
Чтобы завершить настройку приложения Moodle, откройте сайт в веб-браузере и предоставьте ему дополнительные сведения о конфигурации. Чтобы веб-сервер мог сохранить конфигурацию, необходимо временно изменить права на корневой каталог 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, выполните следующее:
- Выберите язык установки и нажмите Next.
- В новом экране укажите /var/moodledata в Data Directory и нажмите Next.
- На странице Choose Database Driver в Database driver выберите Improved MySQL (native mysqli). Нажмите Next.
- На странице Database setting укажите имя и пароль пользователя БД MySQL, которую вы создали для Moodle. Остальные поля можно оставить по умолчанию. Нажмите Next.
- Примите лицензионное соглашение и нажмите Continue.
- Страница Server Checks сообщит вам о возможных проблемах и ошибках. Если все зависимости установлены и не возникло никаких ошибок, на странице будет сообщение «Your server environment meets all minimum requirements». Нажмите Continue
- Moodle установит несколько дополнительных компонентов; в случае успешной установки он выведет сообщение «Success». Прокрутите экран вниз и нажмите Continue.
- После этого появится страница, на которой можно настроить учетную запись администратора Moodle. В поле Username укажите имя администратора. В поле Choose an authentication method оставьте значение по умолчанию. В New password введите пароль администратора. В поле Email укажите адрес электронной почты. Нажмите Update profile, чтобы продолжить.
- На странице Front Page Settings заполните поля Full site name и Short name for site, задайте местоположение и при необходимости разрешите саморегистрацию пользователей по электронной почте. Нажмите Save changes.
После этого на экране появится панель инструментов новой установки Moodle для администратора.
Примечание: Настройка завершена. Теперь вы можете снова ограничить доступ к корневому каталогу Moodle. Для этого введите:
sudo chmod -R 0755 /var/www/html/moodle
По умолчанию Moodle создаёт в каталоге /var/moodledata файлы, право на изменение которых есть у любого пользователя. Чтобы повысить безопасность Moodle, нужно изменить стандартные права на файлы Moodle.
Откройте конфигурацию:
sudo nano /var/www/html/moodle/config.php
Найдите строку:
$CFG->directorypermissions = 0777;
Замените её следующей строкой:
$CFG->directorypermissions = 0770;
Сохраните и закройте файл.
Затем нужно изменить права на сам каталог /var/moodledata, поскольку во время установки приложение Moodle создало несколько файлов с открытым доступом.
sudo chmod -R 0770 /var/moodledata
4: Пользовательская настройка Moodle и создание курса
Теперь нужно зарегистрировать свой сайт Moodle. При этом вы будете добавлены в список рассылки Moodle и сможете своевременно получать информацию об уязвимостях или новых релизах.
Чтобы зарегистрироваться, кликните ссылку Site Administration и нажмите Registration. Заполните форму онлайн-регистрации. Также вы можете опубликовать свой сайт Moodle, чтобы другие могли его найти.
Теперь попробуйте изменить тему сайта Moodle. Выберите Site Administration, откройте вкладку Appearance и выберите Theme selector. На экране появится страница настроек, разделённая на поля Device type, Current theme и Information. В последнем указана текущая тема устройства Default, в данном случае это Boost.
Чтобы изменить тему, нажмите Change theme. На экране появится страница, на которой представлены другие доступные темы. Чтобы выбрать тему, нажмите кнопку Use theme рядом с именем темы. Для разных устройств (телефонов, планшетов) можно выбрать разные темы.
Теперь попробуйте создать первый курс Moodle. В меню навигации выберите Site home и нажмите Add a new course.
На экране появится форма, где нужно указать название курса, категорию, даты и т.п.
Введите информацию о своем курсе, включая имя, краткое имя, описание и другие сведения. Затем прокрутите страницу вниз и нажмите Save and display.
Первый курс Moodle готов. Вы можете добавить уроки и занятия к курсу, используя интерфейс Moodle.
Но прежде чем позволить другим пользователям подписываться на новый курс, вы должны убедиться, что установка Moodle готова к производству. Для начала рекомендуется создать сертификат TSL/SSL для веб-сервера Apache, который зашифрует трафик между сервером и клиентом.
Также можно настроить резервное копирование данных MySQL и каталога /var/moodledata/.
Читайте также:
- Создание сертификата Let’s Encrypt для Apache в Ubuntu 16.04
- Бэкап базы данных MySQL на сервере Ubuntu
- Как выбрать стратегию резервного копирования для VPS
7 комментариев
https://uploads.disquscdn.com/images/2ba0a33b731d3a3be7e8c57635735f55442a12481a8a9296dfc816909034fdff.png Не подскажите почему после установки Moodle я вижу это? Вместо –
Installation
Choose a language
Please choose a language for the installation. […]
Потому что php на сервере не работает
Благодарю за ответ. Я понимаю что php не работает. Но не понимаю почему он не работает. Все пакеты подтянулись, ошибок не было. Но ни moodle, ни тестовый скрипт php-info не стартует. Раньше с таким не сталкивался, обычно php всегда работал после установки (в других проектах) =/
Проблема оказалось в том, что не хватало части пакетов не описанных в статье. И помогла вот эта статейка – https://www.digitalocean.com/community/tutorials/linux-apache-mysql-php-lamp-ubuntu-16-04-ru
Проблема оказалось в том, что не хватало части пакетов не описанных в статье. И помогла вот эта статейка – https://www.digitalocean.com/community/tutorials/linux-apache-mysql-php-lamp-ubuntu-16-04-ru
Спасибо за статью!
Спасибо за статью, было полезно. Возможно, кому-то пригодится. в блоге ispring есть гайд по moodle – от обзора возможностей до инструкций по установке, настройке, созданию контента https://www.ispring.ru/elearning-insights/moodle