Установка 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, выполните следующее:

  1. Выберите язык установки и нажмите Next.
  2. В новом экране укажите /var/moodledata в Data Directory и нажмите Next.
  3. На странице Choose Database Driver в Database driver выберите Improved MySQL (native mysqli). Нажмите Next.
  4. На странице Database setting укажите имя и пароль пользователя БД MySQL, которую вы создали для Moodle. Остальные поля можно оставить по умолчанию. Нажмите Next.
  5. Примите лицензионное соглашение и нажмите Continue.
  6. Страница Server Checks сообщит вам о возможных проблемах и ошибках. Если все зависимости установлены и не возникло никаких ошибок, на странице будет сообщение «Your server environment meets all minimum requirements». Нажмите Continue
  7. Moodle установит несколько дополнительных компонентов; в случае успешной установки он выведет сообщение «Success». Прокрутите экран вниз и нажмите Continue.
  8. После этого появится страница, на которой можно настроить учетную запись администратора Moodle. В поле Username укажите имя администратора. В поле Choose an authentication method оставьте значение по умолчанию. В New password введите пароль администратора. В поле Email укажите адрес электронной почты. Нажмите Update profile, чтобы продолжить.
  9. На странице 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/.

Читайте также:

Tags: ,

7 комментариев

Добавить комментарий