Moodleネットワーク
Moodle 1.8
概観
Moodleネットワークは、Moodle 1.8のリリースに含まれる新しい機能です。Moodleネットワークでは、Moodle管理者が別のMoodleとのリンクを構築することができ、それぞれのMoodleユーザがリソースを共有することができます。
Moodleネットワークの初期のリリースは、Moodle間のシングルサインオンを実現する新たな認証プラグインとして内蔵されます。 例えば、jody というユーザ名のユーザは、彼女のMoodleサーバに通常どおりログインして「ネットワークサーバ」ブロック内のリンクをクリックすることで、別のMoodleのページに移動することができます。通常、彼女はリモートのMoodleに対してゲストアクセスの権限のみ有しています。しかし、Moodleネットワークを使用することで、シングルサイオンによる完全な認証が確立され、JodyというMoodleユーザ名で別のリモートMoodleサイトにもアクセスすることができます。
セキュリティ
Moodleネットワークでは、あなたのサーバにCurlおよびOpenSSL拡張モジュールをインストールする必要があります。Moodle 1.8をインストールした場合、あなたのシステムは他のMoodleと暗号化された通信を行うため、新しいOpenSSL証明書を生成します。そして、暗号鍵を (おおよそ) 月ベースで交換します。
通信はXML-RPCトランスポート上で行われ、最初にXML-RPCドキュメントが XMLDSIG (XML digital signature -XMLデジタル署名) エンベロープ、そして XMLENC (XML encryption - XML暗号化) エンベロープにより包まれます。すべてPHP内で暗号化されますので、https (Apache SSL) サーバを必要としません。
参考資料:
XML Digital Signatures
XML Encryption
暗号化または署名されたエンベロープなしでXML-RPCレイヤーをコールする、特別モードを使用することもできます。このモードは暗号化および署名の統合が極めて困難な他のシステムと連携することを目的として提供されます。暗号化なしのMoodle間ネットワークが有効にされることは想定されていません。
ピアツーピア・ネットワーク
これはシステムの基本レイアウトです。、学部または学科ごとに独自のユーザ管理をしているMoodleをそれぞれ運用している場合、ピアツーピア・ネットワークは非常に有用です。ピアツーピア・ネットワークでは、コースのパーミッションを前提として、ユーザはそれぞれのMoodle内を移動することができます。
セットアップ
このインストラクションでは、 2つのインストール済みMoodle (MoodleAおよびMoodleB) を取り上げます。両者ともMoodleが正しくインストールされ、まだMoodleネットワーク設定が有効にされているものとします。
- お互いを会話させる
- 「管理 > サーバ > 環境」でCurlがをインストールされているかどうか確認してください。
- MoodleAおよびMoodleBが同じドメインに設置されている場合、それぞれ異なるクッキー接頭辞を持っているか確認してください。クッキー接頭辞を変更すると、一旦ログアウトされますので注意してください!
- 両者において、「管理 > ネットワーキング > 設定」で「ネットワーキング」をONにしてください。
- MoodleAで、「管理 > ネットワーキング > ピア」に移動して、MoodleBのURIを「新しいホストを追加する」に入力した後、「ホストを追加する」ボタンをクリックしてください。
- 同様の作業をMoodleBでも行ってください。
- ユーザに散策させる
- 両者において、「管理 > ユーザ > 認証」でMoodleネットワーク認証プラグインを有効にしてください。「設定」をクリックして、「リモートユーザを自動的に追加する」を「Yes」にしてください。
- MoodleAで、管理 > ネットワーキング > ピア に移動して、「MoodleB」をクリックした後、「サービス」タグをクリックしてください。SSO (アイデンティティプロバイダ)」の公開および登録、「SSO (サービスプロバイダ)」の公開および登録を有効にしてください。
- 同様の作業をMoodleBでも行ってください。
- 両者において、「管理 > ユーザ > パーミッション > ロールの定義」で「リモートMoodleを散策する/site:mnetlogintoremote」が設定されている場合のみ散策することができます。適切な権限を設定してください。
- 両者のコースページにおいて、「ネットワークサーバ」ブロックを追加してください。
- 動作をテストするには、(異なるマシンだとしても) Moodleにログインしていない異なるブラウザの使用をお勧めします。散策可能なパーミッションを持つ非管理者アカウントでMoodleAにログインしてください。「ネットワークサーバ」ブロックが表示されますので、MoodleBのリンクをクリックすると新しく自動的に作成されたアカウントでMoodleBに移動します。
- リモート受講登録する -- これは任意の設定です。MoodleBの管理者が「MoodleB内のユーザ」をMoodleA内のコースに受講登録することができます。反対にMoodleAの管理者もMoodleB内のコースに「MoodleA内のユーザ」を受講登録することができます。
- 両者において、「管理 > コース >ユーザ登録方法」で「Moodleネットワーキング」をチェックして「変更を保存する」ボタンをクリックしてください。「編集」をクリックして「allow_allcourses」を「Yes」にするか、リモート受講登録を許可するコースまたはカテゴリを選択してください。
- MoodleAの「管理 > ネットワーキング > ピア」で「MoodleB」をクリックして、「サービス」タグをクリックしてください。「Moodleネットワーキング登録」の公開および登録を有効にしてください。
- 同様の作業をMoodleBでも行ってください。
- リモート受講登録を使用するには、MoodleAの「管理 > ネットワーキング > 登録」で「MoodleB」をクリックしてください。
- あなたがMoodleAのユーザを受講登録させたいMoodleBのコースを選択してください。
- 「潜在的なユーザ」一覧からユーザを選択して、左矢印をクリックすることで「割り当て済みユーザ」一覧にユーザを移動してください。
使ってみる
コミュニティーハブへの接続
コミュニティーハブは他のMoodleサーバから接続を受け入れ、これらのサーバのユーザに一連のサービスを提供するよう設定されたMoodleサーバです。このガイドラインでは、コミュニティーハブにアクセスし、そこで提供されているサービスをあなたのユーザに使えるようにする方法を解説します。
セットアップ
- ハブと会話する
- 「管理 > サーバ > 動作環境」ページでcURIおよびopensslがインストールされていることを確認してください。
- 「管理 > ネットワーキング > 設定」で「ネットワーキング」をONにしてください。
- 「管理 > ネットワーキング > ピア」で「新しいホストを追加する」の下にコミュニティーハブのURIを入力して、「ホストを追加する」ボタンをクリックしてください。
- すでに公開されているサイト名と共にコミュニティーハブの詳細が表示されます。
- 「変更を保存する」ボタンをクリックしてください。
- 詳細情報があなたのデータベースに書き込まれます。
- コミュニティーハブのサイト名をクリックしてください。
- 2つの新しいタブ「サービス」および「ログ」が表示されます。
- 「サービス」タブをクリックしてください。
- それぞれに「公開」「登録」チェックボックスが配置されたサービスリストが表示されます。
- あなたが公開または登録したいサービスの「公開」「登録」チェックボックスをチェックして、「変更を保存する」ボタンをクリックしてください。
使ってみる
あなたのためにコミュニティーハブがすでに有効にされている場合、適切なチェックボックスの隣にチェックマークが付けられます。例えば、ハブがMoodleネットワーキング登録を「公開」している場合、このサービスの「登録」チェックボックスの隣にチェックマークが付けられます。いくつかの機能、特に「シングルサインオン」を有効にするには、サービスを「公開」してください 例) SSO (アイデンティティプロバイダ)。コミュニティーハブは、あなたのMoodleにあるSSO (アイデンティティプロバイダ) サービスにアクセスして、あなたのユーザを認証します。
- 散策を有効にする
- チェックボックスをチェックすることで、SSO (サービスプロバイダ) に登録してください。
- チェックボックスをチェックすることで、SSO (アイデンティティプロバイダ) を公開してください。
- 「変更を保存する」ボタンをクリックしてください。
- 「管理 > ユーザ > パーミッション > ロールの定義」で適切なロールに「リモートMoodleを散策する moodle/site:mnetlogintoremote」ケイパビリティを与えてください。
- 「管理 > ユーザ > 認証」で「Moodleネットワーク認証」を有効にしてください。
- あなたのMoodleホームページへ移動して、「編集モードの開始」ボタンをクリックした後、「ネットワークサーバ」ブロックを追加してください。
- 異なるブラウザを使用して、「リモートMoodleを散策する」ケイパビリティを与えられた非管理者ユーザでログインしてください。
- コミュニティーハブはホームページの「ネットワークサーバ」ブロックに表示されます。「ネットワークサーバ」ブロック内の該当するサーバのリンクをクリックしてください。
- あなたに関するいくつかのユーザ情報がコミュニティーハブに転送されます。また、あなたがコミュニティハブのMoodleに直接ログインしたかのように、閲覧セッションが開始されます。
- ネットワーク受講登録を有効にする
- あなたがサイト管理者として使用していたブラウザに戻ってください。
- 「管理 > ネットワーキング > ピア」で、コミュニティーハブのエントリをクリックしてください。
- 「サービス」タブをクリックしてください。
- 「Moodleネットワーキング登録」で「登録」チェックボックスをチェックして、「変更を保存する」ボタンをクリックしてください。
- 「管理 > コース > ユーザ登録方法」で「Moodleネットワーキング」を有効にした後、「変更を保存する」ボタンをクリックしてください。
- 「Moodleネットワーキング」の詳細を確認するには、「編集」をクリックしてください。
- このサーバがあなたに提供しているサービスを確認するには「管理 > ネットワーキング > 登録」をクリックしてください。
- サーバがあなたのユーザに提供しているコース一覧を閲覧するには、サーバ名をクリックしてください。
- あなたがこのコースに受講登録できるユーザ一覧を閲覧するには、コース名をクリックしてください。
- ユーザを受講登録してください。
- 完了!
コミュニティーハブの運用
コミュニティーハブは特別モードで動作する標準のMoodleサイトです。
ピアツーピア・ネットワークでは、Moodle管理者として他のMoodleサイトをあなたのネットワークピア一覧に追加した場合、あなたのMoodleは何がコールされているか探すため、そのサイトにアクセスして暗号化通信のための公開鍵をリクエストします。通常、リモートサーバはレコードトランザクションを作成せず、単にこの情報を提供します。
しかし、コニュニティーハブは異なります。あなたがコミュニティーハブのエントリを追加するとすぐに、コミュニティーハブは自分のホスト一覧にあなたのサーバに関するエントリを作成し、あなたのサイトのユーザに対してすぐにサービスを提供始めます。このセクションでは、コミュニティーハブの設定およびサービスの提供方法を解説します。
使ってみる
- ネットワーキングを有効にする
- 「管理 > サーバ > 動作環境」ページでcURIおよびopensslがインストールされていることを確認してください。
- 「管理 > ネットワーキング > 設定」で「ネットワーキング」をONにしてください。
- 「管理 > ネットワーキング > ピア」で「すべてのホストを登録する (ハブモード)」をチェックして、「変更を保存する」ボタンをクリックしてください。
- 同じページでホスト一覧の最初のエントリに「All hosts」が表示されます。「All hosts」リンクをクリックしてください。
- 「サービス」タグをクリックして、あなたがすべての来訪者に提供したいサービスを有効にしてください。