MNet

Moodleネットワーク機能により、Moodle管理者は他のMoodleまたはMaharaサイトとリンクを確立し、そのMoodleのユーザとリソースを共有することができます。ユーザーは最初のMoodleからネットワークサーバーブロックを経由してリンク先のサイトへ行きます

Networkserversexample.png


概要

MNetの最初のリリースには、Moodles間のシングルサインオンを可能にする認証プラグインがバンドルされています。ユーザ名がjodyのユーザは、通常通り自分のMoodleサーバにログインし、他のMoodleサーバのページに移動するためのリンクをクリックします。通常、彼女はリモートMoodleに対するゲストの権限のみを持っていますが、舞台裏ではシングルサインオンはリモートサイトでJodyのための完全に認証されたセッションを確立しました。

警告: MNetはxmlrpcの使用を必要とします。これを使用したい場合はphpinfoページに行き、--with-xmlrpcを検索してください。あなたのphpがxmlrpcでコンパイルされていないなら、あなたは最初にそれに対処する必要があります!現在のところ、PEAR xmlrpcは機能しないようです。

管理>ユーザー>認証> Moodleネットワークの MNet設定

セキュリティ

MNet機能を使用するには、サーバーにCurlおよびOpenSSL拡張機能がインストールされている必要があります。あなたのシステムは他のMoodlesとの暗号化通信のためのOpenSSL証明書を生成し、毎月暗号化キーを交替します(およそ)。

通信はXML-RPCトランスポートを介して行われ、XML-RPC文書は最初にXMLDSIG(XMLデジタル署名)エンベロープにラップされ、次にXMLENC(XML暗号化)エンベロープにラップされます。暗号化はすべてPHP内で行われ、https(Apache SSL)サーバーは必要ありません。

参考文献:

指定されたIPアドレスを持つマシンが暗号化または署名エンベロープを使用せずにXML-RPC層を呼び出すことを許可する特別なモードを有効にすることができます。このモードは、Moodleが他のソフトウェアシステムと通信することを可能にするために提供されています。そして、それは署名と暗号化の統合がひどく困難であるかもしれません。暗号化されていないMoodle間ネットワーキングが可能になるとは考えられていません。

ピアツーピアネットワーク

これがシステムの基本レイアウトです。教員や学部ごとに1つずつMoodleを実行し、それぞれ独自のユーザ管理を行いながら、ユーザがMoodleのインストール全体をローミングできるようにすることは非常に便利です。もちろん権限によります。

セットアップ

説明は2つのMoodleインストール:MoodleAとMoodleBをカバーします。どちらも正しくインストールされており、Moodleネットワークの設定は一度もありません。

注:問題が発生した場合は、[ 管理]> [サイト管理]> [サーバー]> [デバッグ]でデバッグが有効になっていることを確認してください。追加の診断メッセージが表示されることがあります。

最初に[管理]> [サイトの管理]> [拡張機能]でネットワークを有効にする必要があります 。これにより、[ネットワーク]メニューが[サイトの管理]メニューに追加されます。

  1. 彼らにお互いに話をしてもらう
    1. [管理]> [サイトの管理]> [サーバー]> [環境]の順にクリックし、カールがインストールされていることを確認します。
    2. MoodleAとMoodleBが同じドメインでホストされている場合、それらが異なるクッキープレフィックスを持っていることを確認してください。 Cookieプレフィックスを変更するとログアウトすることに注意してください。あなたはAdmin> Server> Session Handlingを通してクッキープレフィックスを変更することができます
    3. どちらも、 [管理]> [サイト管理]> [拡張機能]に移動して[ネットワーク]をオンにします。
    4. MoodleAで[管理]> [サイト管理]> [ネットワーク]> [ピアの管理 ]の順に選択します。MoodleBのURLを[新しいホストの追加]に追加して[追加]をクリックします。 URLには、あなたのMoodleコードが置かれているディレクトリを含める必要があります 。プロトコルも含めることができます(例:https://www.mymoodle.org/moodle)
    5. MoodleBで同等のことをしてください。
  2. ユーザーローミングを開始する

[1] )両方のサーバーで:

      1. [管理]> [サイトの管理]> [プラグイン]> [認証]> [認証の管理]に移動します。 「有効」アイコンをクリックしてMNet認証を有効にします。
    1. Moodle Aで[管理]> [サイト管理]> [ネットワーク]> [(管理)ピア ]の順にクリックし、[Moodle B]をクリックして、[サービス]タブをクリックします。 SSO-IDP(SSO IDプロバイダー)の発行と購読、およびSSO-SP(SSOサービスプロバイダー)の発行と購読を有効にします。
    2. MoodleBで同等のことをしてください。 (公開と購読の両方で、ユーザーは2つのサーバー間で自由に移動できます。サーバー間の公開または購読のみで、一方向のトラバーサルを作成できます)。
    3. どちらの場合も、 管理>サイト管理>ユーザ>権限>ロールの定義に移動します。 "リモートのMoodle moodle / siteへのローミング:mnetlogintoremote"を持つロールのみがローミングを許可されます。必要に応じて特権を付与してください。
      1. 例えば。認証済みユーザーを有効にすると、 認証済みユーザーはサーバー間をローミングできます。
    4. 両方のサーバーで、ホームページに行き、 'Network Servers'ブロックを追加します。
    5. テストするには、どちらにもログインしていない別のブラウザを(別のマシンでも)使用することをお勧めします。ローミングする権限を持つ管理者以外のアカウントでMoodleAにログインします。あなたはNetwork Serversブロックを見るべきです、そしてそれをクリックするとあなたは新しく自動作成されたアカウントでMoodleBに行くべきです。
  1. リモート登録を取得する - これはオプションです。それはMoodleBの管理者がMoodleAのリモートコースにMoodleBに「ネイティブ」であるユーザを登録すること、およびその逆を許可します。
    1. 両方で、 サイト管理>プラグイン>登録>登録プラグインの管理の順に進み、Mnetリモート登録プラグインを有効にします(保存をクリックします)。 [編集]をクリックして[allow_allcourses]を有効にするか、リモート登録するコースまたはカテゴリを選択します。
    2. あなたが登録を受けたいサーバー上で:
      1. [サイトの管理]> [プラグイン]> [登録]> [登録プラグインの管理]に移動します 。 「有効」アイコンをクリックして、 MNetリモート登録を有効にします。 ( MNetリモート登録設定情報については、 MNetリモート登録を参照してください)
    3. Moodle Aで[ 管理]> [ネットワーク ] > [ピア ]の順にクリックし、[Moodle B]をクリックして、[サービス]タブをクリックします。登録パブリッシュおよび/またはサブスクライブを有効にします。
    4. MoodleBで同等のことをしてください。
    5. すべてのコースであなたは以下への登録を許可したいです。
      1. コースを入力して[管理]> [コース管理]> [ユーザ]> [登録方法]に移動します。
      2. [ メソッドの追加]ドロップダウンから[ MNetリモート登録]を選択します。
      3. 新しい画面で、登録を許可するリモートホスト 、登録されたユーザーのロールを選択し、[保存]をクリックします。 (注:コースごとに追加できるMNetリモート登録方法は1つだけです。)

それを使う

  1. MoodleAで、 管理>ネットワーク>リモート登録クライアントに行きます 。あなたはMoodleBがリストされているのを見るでしょう。 MoodleBの横にある登録の編集ボタンをクリックすると、MoodleBがリモート登録のために提供しているコースのリストが表示されます。 [ 登録の編集 ]をクリックして登録するユーザーを選択し、[追加]をクリックしてコースに登録します。

Mnetハブに接続する

Mnetハブ( コミュニティハブと混同しないでください)は、他のMoodleサーバからの接続を受け入れ、これらの他のサーバのユーザに一連のサービスを提供するように設定されたMoodleサーバです。このガイドラインはあなたにMnetハブに接続し、それが提供する必要があるサービスを評価し、そしてあなたのユーザーのためにそれらのサービスを可能にするようにあなたに指示するでしょう。

セットアップ

  1. ハブに話しかける
    1. [管理]> [サーバー]> [環境]ページに、curlとopensslがインストールされていることを確認します。
    2. [管理]> [拡張機能]に移動して[ネットワーク]をオンにします。
    3. [管理]> [ネットワーク]> [ピア]に進み、 [新しいホストの追加]の下にMnet HubのURLを入力します。 追加をクリック
    4. Mnet Hubのホストの詳細が、[サイト名]フィールドに既に入力されて表示されます。 変更を保存をクリック
    5. 詳細がデータベースに書き込まれ、このウィンドウに2つの新しいタブ、「サービス」と「ログ」が表示されます。クリックサービス
    6. サービスのリストが表示され、それぞれに「公開」と「購読」のチェックボックスがあります。公開または購読するサービスのチェックボックスをオンにします。

それを使う

Mnet Hubがすでにサービスを有効にしている場合は、該当するチェックボックスの横にチェックマークが表示されます。たとえば、HubがMoodleネットワーク登録を公開している場合、このサービスの受講登録チェックボックスの横にチェックマークが表示されます。一部の機能、特にシングルサインオンを有効にするためには、サービス、たとえばアイデンティティプロバイダサービスを公開する必要があるかもしれません。 Mnet HubはあなたのMoodle上でこのサービスにアクセスし、あなたのユーザを認証するよう求めます。

  1. ローミングを有効にする
    1. チェックボックスをオンにしてSSO(サービスプロバイダ)を購読します。
    2. チェックボックスをオンにしてSSO(アイデンティティプロバイダ)を公開します。
    3. 変更を保存をクリック
    4. [管理]> [ユーザ]> [権限]> [ロールの定義]に移動して、リモートのMoodle moodle / siteに機能Roamを付与します。適切なロールにmnetlogintoremote
    5. [管理]> [プラグイン]> [認証]> [認証の管理]に移動し、 Moodleネットワーク認証プラグインを有効にします
    6. あなたのホームページに行き、編集をオンにし、そして 'Network Servers'ブロックを追加してください。
    7. 別のWebブラウザを使用して、ローミング機能を付与したロールに所属する管理者以外のユーザーとしてログオンします。
    8. Mnet Hubは、ホームページのNetwork Serversブロックに表示されています。そのサーバーへのリンクをクリックしてください
    9. ユーザーの詳細の一部はMnet Hubサーバーに転送され、あたかも直接ログインしたかのようにブラウズセッションが開始されます。
  2. ネットワーク登録を有効にする
    1. サイト管理者として使用していたウェブブラウザに戻る
    2. [管理]> [ネットワーク ] > [ピア ]の順に選択して、Mnet Hubのエントリをクリックします。
    3. サービスタブをクリックします
    4. Moodleネットワーク登録を購読する
    5. [サイトの管理]> [プラグイン]> [登録]> [登録プラグインの管理]に移動して、 [ Mnetリモート登録プラグイン]を有効にします。 変更を保存をクリック
    6. ネットワーク登録の詳細を表示するには、[ 編集]をクリックします
    7. あなたにこのサービスを提供するMoodleサーバのリストを見るためにAdmin> Networking> Enrollmentsに行きます。
    8. サーバー名をクリックすると、サーバーがユーザーに提供しているコースのリストが表示されます。
    9. コース名をクリックすると、このコースに登録できるユーザーのリストが表示されます。
    10. ユーザーを登録する
    11. 利益!

Mnetハブを実行する

Mnetハブは特別なモードで動作する通常のMoodleサイトです。 Moodle管理者として、あなたが他のMoodleサイトをあなたのネットワークピアのリストに追加すると、あなたのMoodleはそのサイトに連絡してそれが何であるかを調べ、暗号化通信のための公開鍵を要求します。通常、リモートサーバーはトランザクションを記録せずにこの情報を単に提供します。

Mnetハブは違います。システムにMnetハブのエントリを追加するとすぐに、Mnetハブはそのホストのリストにサーバーのエントリを作成し、すぐにサイトのユーザーにサービスを提供し始めます。

このセクションでは、Mnetハブを設定し、すべての人に提供するサービスを選択するように案内します。

セットアップ

ネットワークを有効にする

  1. [設定]> [サイトの管理]> [サーバー]> [環境]ページに、curlとopensslがインストールされていることを確認します。
  2. [設定]> [サイトの管理]> [拡張機能]に移動して[ネットワーク]をオンにします。
  3. [設定]> [サイトの管理]> [ネットワーク]> [ピア]に進み、 [ すべてのホスト登録]のチェックボックスをオンにします変更保存をクリック
  4. 同じページで、ホストのリストの最初のエントリはAll hostsになります 。このリンクをクリック
  5. サービス」をクリックして、すべての来場者に提供したいサービスを有効にします。

管理者のロールを割り当てる

セキュリティ上の理由から、Moodleインターフェースを介してユーザに管理者のロールを割り当てることはできません。代わりに、管理ユーザーIDはconfig.phpにリストされている必要があります。
 $ CFG-> siteadmins = '2,45,67'; 

注:これは、管理者権限を割り当てるローカルDBに保存された設定を上書きするため、ローカル管理者とリモート管理者に適用されます。

関連情報