- Moodle
- Запуск web инсталлятора
- Создание config.php
- Первичная настройка
- Специфика ALT Linux
- Выставление пароля администратора
- Аутентификация в ALT-домене
- Coderunner
- Решение проблем
- Запуск инсталлятора
- Не удается инициализировать сессию PHP
- Hostname
- Ссылки
- Moodle/3
- Создание базы
- Инициализация moodle
- Решение возможных проблем
- Полная поддержка utf-8 (emojii)
- Инициализация стилей
- TODO
- Moodle/3
- Создание базы
- Инициализация moodle
- Решение возможных проблем
- Полная поддержка utf-8 (emojii)
- Инициализация стилей
- TODO
Moodle
При условии локального MySQL сервера и отсутствии пароля для MySQL пользователя root , можно использовать следующую последовательность команд (см. Создание базы данных):
$ mysql -u root mysql> CREATE DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'moodlepasswd'; mysql> quit $ mysqladmin -u root reload
Запуск web инсталлятора
Дальнейшая установка Moodle выполняется через web инсталлятор, запускаемый при обращении по URL вида http:///install.php
Создание config.php
Конфигурационные файлы Moodle:
/var/www/webapps/moodle/config.php основной файл конфигурации /etc/sysconfig/mt-plugins параметры плагинов, в частности, плагина аутентификации через LDAP
Первичная настройка
Специфика ALT Linux
При установке пакета installed-db-office-server-moodle (в репозиториях p5 и p6 пакет назывался installed-db-office-server ) Moodle получает следующие возможности:
Выставление пароля администратора
При установке дистрибутива или смене пароля системного администратора (root) он меняется и в Moodle (имя администратора admin) (хук /usr/lib/alterator/hooks/root.d/installed-db ). То есть при установке дистрибутива ALT Linux с Moodle (например, Информика 6.0 Школьный Сервер) можно сразу зайти под администратором:
Адрес: https:///moodle/ Имя пользователя: admin Пароль: такой же, как указали при установке для системного администратора
Аутентификация в ALT-домене
При использовании ALT-домена Moodle настраивается для аутентификации через LDAP (принимает пользователей, заведённых в домене) (хук /etc/hooks/hostname.d/94-moodle-ldap ).
Фактически после создания домена в файле /etc/sysconfig/mt-plugins должны быть указаны два параметры:
$default_plugins_params = array( 'auth_plugin_ldap' => array( 'host_url' => 'ldap://localhost', 'contexts' => 'ou=People,', .
В командной строке они прописываются так:
DOMAIN=ou=People,`cat /etc/openldap/ldap.conf | grep "^base" | sed 's/^base //'` mt-install-auto --install=no --lang=ru --plugins-setparams --wwwrootnew --wwwrootsitename=$(hostname) --ldaphosturl=ldap://localhost --ldapcontexts="$DOMAIN" --authinsert='ldap'
К сожалению, contexts может не прописываться в старых версиях пакета installed-db-office-server . Добавьте его вручную, как показано выше.
Coderunner
Для использования плагина Coderunner необходимо установить пакет moodle-qtype_coderunner и выполнить под root:
Решение проблем
Запуск инсталлятора
Для запуска установщика нужно зайти на http://ip-адрес/moodle
Не удается инициализировать сессию PHP
После установки Moodle 2.5 (а возможно и прочих версий 2.x) невозможно зайти на сайт, появляется ошибка:
Не удается инициализировать сессию PHP; пожалуйста, убедитесь, что Ваш браузер принимает cookies.
В /var/www/webapps/moodle/config.php добавляем строчку
require_once(dirname(__FILE__) . '/lib/setup.php');
Hostname
По умолчанию Moodle определяет локальный адрес хоста и требует, чтобы заходили по полному имени. Если имя хоста на сервере при установке полноценное не задано, то к Moodle можно обратиться из графической среды самого сервера (зайти обычным пользователем в консоли и запустить
Затем в Firefox зайти на страницу https://localhost.localdomain/moodle.
Пользователь-администратор: admin, пароль такой же, как задавали у администратора во время установки. Заполняем поля со звёздочкой и применяем изменения.
Дальше меняем имя хоста. Это делается в двух местах:
1. в базе: открываем в браузере страницу https://localhost.localdomain/moodle/admin/tool/replace/
- В первом поле указываем localhost.localdomain
- Во втором поле — имя хоста, видимое из нужной сети (локальной или глобальной)
- Устанавливаем флажок «I understand the risks of this operation»
- Нажимаем кнопку «Yes, do it now»
2. замена в конфигурационном файле. В консоли сервера под root:
subst 's/localhost.localdomain//' /var/www/webapps/moodle/config.php
Теперь можно попробовать зайти под нормальным именем.
Ссылки
Moodle/3
В репозиториях ALT Linux moodle 3.3 представлен метапакетом moodle3.3, который устанавливает moodle3.3-base, moodle3.3-local-mysql, moodle3.3-apache2, moodle3.3-auth-pam и зависимости к ним.
Создание базы
Для создания базы данных воспользуемся утилитой mysql:
Далее создаём базу и настраиваем её, в том числе создавая пользователя (в примере — moodleuser) для работы с базой.
> CREATE DATABASE moodle; > ALTER DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'moodlepassword'; > QUIT
Инициализация moodle
Для инициализации moodle нужно обратиться к его адресу в браузере:
Будет запущен веб-интерфейс установщика, с помощью которого будет инициализирован moodle и произведены проверки на соответствие системы требованиям. В параметрах БД нужно указать имя пользователя и пароль к mysql, которые были установлены на шаге «Создание базы». После всех проверок и инициализаций, а также регистрации администратора сайта, сайт доступен в сети по своему адресу.
Решение возможных проблем
Полная поддержка utf-8 (emojii)
В ходе инициализации сайта может появиться предупреждение о неполной поддержке utf-8, что может привести к неправильному отображению emojii. Ошибка не критичная, но можно избавиться от неё, установив поддержку utf8mb4.
1. Внести изменения в конфиг mysql и перезапустить сервис: == mysql-clients.cnf == [mysql] default-character-set = utf8mb4 (изменить) == client.cnf == [client] default-character-set = utf8mb4 (изменить) == server.cnf: == [mysqld] collation-server = utf8mb4_unicode_ci (изменить) character-set-server = utf8mb4 skip-character-set-client-handshake innodb_file_format = Barracuda innodb_file_per_table = 1 (проверить) innodb_large_prefix 2. Выполнить скрипт $ php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci 3. Внести изменения в config.php $CFG->dboptions = array( … 'dbcollation' => 'utf8mb4_unicode_ci', (изменить значение) … );
Инициализация стилей
Создание стилей происходит в момент запуска сайта при условии, что стили ещё не сгенерированы. В этот момент сайту может не хватить памяти (96M), что приведёт к ошибке 500 после долгой попытки ожидания. Как следствие, каждая страница сайта загружается более 15 секунд и в результате не содержит стилей.
Решение: для генерации стилей сайт запрашивает что-то около 300M памяти. Нужно в файле /etc/httpd2/conf/include/Directory_moodle_default.conf установить параметр memory_limit в значение, например, 512M. Также понадобится настроить memory_limit в файлах php.ini в /etc/php (по умолчанию 128M).
TODO
Moodle/3
В репозиториях ALT Linux moodle 3.3 представлен метапакетом moodle3.3, который устанавливает moodle3.3-base, moodle3.3-local-mysql, moodle3.3-apache2, moodle3.3-auth-pam и зависимости к ним.
Создание базы
Для создания базы данных воспользуемся утилитой mysql:
Далее создаём базу и настраиваем её, в том числе создавая пользователя (в примере — moodleuser) для работы с базой.
> CREATE DATABASE moodle; > ALTER DATABASE moodle DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON moodle.* TO moodleuser@localhost IDENTIFIED BY 'moodlepassword'; > QUIT
Инициализация moodle
Для инициализации moodle нужно обратиться к его адресу в браузере:
Будет запущен веб-интерфейс установщика, с помощью которого будет инициализирован moodle и произведены проверки на соответствие системы требованиям. В параметрах БД нужно указать имя пользователя и пароль к mysql, которые были установлены на шаге «Создание базы». После всех проверок и инициализаций, а также регистрации администратора сайта, сайт доступен в сети по своему адресу.
Решение возможных проблем
Полная поддержка utf-8 (emojii)
В ходе инициализации сайта может появиться предупреждение о неполной поддержке utf-8, что может привести к неправильному отображению emojii. Ошибка не критичная, но можно избавиться от неё, установив поддержку utf8mb4.
1. Внести изменения в конфиг mysql и перезапустить сервис: == mysql-clients.cnf == [mysql] default-character-set = utf8mb4 (изменить) == client.cnf == [client] default-character-set = utf8mb4 (изменить) == server.cnf: == [mysqld] collation-server = utf8mb4_unicode_ci (изменить) character-set-server = utf8mb4 skip-character-set-client-handshake innodb_file_format = Barracuda innodb_file_per_table = 1 (проверить) innodb_large_prefix 2. Выполнить скрипт $ php admin/cli/mysql_collation.php --collation=utf8mb4_unicode_ci 3. Внести изменения в config.php $CFG->dboptions = array( … 'dbcollation' => 'utf8mb4_unicode_ci', (изменить значение) … );
Инициализация стилей
Создание стилей происходит в момент запуска сайта при условии, что стили ещё не сгенерированы. В этот момент сайту может не хватить памяти (96M), что приведёт к ошибке 500 после долгой попытки ожидания. Как следствие, каждая страница сайта загружается более 15 секунд и в результате не содержит стилей.
Решение: для генерации стилей сайт запрашивает что-то около 300M памяти. Нужно в файле /etc/httpd2/conf/include/Directory_moodle_default.conf установить параметр memory_limit в значение, например, 512M. Также понадобится настроить memory_limit в файлах php.ini в /etc/php (по умолчанию 128M).