Перейти к основному содержимому

Разработка:Сеть Moodle

Функция сети Moodle позволяет администратору Moodle установить связь с другим сайтом Moodle или Mahara и поделиться некоторыми ресурсами с пользователями этого Moodle. Пользователи переходят с первого Moodle на связанный сайт через блок Сайты сети MNet.

Обзор

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

ВНИМАНИЕ: MNet требует использования xmlrpc. Пожалуйста, перейдите на вашу страницу phpinfo, если вы заинтересованы в использовании этого, и найдите --with-xmlrpc. Если ваш php не был скомпилирован с xmlrpc, то вам нужно сначала решить эту проблему! В настоящее время кажется, что PEAR xmlrpc не будет работать. ![Настройка MNet в «Админ > Пользователь > Аутентификация > Сеть Moodle»](/img/DevelopmentMoodle_Network/lmsENimg/Administration_Block_Users_Authentication_MoodleNetwork.jpg "Настройка MNet в «Админ > Пользователь > Аутентификация > Сеть Moodle»)

Безопасность

Для работы функции MNet требуется, чтобы на вашем сервере были установлены расширения Curl и OpenSSL. Ваша система сгенерирует сертификат OpenSSL для зашифрованной связи с другими Moodle и будет ежемесячно (приблизительно) менять ключи шифрования.

Связь осуществляется через транспорт XML-RPC, и документы XML-RPC сначала упаковываются в конверт XMLDSIG (XML цифровая подпись), а затем в конверт XMLENC (XML шифрование). Всё шифрование происходит внутри PHP и не требует сервера https (Apache SSL).

Ссылки:

Можно включить специальный режим, который позволит компьютеру с указанным IP-адресом совершать вызовы к слою XML-RPC без использования шифрования или подписей. Этот режим предоставляется для того, чтобы Moodle могла взаимодействовать с другими программными системами, в которых интеграция подписей и шифрования может быть чрезмерно сложной. Не предполагается, что незашифрованное сетевое взаимодействие между Moodle когда-либо будет разрешено.

Одноранговая сеть

Это базовая схема системы. Может быть очень полезно запустить один Moodle для каждого факультета или отдела, каждый со своим управлением пользователями, и при этом разрешить пользователям перемещаться между установками Moodle... в зависимости от разрешений, конечно.

Настройка

Инструкции охватывают две установки Moodle: MoodleA и MoodleB. Обе установлены правильно и никогда не имели конфигурации сети Moodle.

Примечание: Если у вас возникают проблемы, убедитесь, что отладка включена в Управление > Администрирование > Сервер > Отладка. Могут отображаться дополнительные диагностические сообщения.

Вам нужно сначала включить сетевое взаимодействие в Управление > Администрирование > Расширенные возможности. Это добавит меню «Сетевое взаимодействие» в меню администрирования сайта.

  1. Заставьте их общаться друг с другом
    1. Убедитесь, что Управление > Администрирование > Сервер > Среда указывает на наличие установленного curl
    2. Если MoodleA и MoodleB размещены в одном домене, убедитесь, что у них разный префикс cookie. Обратите внимание, что изменение префикса cookie приведёт к выходу из системы! Вы можете изменить префикс cookie через Админ > Сервер > Обработка сеанса.
    3. На обоих сайтах перейдите в Управление > Администрирование > Расширенные возможности и включите сетевое взаимодействие.
    4. На MoodleA перейдите в Управление > Администрирование > Сеть > Управление сайтами сети MNet — введите URL MoodleB в разделе «Добавить новый сайт» и нажмите «Добавить». URL должен включать каталог, где находится ваш код Moodle, и может включать протокол, например https://www.mymoodle.org/moodle.
    5. Сделайте то же самое на MoodleB.
  2. Запустите перемещение пользователей

1 ). На обоих серверах:

    1. Перейдите в Управление > Администрирование > Плагины > Аутентификация > Настройки аутентификации. Включите Аутентификацию MNet, нажав на значок «включить».
    1. На MoodleA перейдите в Управление > Администрирование > Сетевое взаимодействие > (Управление) Сайты, нажмите на «MoodleB» и перейдите на вкладку «Службы». Включите публикацию и подписку SSO-IDP (поставщик идентификаторов единого входа), а также публикацию и подписку SSO-SP (поставщик услуг единого входа).
    2. Сделайте то же самое на MoodleB. (Путем публикации и подписки вы позволяете пользователям свободно перемещаться между двумя серверами. Только публикацией или подпиской между серверами вы создаёте однонаправленный переход)
    3. На обоих сайтах перейдите в Управление > Администрирование > Пользователи > Разрешения > Определить роли, только роли, у которых есть «Перемещение на удалённый Moodle moodle/site:mnetlogintoremote», будут разрешены для перемещения. Предоставьте соответствующие привилегии.
      1. например, включение для Аутентифицированного пользователя позволяет любому аутентифицированному пользователю перемещаться между серверами.
    4. На обоих серверах перейдите на главную страницу и добавьте блок «Сайты сети MNet».
    5. Для тестирования рекомендуется использовать другой браузер (даже на другом компьютере), который не вошёл ни на один из сайтов. Войдите на MoodleA с учётной записью не администратора, у которой есть разрешения на перемещение. Вы должны увидеть блок «Сайты сети MNet», и, нажав на него, вы должны перейти на MoodleB с автоматически созданным аккаунтом.
  1. Запустите удаленное зачисление — это необязательно. Это позволяет администратору MoodleB зачислять пользователей, которые являются «нативными» для MoodleB, на удалённые курсы в MoodleA, и наоборот.
    1. На обоих сайтах перейдите в Администрирование сайта > Плагины > Зачисления > Управление плагинами зачисления и включите плагин удаленного зачисления Mnet (нажмите «Сохранить»). Нажмите «Редактировать» и включите «allow_allcourses» или выберите некоторые курсы или категории для удаленного зачисления.
    2. На сервере, на который вы хотите получать зачисления:
      1. Перейдите в Администрирование сайта > Плагины > Зачисления > Управление плагинами зачисления. Включите Удаленные зачисления MNet, нажав на значок «включить». (Для информации о настройках Удалённых зачислений MNet см. Удаленные зачисления MNet)
    3. На MoodleA перейдите в Админ > Сетевое взаимодействие > Сайты, нажмите на «MoodleB», и перейдите на вкладку «Службы». Включите публикацию и/или подписку зачисления.
    4. Сделайте то же самое на MoodleB.
    5. На каждом курсе, на который вы хотите разрешить зачисление:
      1. Войдите в курс и перейдите в Управление > Управление курсом > Пользователи > Способы зачисления
      2. Из выпадающего списка «Добавить способ» выберите «Удаленные зачисления MNet»
      3. На новом экране выберите Внешний сайт, с которого вы хотите разрешить зачисление, роль для зачисленных пользователей и нажмите «Сохранить». (Примечание: вы можете добавить только один метод Удалённых зачислений MNet на курс.)

Использование

  1. В MoodleA перейдите в Админ > Сетевое взаимодействие > Клиент удаленного зачисления. Вы увидите MoodleB в списке. Нажмите кнопку «Редактировать зачисление» рядом с MoodleB, и вы увидите список курсов, которые MoodleB предлагает для удаленного зачисления. Нажмите «Редактировать зачисление», выберите пользователей, которых хотите зачислить, и нажмите «Добавить», чтобы зачислить их на курс.

Подключение к хабу Mnet

Хаб Mnet (не путайте его с Общественным хабом) — это сервер Moodle, который настроен на приём соединений от других серверов Moodle и предоставление набора услуг пользователям этих других серверов. Это руководство поможет вам подключиться к хабу Mnet, оценить предлагаемые им услуги и включить эти услуги для ваших пользователей.

Настройка

  1. Начните общение с хабом
    1. Убедитесь, что страница Админ > Сервер > Среда указывает на наличие установленных curl и openssl
    2. Перейдите в Админ > Расширенные возможности и включите сетевое взаимодействие
    3. Перейдите в Админ > Сеть > Сайты и введите URL хаба Mnet в разделе «Добавить новый сайт». Нажмите Добавить
    4. Детали хоста для хаба Mnet должны появиться с уже заполненным полем «Название сайта». Нажмите