MNet
Функция сети Moodle позволяет администратору Moodle установить связь с другим сайтом Moodle или Mahara и поделиться некоторыми ресурсами с пользователями этого Moodle. Пользователи п ереходят с первого Moodle на связанный сайт через блок Сайты сети MNet.
Обзор
Первоначальная версия MNet поставляется с плагином аутентификации, который делает возможным единый вход в систему между Moodle. Пользователь с именем пользователя jody входит на свой сервер Moodle как обычно и нажимает на ссылку, которая ведёт на страницу другого сервера Moodle. Обычно у неё были бы только права гостя на удалённом Moodle, но за кулисами единый вход создаёт полностью аутентифицированный сеанс для Jody на удалённом сайте.
ВНИМАНИЕ: MNet требует использования xmlrpc. Пожалуйста, перейдите на вашу страницу phpinfo, если вы заинтересованы в использовании этого, и найдите --with-xmlrpc. Если ваш php не был скомпилирован с xmlrpc, то вам нужно сначала это исправить! В настоящее время кажется, что PEAR xmlrpc не будет работать. 
Безопасность
Функция 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.
Примечание: если у вас возникли проблемы, убедитесь, что отладка включена в Управление > Администрирование > Сервер > Отладка. Могут отображаться допо лнительные диагностические сообщения.
Вам нужно сначала включить сетевое взаимодействие в Управление > Администрирование > Расширенные возможности. Это добавит меню «Сетевое взаимодействие» в меню администрирования сайта.
- Заставьте их общаться друг с другом
- Убедитесь, что Управление > Администрирование > Сервер > Среда указывает на наличие установленного curl
- Если MoodleA и MoodleB размещены в одном домене, убедитесь, что у них разный префикс cookie. Обратите внимание, что изменение префикса cookie приведёт к выходу из системы! Вы можете изменить префикс cookie через Админ > Сервер > Обработка сеанса.
- На обоих перейдите в Управление > Администрирование > Расширенные возможности и включите сетевое взаимодействие.
- На MoodleA перейдите в Управление > Администрирование > Сеть > Управление сайтами сети MNet — введите URL MoodleB в разделе «Добавить новый хост» и нажмите «Добавить». URL должен включать каталог, в котором находится ваш код Moodle, и может включать протокол, например https://www.mymoodle.org/moodle.
- Сделайте т о же самое на MoodleB.
- Запустите перемещение пользователей
1 ). На обоих серверах:
1.1. Перейдите в *Управление > Администрирование > Плагины > Аутентификация > Настройки аутентификации*. Включите *Аутентификацию MNet*, нажав на значок «включить».
1.2. На MoodleA перейдите в *Управление > Администрирование > Сетевое взаимодействие > (Управление) Сайты* , нажмите на «MoodleB», а затем на вкладку «Службы». Включите публикацию и подписку SSO-IDP (поставщик идентификаторов единого входа) и публикацию и подписку SSO-SP (поставщик услуг единого входа).
1.3. Сделайте то же самое на MoodleB. (Путем публикации и подписки вы позволяете пользователям свободно перемещаться между двумя серверами. Только публикацией или подпиской между серверами вы создаёт е однонаправленный переход)
1.4. На обоих перейдите в *Управление > Администрирование > Пользователи > Разрешения > Определить роли*, только те роли, у которых есть «Переход на удалённый Moodle moodle/site:mnetlogintoremote», будут разрешены для перехода. Предоставьте соответствующие привилегии.
1. Например, включение для *Аутентифицированного пользователя* позволяет любому аутентифицированному пользователю перемещаться между серверами.
1.5. На обоих серверах перейдите на главную страницу и добавьте блок «Сайты сети MNet».
1.6. Для тестирования рекомендуется использовать другой браузер (даже на другом компьютере), который не зарегистрирован ни на одном из них. Войдите в MoodleA с учётной записью не администратора, у которой есть разрешения на переход. Вы должны увидеть блок «Сайты сети MNet», и, нажав на него, вы должны перейти на MoodleB с вновь автоматически созданным аккаунтом.
3. Запустите удаленное зачисление на курсы — это необязательно. Это позволяет администратору MoodleB зачислять пользователей, которые являются «нативными» для MoodleB, на удалённые курсы в MoodleA, и наоборот. 1. На обоих перейдите в Администрирование сайта > Плагины > Зачисления > Управление плагинами зачисления и включите плагин удалённых зачислений Mnet (нажмите «Сохранить»). Нажмите «Редактировать» и включите «allow_allcourses» или выберите некоторые курсы или категории для удалённого зачисления. 2. На сервере, на который вы хотите получать зачисления: 1. Перейдите в Администрирование сайта > Плагины > Зачисления > Управление плагинами зачисления. Включите Удалённые зачисления MNet, нажав на значок «включить». (Для информации о настройках Удалённых зачислений MNet см. Удалённые зачисления MNet) 3. На MoodleA перейдите в Админ > Сетевое взаимодействие > Сайты, нажмите на «MoodleB» и на вкладку «Службы». Включите публикацию и/или подписку зачисления. 4. Сделайте то же самое на MoodleB. 5. На каждом курсе, на который вы хотите разрешить зачисление: 1. Войдите в курс и перейдите в Управление > Управление курсом > Пользователи > Способы зачисления 2. Из выпадающего списка «Добавить способ» выберите «Удалённое зачисление MNet» 3. На новом экране выберите Внешний сайт, с которого вы хотите разрешить зачисление, роль для зачисленных пользователей и нажмите «Сохранить». (Примечание: вы можете добавить только один метод Удалённого зачисления MNet на курс.)
Использование
- В MoodleA перейдите в Админ > Сетевое взаимодействие > Клиент удалённого зачисления. Вы увидите MoodleB в списке. Нажмите кнопку «Редактировать зачисление» рядом с MoodleB, и вы увидите список курсов, которы е MoodleB предлагает для удалённого зачисления. Нажмите «Редактировать зачисление», выберите пользователей, которых хотите зачислить, и нажмите «Добавить», чтобы зачислить их на курс.
Подключение к хабу Mnet
Хаб Mnet (не путайте его с Общественным хабом) — это сервер Moodle, который настроен на приём соединений от других серверов Moodle и предоставление набора услуг пользователям этих других серверов. Это руководство поможет вам подключиться к хабу Mnet, оценить предлагаемые им услуги и включить эти услуги для ваших пользователей.
Настройка
- Начните общение с хабом
- Убедитесь, что страница Админ > Сервер > Среда указывает на наличие установленных curl и openssl
- Перейдите в Админ > Расширенные возможности и включите сетевое взаимодействие
- Перейдите в Админ > Сеть > Сайты и введите URL хаба Mnet в разделе «Добавить новый хост». Нажмите Добавить
- Сведения о хосте для хаба Mnet должны появиться с уже заполненным полем «Название сайта». Нажмите Сохранить изменения
- Сведения будут записаны в вашу базу данных, и в этом окне появятся две новые вкладки: «Службы» и «Журналы». Нажмите Службы
- Появится список услуг, каждая с флажком для «публикации» и «подписки». Установите флажки для