Vorlage:Zum Übersetzen Die Moodle-Netzwerk-Funktionalität erlaubt es der Moodle-Administration, einen Link zu einer anderen Moodle- oder Mahara-Site zu generieren, um Inhalte der anderen Site zu teilen. Der Link wird im Netzwerk-Server-Block bereitgestellt. Wenn Nutzer/innen diesen Link anklicken, gelangen Sie zu der anderen Moodle- bzw. Mahara-Site und können darin arbeiten, ohne sich dort anmelden zu müssen.

netzwerkblock.jpg


Überblick

Das Moodle-Netzwerk funktioniert zusammen mit einem Authentifizierungs-Plugin MNET Authentifizierung, das zur Standardinstallation von Moodle gehört. Dieses Authentifizierungs-Plugin ermöglicht ein Single Sign On auf der externen Moodle- oder Mahara-Site. Wenn ein Nutzer mistermoodle sich in Moodle anmeldet und auf den Link im Netzwerk-Server-Block klickt, dann gelangt er auf die andere Moodle- oder Mahara-Site. Normalerweise hätte der Nutzer nun Gastzugang zu dieser externen Site. Über die MNET Authentifizierung wird er jedoch über Single Sign On auf der externen Site angemeldet und kann die Site mit den üblichen Rechten nutzen.

Achtung: Für den Betrieb eines Moodle-Netzwerks ist die Installation der PHP-Erweiterung xmlrpc erforderlich. Prüfen Sie auf der Seite Einstellungen > Website-Administration > Server > Server-Informationen, ob diese PHP-Erweiterung installiert ist.

Sicherheit

Die Moodle-Netzwerk-Funktionalität erfordert, dass die PHP-Erweiterungen Curl und OpenSSL auf Ihrem Moodle-Server installiert sind. Moodle generiert dann ein OpenSSL Zertifikat für die verschlüsselte Verbindung zwischen Ihrer Moodle-Installation und der externen Moodle- bzw. Mahara-Site. Der Schlüssel wird montalich neu generiert.

Die Kommunikation zwischen den Servern erfolgtüber XML-RPC. Die XML-RPC Dokumente werden zunächst mit einer digitalen Signatur (XMLDSIG) versehen und und dann verschlüsselt (XMLENC - XML Verschlüsselung). Die Verschlüsselung erfolgt innerhalb von PHP und erfordert kein https, d.h. keinen Apache SSL Webserver.

Siehe auch:

Sie können das Netzwerk auch in einem speziellen Modus betreiben, der es einem Server mit einer bestimmten IP-Adresse erlaubt, XML-RPC-Aufrufe ohne Signatur und Verschlüsselung zu machen. Dieser Modus ist dafür da, dass Moodle auch mit anderen Software-Systemen integriert werden kann, die digitale Signatur und Verschlüsselung nicht unterstützen. Dieser unverschlüsselte Modus sollte jedoch nicht verwendet werden, wenn ein Netzwerk zwischen zwei Moodle-Systemen aufgebaut werden soll.

Peer-zu-Peer-Netzwerk

Ein Basis-Szenario für eine Moodle-Netzwerk ist folgendes: In einer Bildungseinrichtung betreibt jede Abteilung ihr eigenes Moodle, Nutzer/innen einer Abteilung sollen jedoch auch Zugriff auf Moodle-Kurse der anderen Abteilungen (Moodle-Installationen) haben.

Moodle-Netzwerk konfigurieren

In der folgenden Anleitung kommen zwei Moodle-Installationen vor: MoodleA und MoodleB. Wir gehen davon aus, dass beide Moodle richtig installiert sind und vorher nicht mit der Moodle-Netzwerk-Funktionalität gerabeitet haben.

Hinweis: Wenn bei der Konfiguration Probleme auftreten sollten, aktivieren Sie den Debug-Modus auf der Seite Einstellungen > Website-Administration > Entwicklung > Debugging, um zusätzliche Informationen zu möglichen Fehlern anzuzeigen.

  1. Verbindung zwischen MoodleA und MoodleB aufbauen:
    1. Prüfen Sie bei beiden Moodle-Installationen auf der Seite Einstellungen > Website-Administration > Server > Serverinformationen, dass die PHP-Erweiterung curl installiert ist.
    2. Wenn MoodleA und MoodleB in derselben Domain liegen, stellen Sie sicher, dass beide unterschiedliche Cokkie-Prefixe verwenden (auf der Seite Einstellungen > Website-Administration > Server > Sitzungsinformationen). Achtung: Wenn Sie das Cookie-Prefix ändern, werden Sie automatisch ausgeloggt und müssen sich neu in Moodle anmelden.
    3. Auf beiden Moodle-Systemen aktivieren Sie die Moodle-Netzwerk-Funktionalität: Gehen Sie auf die Seite Einstellungen > Website-Administration > Zusatzoptionen. Wählen Sie bei der Einstellung Netzwerk die Option Ein. Dann erscheint ein zusätzlicher Menüpunkt Netzwerk unterhalb von Einstellungen > Website-Administration.
    4. In MoodleA gehen Sie auf die Seite Einstellungen > Website-Administration > Netzwerk > Peers verwalten. Im Bereich Neuen Rechner hinzufügen tragen Sie im Textfeld Rechnername die URL von MoodleB ein und klicken dann auf den Button Rechner hinzufügen. Die URL sollte das Moodle-Verzeichnis von MoodleB enthalten, also z.B. www.mymoodle.org/moodle.
    5. Analog fügen Sie in MoodleB den Rechner MoodleA hinzu.
  2. Nutzerzugriff auf das jeweils andere Moodle erlauben
    1. Auf beiden Moodle-Systemen aktivieren Sie die MNET Authentifizierung: Gehen Sie auf die Seite Einstellungen > Website-Administration > Plugins > Authentifizierung > Übersicht. Klicken Sie auf das Auge-Symbol Datei:show.gif in der Zeile MNET Authentifizierung]].
    2. In MoodleA gehen Sie auf die Seite Einstellungen > Website-Administration > Netzwerk > Peers > MoodleB und klicken auf den Reiter Dienste. In den Abschnitten SSO (Identity Provider) und SSO (Service Provider) markieren Sie jeweils die Checkboxen Veröffentlichen und Abonnieren.
    3. In MoodleB machen Sie analog dieselben Einstellungen für MoodleA. Hinweis: Mit diesen Einstellungen erlauben Sie es Nutzer/innen, sich frei zwischen MoodleA und MoodleB hin und her zu bewegen (bidirektional). Wenn Sie auf einem Server nur veröffentlcihen erlauben und auf dem anderen entsprechend nur abonnieren, dann ermöglichen Sie die unidirektionale Navigation von einem Moodle zum anderen.
    4. Auf beiden Moodle-Systemen gehen Sie auf die Seite Einstellungen > Website-Administration > Nutzerkonten > Rechte > Rollen verwalten. Nur Nutzer/innen mit einer Rolle, bei der die Fähigkeit Zu anderem Moodle über MNet verbinden auf erlauben gesetzt ist, können von ihrer Moodle-Site auf die andere Moodle-Site zugreifen. Stellen Sie auf beiden Moodle-Systemen sicher, dass die passenden Rollen dieses Recht haben.
    5. Auf beiden Moodle-Systemen fügen Sie auf der Startseite den Netzwerk-Server-Block hinzu.
    6. Zum Testen empfehlen wir, einen anderen Brwoser (am besten auf einem anderen PC) zu verwenden: Melden Sie sich mit einem Nutzerzugang in MoodleA an, der das Recht hat, sich mit MoodleB zu verbinden (nicht als Administrator/in!). Nach dem Login sollten Sie auf der Startseite den Netzwerk-Server-Block sehen mit einem Link zu MoodleB. Wenn Sie diesen Link anklicken, sollten Sie automatisch mit einem neuen Nutzerkonto (Remote-Nutzer) in MoodleB angemeldet werden und sich nun frei in MoodleB bewegen können.
  3. Remote-Kurseinschreibungen ermöglichen - das ist optional.

It allows an administrator of MoodleB to enrol users that are "native" to MoodleB in remote courses in MoodleA, and viceversa.

    1. On both, go to Site administration > Plugins > Enrolments > Manage enrol plugins 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 the server you want to receive enrolments:
      1. Go to Site administration > Plugins > Enrolments > Manage enrol plugins. Enable MNet remote enrolments by clicking the 'enable' icon. (For MNet remote enrolments settings info see MNet remote enrolments)
    3. On MoodleA go to Admin > Network > Peers, click on 'MoodleB', and click on 'Services'. Enable Enrolment publish and/or subscribe.
    4. Do the equivalent on MoodleB.
    5. On every course you want to allow enrolments into:
      1. Enter course and go to Settings > Course administration > Users > Enrolment methods
      2. From Add method drop-down select MNet remote enrolments
      3. On the new screen select the Remote host you want to allow enrolments from, the Role for the enrolled users, and click save. (Note: you can only add a single MNet remote enrolments method per course.)

Moodle-Netzwerk nutzen

  1. In MoodleA go to Admin > Networking > Remote enrolments client. You will see MoodleB listed. Click on Edit enrolments button beside MoodleB and you will see a list of courses that MoodleB offers for remote enrolment. Click 'Edit enrolments, select the users you want to enroll, and then click Add to enroll them in the course.

MNet Hubs

A Mnet hub (do not confuse it with the 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 Mnet hub, assess the services it has to offer, and enable those services for your users.

Mit einem MNet Hub verbinden

  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 Mnet Hub under "Add New Host". Click Add
    4. The host details for the Mnet 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

MNet Hub verwenden

If the Mnet 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 Mnet 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 Administration > Plugins > Authentication > Manage 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 Mnet 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 Mnet 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 Mnet Hub.
    3. Click on the Services tab
    4. Subscribe to Moodle Networked Enrolment
    5. Go to Site administration > Plugins > Enrolments > Manage enrol plugins and enable the Moodle Network enrolment plugin. Click Save changes
    6. Click on edit to view the details for networked enrolments.
    7. Go to Admin > Networking > 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!

MNet Hub betreiben

A Mnet 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 Mnet hub is different. As soon as you add an entry for a Mnet hub to your system, the Mnet 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 Mnet hub, and select services to offer to all comers.

MNet Hub konfigurieren

Enable Networking

  1. Ensure that the Settings > Site administration > Server > Environment page indicates you have curl and openssl installed
  2. Go to Settings > Site administration > Network > Settings and turn Networking on
  3. Go to Settings > Site administration > 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

Siehe auch