Moodle: различия между версиями

Материал из ALT Linux Wiki
 
(не показано 9 промежуточных версий 3 участников)
Строка 34: Строка 34:
:параметры плагинов, в частности, плагина аутентификации через LDAP
:параметры плагинов, в частности, плагина аутентификации через LDAP


=== Специфика ALT Linux ===
===Первичная настройка===
См. [http://docs.moodle.org/archive/ru/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Moodle#.D0.9F.D0.B5.D1.80.D0.B5.D1.85.D0.BE.D0.B4_.D0.BA_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D0.B5_.D0.B0.D0.B4.D0.BC.D0.B8.D0.BD.D0.B8.D1.81.D1.82.D1.80.D0.B0.D1.82.D0.BE.D1.80.D0.B0_.D0.B4.D0.BB.D1.8F_.D0.BF.D1.80.D0.BE.D0.B4.D0.BE.D0.BB.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B8 # 6 Переход к странице администратора для продолжения конфигурации]
 
== Специфика ALT Linux ==


При установке пакета {{pkg|installed-db-office-server}} Moodle получает следующие возможности:
При установке пакета {{pkg|installed-db-office-server-moodle}} (в репозиториях p5 и p6 пакет назывался {{pkg|installed-db-office-server}}) Moodle получает следующие возможности:


==== Выставление пароля администратора ====
=== Выставление пароля администратора ===
При установке дистрибутива или смене пароля системного администратора (root) он меняется и в Moodle (хук {{path|/usr/lib/alterator/hooks/root.d/installed-db}}). То есть при установке дистрибутива ALT Linux с Moodle (например, Информика 6.0 Школьный Сервер) можно сразу зайти под администратором:  
При установке дистрибутива или смене пароля системного администратора (root) он меняется и в Moodle (имя администратора '''admin''') (хук {{path|/usr/lib/alterator/hooks/root.d/installed-db}}). То есть при установке дистрибутива ALT Linux с Moodle (например, Информика 6.0 Школьный Сервер) можно сразу зайти под администратором:  


<pre>Адрес: https://<имя сервера>/moodle/
<pre>Адрес: https://<имя сервера>/moodle/
Строка 45: Строка 48:
Пароль: такой же, как указали при установке для системного администратора</pre>
Пароль: такой же, как указали при установке для системного администратора</pre>


==== Аутентификация в ALT-домене ====
=== Аутентификация в ALT-домене ===
При использовании [[Домен|ALT-домена]] Moodle настраивается для аутентификации через LDAP (принимает пользователей, заведённых в домене) (хук {{path|/etc/hooks/hostname.d/94-moodle-ldap}}).
При использовании [[Домен|ALT-домена]] Moodle настраивается для аутентификации через LDAP (принимает пользователей, заведённых в домене) (хук {{path|/etc/hooks/hostname.d/94-moodle-ldap}}).


===Первичная настройка===
Фактически после создания домена в файле {{path|/etc/sysconfig/mt-plugins}} должны быть указаны два параметры:
См. [http://docs.moodle.org/archive/ru/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_Moodle#.D0.9F.D0.B5.D1.80.D0.B5.D1.85.D0.BE.D0.B4_.D0.BA_.D1.81.D1.82.D1.80.D0.B0.D0.BD.D0.B8.D1.86.D0.B5_.D0.B0.D0.B4.D0.BC.D0.B8.D0.BD.D0.B8.D1.81.D1.82.D1.80.D0.B0.D1.82.D0.BE.D1.80.D0.B0_.D0.B4.D0.BB.D1.8F_.D0.BF.D1.80.D0.BE.D0.B4.D0.BE.D0.BB.D0.B6.D0.B5.D0.BD.D0.B8.D1.8F_.D0.BA.D0.BE.D0.BD.D1.84.D0.B8.D0.B3.D1.83.D1.80.D0.B0.D1.86.D0.B8.D0.B8 # 6 Переход к странице администратора для продолжения конфигурации]
<source lang="PHP"><?php
 
$default_plugins_params = array(
        'auth_plugin_ldap' => array(
                'host_url' => 'ldap://localhost',
                'contexts' => 'ou=People,<DN домена>',
...</source>
 
В командной строке они прописываются так:
<source lang="Bash">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'</source>
 
К сожалению, contexts может не прописываться в старых версиях пакета {{pkg|installed-db-office-server}}. Добавьте его вручную, как показано выше.
 
{{todo|И это тоже не работает...}}
 
=== Coderunner ===
 
Для использования плагина Coderunner необходимо установить пакет {{pkg|moodle-qtype_coderunner}} и выполнить под root:
<source lang="text" highlight="1"># control sudo public</source>
 
== Решение проблем ==
=== Запуск инсталлятора ===
Для запуска установщика нужно зайти на http://ip-адрес/moodle
=== Не удается инициализировать сессию PHP ===
После установки Moodle 2.5 (а возможно и прочих версий 2.x) невозможно зайти на сайт, появляется ошибка:
Не удается инициализировать сессию PHP; пожалуйста, убедитесь, что Ваш браузер принимает cookies.
Решение:
 
В /var/www/webapps/moodle/config.php добавляем строчку
$CFG->dbsessions='0';
перед строкой
require_once(dirname(__FILE__) . '/lib/setup.php');
Жмем '''Продолжить'''
 
=== Hostname ===
 
По умолчанию Moodle определяет локальный адрес хоста и требует, чтобы заходили по полному имени. Если имя хоста на сервере при установке полноценное не задано, то к Moodle можно обратиться из графической среды самого сервера (зайти обычным пользователем в консоли и запустить
 
startx
 
Затем в Firefox зайти на страницу <tt><nowiki>https://localhost.localdomain/moodle</nowiki></tt>.
 
Пользователь-администратор: admin, пароль такой же, как задавали у администратора во время установки. Заполняем поля со звёздочкой и применяем изменения.
 
Дальше меняем имя хоста. Это делается в двух местах:
 
1. в базе: открываем в браузере страницу <tt><nowiki>https://localhost.localdomain/moodle/admin/tool/replace/</nowiki></tt>
 
* В первом поле указываем {{prg|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
 
Теперь можно попробовать зайти под нормальным именем.
 
== Ссылки ==
== Ссылки ==
* [http://docs.altlinux.org/archive/p5/school-server/#_moodle Обучающая среда Moodle в Альт Линукс 5.0 Школьный Сервер]
* [http://docs.altlinux.org/archive/p5/school-server/#_moodle Обучающая среда Moodle в Альт Линукс 5.0 Школьный Сервер]
Строка 57: Строка 119:


[[Категория:Moodle]]
[[Категория:Moodle]]
[[Категория:Admin]]
[[Категория:Web]]
[[Категория:Web]]
[[Категория:Sisyphus]]
[[Категория:Sisyphus]]
[[Категория:Admin]]
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}}

Текущая версия от 13:08, 11 ноября 2021

Задача

Установить Moodle используя под apache2, используя локальный MySQL сервер. (Примерно так, как описано в документации, см. Настройка Moodle в среде Альт Линукс 5.0 Школьный Сервер.)

Установка

Установка пакетов

Потребуется установка следующих пакетов:

  • moodle — код Moodle. По зависимостям вытягивает php5 и необходимые модули.
  • moodle-lang-ru_utf8 — пакет русской локализации (по умолчанию присутствует только английская локаль).
  • moodle-apache2 — настройки apache2 для работы Moodle. По зависимостям вытягивает apache2 и apache2-mod_php5.
  • moodle-local-mysql — По зависимостям вытягивает MySQL-server и php5-mysql.

Создание и настройка БД

Будем использовать БД со следующими параметрами:

  • имя — moodle
  • пользователь — moodleuser
  • пароль — moodlepasswd

При условии локального 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://<ip>/install.php

Создание config.php

См. Запуск установочного файла для создания файла config.php

Конфигурационные файлы Moodle:

/var/www/webapps/moodle/config.php
основной файл конфигурации
/etc/sysconfig/mt-plugins
параметры плагинов, в частности, плагина аутентификации через LDAP

Первичная настройка

См. # 6 Переход к странице администратора для продолжения конфигурации

Специфика 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 должны быть указаны два параметры:

<?php

$default_plugins_params = array(
        'auth_plugin_ldap' => array(
                'host_url' => 'ldap://localhost',
                'contexts' => 'ou=People,<DN домена>',
...

В командной строке они прописываются так:

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. Добавьте его вручную, как показано выше.

TODO:
И это тоже не работает...


Coderunner

Для использования плагина Coderunner необходимо установить пакет moodle-qtype_coderunner и выполнить под root:

# control sudo public

Решение проблем

Запуск инсталлятора

Для запуска установщика нужно зайти на http://ip-адрес/moodle

Не удается инициализировать сессию PHP

После установки Moodle 2.5 (а возможно и прочих версий 2.x) невозможно зайти на сайт, появляется ошибка:

Не удается инициализировать сессию PHP; пожалуйста, убедитесь, что Ваш браузер принимает cookies.

Решение:

В /var/www/webapps/moodle/config.php добавляем строчку

$CFG->dbsessions='0';

перед строкой

require_once(dirname(__FILE__) . '/lib/setup.php');

Жмем Продолжить

Hostname

По умолчанию Moodle определяет локальный адрес хоста и требует, чтобы заходили по полному имени. Если имя хоста на сервере при установке полноценное не задано, то к Moodle можно обратиться из графической среды самого сервера (зайти обычным пользователем в консоли и запустить

startx

Затем в 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

Теперь можно попробовать зайти под нормальным именем.

Ссылки