Moodleネットワーク

提供:MoodleDocs
2007年7月10日 (火) 15:41時点におけるMitsuhiro Yoshida (トーク | 投稿記録)による版
移動先:案内検索

Moodle 1.8


作成中です - Mitsuhiro Yoshida 2007年6月26日 (火) 10:24 (CDT)

概観

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ネットワーク設定がなされていないものとします。

  1. お互いを会話させる
    1. 「管理 > サーバ > 環境」でCurがをインストールされているかどうか確認してください。
    2. MoodleAおよびMoodleBが同じドメインに設置されている場合、それぞれ異なるクッキー接頭辞を持っているか確認してください。クッキー接頭辞を変更すると、一旦ログアウトされますので注意してください!
    3. 両者において、「管理 > ネットワーク > 設定」でネットワーキングをONにしてください。
    4. MoodleAで、「管理 > ネットワーク > Moodleネットワークピア」に移動して、MoodleBのURLを「新しいホストを追加する」に入力した後、「追加」ボタンをクリックしてください。
    5. 同様の作業をMoodleBでも行ってください。
  2. ユーザに散策させる
    1. 両者において、「管理 > ユーザ > 認証」でMoodleネットワーク認証プラグインを有効にしてください。「設定」をクリックして、auto_add_remote_users を「Yes」にしてください。
    2. MoodleAで、管理 > ネットワーク > Moodleネットワークピア に移動して、「MoodleB」をクリックした後、「サービス」をクリックしてください。SSO-IDPの発行および署名、SSO-SPの発行および署名を有効にしてください。
    3. 同様の作業をMoodleBでも行ってください。
    4. 両者において、「管理 > ユーザ > パーミッション > ロールの定義」で「リモートMoodleを散策する/site:mnetlogintoremote」が設定されている場合のみ散策することができます。適切な権限を設定してください。
    5. 両者において、コースページで「ネットワークサーバ」ブロックを追加してください。
    6. To test, it is recommended to use a different browser (even on a different machine) that is logged in to neither. Login to MoodleA with a non-administrator account that has the permissions to roam. You should see the Network Servers block, and clicking on it you should go to MoodleB with a newly autocreated account.
  3. Get remote enrolments going -- this is optional. It allows administrator of MoodleB can enrol users that are "native" to MoodleB in courses in MoodleA, and viceversa.
    1. On both, go to Admin / Courses / Enrolment and enable Moodle Network enrolment plugin (click Save). Click on 'Edit' and enable 'allow_allcourses' or select some courses or categories to be remotely enrolled.
    2. On MoodleA go to Admin / Network / Peers, click on 'MoodleB', and click on 'Services'. Enable Enrolment publish and subscribe.
    3. 同様の作業をMoodleBでも行ってください。
    4. To use, in MoodleA go to Admin / Courses / Enrolment / Moodle Network -> Edit / Manage Network Enrolments and you will see MoodleB listed. Click on MoodleB and you will see a list of your users, and the courses that MoodleB offers for remote enrolment.

使用方法

コミュニティーハブへの接続

A Community Hub is a Moodle server that is configured to accept connections from other Moodle servers, and to provide a set of services to users of these other servers. This guideline will direct you to connect to a Community Hub, assess the services it has to offer, and enable those services for your users.

セットアップ

  1. Get talking to the Hub
    1. Ensure that the Admin / Server / Environment page indicates you have curl and openssl installed
    2. Go to Admin / Network / Settings and turn Networking on
    3. Go to Admin / Network / Peers and enter the URL of Community Hub under "Add New Host". Click Add
    4. The host details for the Community Hub should appear with the Site Name field already populated. Click Save changes
    5. The details will be written to your database and two new tabs will appear in this window: 'Services' and 'Logs'. Click Services
    6. A list of services will appear, each with a checkbox for 'publish' and 'subscribe'. Check the checkboxes for any services you want to publish or subscribe to

使用方法

If the Community Hub has already enabled a service for you, there will be a tick alongside the appropriate checkbox, for example: if the Hub is publishing Moodle Networked Enrolment, then a tick will appear alongside the subscribe checkbox for this service. Note that in order to enable some functionality, prominently single-sign-on, you may have to publish a service, e.g. the Identity Provider service. The Community Hub will access this service on your Moodle, asking it to authenticate your users.

  1. Enable Roaming
    1. Subscribe to SSO (Service Provider) by checking the box
    2. Publish SSO (Identity Provider) by checking the box
    3. Click Save changes
    4. Go to Admin / Users / Permissions / Define Roles, and grant the capability Roam to a remote Moodle moodle/site:mnetlogintoremote to an appropriate role
    5. Go to Admin / Users / Authentication and enable the Moodle Network authentication plugin
    6. Go to your homepage, turn on editing, and add the 'Network Servers' block
    7. Using a different web-browser, log on as a non-admin user who inhabits the role you granted the roaming capability to
    8. Note that the Community Hub is listed in the Network Servers block on the homepage. Click on the link to that server
    9. Some of your user details will be transferred to the Community Hub server, and a browsing session will be started for you as if you had logged on there directly
  2. Enable Networked Enrolment
    1. Return to the web browser you've been using as the site administrator
    2. Go to Admin / Network / Peers and click on the entry for the Community Hub.
    3. Click on the Services tab
    4. Subscribe to Moodle Networked Enrolment
    5. Go to Admin / Courses / Enrolment and enable the Moodle Network enrolment plugin. Click Save changes
    6. Click on edit to view the details for networked enrolments.
    7. Click on Manage Moodle Network Enrolments to see a list of Moodle servers that offer this service to you
    8. Click on a server name to view a list of courses that the server offers to your users
    9. Click on a course name, to view a list users that you can enrol in this course
    10. Enrol users
    11. Profit!

コミュニティーハブの運用

A Community Hub is a regular Moodle site that runs in a special mode. As a Moodle Administrator, when you add another Moodle site to your list of network peers, your Moodle will contact that site to find out what it is called, and to request its public key for encrypted communication. Normally, the remote server will simply provide this information without making any record of the transaction.

A Community Hub is different. As soon as you add an entry for a Community Hub to your system, the Community Hub will create an entry for your server in its list of hosts, and may immediately begin to offer services to the users of your site. This section will guide you to set up a community hub, and select services to offer to all comers.

セットアップ

  1. Enable Networking
    1. Ensure that the Admin / Server / Environment page indicates you have curl and openssl installed
    2. Go to Admin / Network / Settings and turn Networking on
    3. Go to Admin / Network / Peers and tick the checkbox for Register all hosts. Click on Save Changes
    4. On the same page, the first entry in your list of hosts should be All hosts. Click this link
    5. Click on Services and enable any services you want to offer to all comers

関連情報