Moodle-Netzwerk

Aus MoodleDocs
Wechseln zu:Navigation, Suche


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.


Hinweis: Die Installation der XMLRPC PHP Erweiterung ist für neuere Moodle-Versionen nicht mehr nötig. Alle Moodle-Netzwerk-Funktionalitäten stehen weiterhin zur Verfügung und funktionieren wie bisher, sie verwenden jedoch eine PHP.Bibliothek (siehe MDL-76055 für Details).

Das webservice_xmlrpc Plugin für die Integration von Moodle mit anderen Systemen verwendet wurde ab Moodle 4.1 aus dem Standardpaket von Moodle entfernt (siehe MDL-76052 für Details). Es ist jetzt verfügbar unter @ https://github.com/moodlehq/moodle-webservice_xmlrpc und in der Moodle-Plugins-Datenbank. Wenn Sie das Plugin weiter verwenden wollen, müssen Sie vor der Aktualisierung:

  1. Die XMLRPC PHP Erweiterung installieren . der Webservice erfordert das.
  2. Das webservice_xmlrpc Plugin installieren (Links siehe oben).
  3. Dann und erst dann den Moodle-Aktualisierungsprozess starten.

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-to-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.

Peer-to-Peer-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 gearbeitet 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.

Zuerst müssen Sie in beiden Systemen die Netzwerk-Funktionalität auf der Seite Website-Administration > ZUsatzoptionen aktivieren,

Verbindung zwischen MoodleA und MoodleB aufbauen

  1. Prüfen Sie bei beiden Moodle-Installationen auf der Seite 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 Cookie-Prefixe verwenden (auf der Seite 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 Website-Administration > Zusatzoptionen. Wählen Sie bei der Einstellung Netzwerk die Option Ein. Dann erscheint ein zusätzlicher Menüpunkt Netzwerk unterhalb von Website-Administration.
  4. In MoodleA gehen Sie auf die Seite 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.

Nutzerzugriff auf das jeweils andere Moodle erlauben

  1. Auf beiden Moodle-Systemen aktivieren Sie die MNET Authentifizierung: Gehen Sie auf die Seite Website-Administration > Plugins > Authentifizierung > Übersicht. Klicken Sie auf das Auge-Symbol show.svg in der Zeile MNET Authentifizierung.
  2. In MoodleA gehen Sie auf die Seite Website-Administration > Netzwerk > Peers verwalten > MoodleB und klicken auf den Reiter Services. 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. 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 Website-Administration > Nutzer/innen > 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.

Remote-Kurseinschreibungen ermöglichen

Das ist optional.

Mit dieser Funktionalität können Administrator/innen von MoodleB Nutzer/innen, die ursprünglich in MoodleB angelegt wurden, in Kurse auf MoodleA einschreiben und umgekehrt.

  1. Auf beiden Moodle-Systemen gehen Sie auf die Seite Website-Administration > Plugins > Einschreibung > Übersicht. Aktivieren Sie die Einschreibemethode Externe MNet Einschreibungen, indem Sie auf das entsprechende Auge-Symbol show.svg klicken.
  2. In MoodleA gehen Sie auf die Seite Website-Administration > Netzwerk > Peers verwalten > MoodleB und klicken Sie auf den Reiter Services. Im Bereich Service externe Einschreibung markieren Sie die Checkbox(en) Veröffentlichen und/oder Abonnieren.
  3. In MoodleB machen Sie analog dieselben Einstellungen für MoodleA.
  4. In Kursen, in denen Sie externe Einschreibungen erlauben wollen, gehen Sie auf die Seite Teilnehmer/innen > Einschreibemethoden und fügen Sie externe MNet Einschreibungen als Einschreibemethode hinzu. Auf der Einstellungsseite wählen Sie den Remote Host, von dem Sie Einschreibungen erlauben wollen. Beachten Sie, dass Sie pro Kurs nur eine externe Einschreibungsmethode hinzufügen können.

Peer-to-Peer-Netzwerk nutzen

In MoodleA gehen Sie auf die Seite Website-Administration > Netzwerk > Client für externe Einschreibungen. Dort wird MoodleB angezeigt. Klicken Sie auf den zugehörigen Button Rollen bearbeiten. Dann sehen Sie die Liste der Kurse aus MoodleB, die externe Einschreibungen für Nutzer/innen aus MoodleA erlauben. Klicken Sie auf Rollen bearbeiten und wählen Sie die Nutzer/innen, die Sie einschreiben wollen. Speichern Sie Ihre Auswahl.

Mit einem MNet-Hub verbinden

Ein MNet-Hub (nicht zu verwechseln mit Community Hubs!) ist ein Moodle-Server, der so konfigiriert ist, dass er Verbindungen von anderen Moodle-Servern akzeptiert und für Nutzer/innen dieser anderen Moodle-Server bestimmte Dienste bereitstellt. Im folgenden wird beschrieben, wie Ihr Moodle-Server sich mit so einem MNet-Hub verbinden und dessen bereitgestellt Dienste für Ihre Nutzer/innen verfügbar machen kann.

Verbindung zum MNet-Hub einrichten

  1. Prüfen Sie auf der Seite Website-Administration > Server > Serverumgebung, dass curl und openssl installiert ist.
  2. Gehen Sie auf die Seite Website-Administration > Allgemein > Zusatzoptionen und aktivieren Sie die Funktionalität Netzwerk.
  3. Gehen Sie auf die Seite Website-Administration > Netzwerk > Peers verwalten und tragen Sie die URL des MNet-Hubs in das Feld Server-URL ein. Klicken Sie auf den Button Host hinzufügen.
  4. Die Serverinformationen des MNet-Hubs sollten dann im Formular eingetragen sein. Klicken Sie auf den Button Änderungen speichern.
  5. Die Serverinformationen werden in Ihrer Moodle-Datenbank gespeichert und es erscheinen zwei neue Reiter Services und Logs. Klicken Sie auf Services.
  6. Es wird eine Liste von Diensten angezeigt, jeweils mit Checkboxen für das Veröffentlichen bzw. Abonnieren. Markieren Sie die entsprechenden Checkboxen der Dienste, die Sie nutzen wollen.

Dienste des MNet-Hubs nutzen

Wenn der Mnet-Hub bereits Dienste für Sie bereitstellt, dann sind die entsprechenden Checkboxen markiert. Wenn z.B. der Hub die MNet-Einschreibung bereitstellt, dann wird auf der Dienste-Seite die entsprechende Checkbox markiert sein. Beachten Sie: Wenn Sie eine bestimmte Funktionalität bereitstellen wollen, insbesondere Single-Sign-On, müssen Sie einen Dienst veröffentlichen, z.B. einen Identity Provider Dienst. Der MNet-Hub wird auf diesen Dienst in Ihrem Moodle-System zurückgreifen, um Ihre Nutzer/innen zu authentifizieren.

Roaming aktivieren

  1. Abonnieren Sie SSO (Service Provider), indem Sie die entsprechende Checkbox markieren.
  2. Klicken Sie auf den Button Änderungen speichern.
  3. Gehen Sie auf die Seite Website-Administration > Nutzer/innen > Rechte > Rollen verwalten und setzen Sie für geeignete Rollen die Fähigkeit Capabilities/moodle/site:mnetlogintoremote auf Erlauben.
  4. Gehen Sie auf die Seite Website-Administration > Plugins > Authentifizierung > Übersicht und aktivieren Sie die MNET Authentifizierung.
  5. Gehen Sie auf Ihre Moodle-Startseite, schalten Sie den Bearbeitungsmodus ein und fügen Sie einen Netzwerk-Server-Block hinzu.
  6. Melden Sie sich in einem anderen Webbrowser als Nicht-Admin mit einer Rolle an, die das Recht Capabilities/moodle/site:mnetlogintoremote hat, um sich remote in einem MNet-Hub anzumelden.
  7. Beachten Sie, dass der MNet-Hub im Netzwerk-Server-Block auf der Moodle-Startseite angezeigt wird. Klicken Sie auf den Link zu diesem Server.
  8. Ihre Nutzerdaten werden an den MNet-Hub gesendet und es startet eine Browser-Sitzung so, als hätten Sie sich direkt auf dem MNet-Hub angemeldet.

Externe MNet Einschreibungen ermöglichen

  1. Gehen Sie zurück zu dem Webbrowser, in dem Sie als Administrator/in angemeldet waren.
  2. Gehen Sie auf die Seite Website-Administration > Netzwerk > Peers verwalten und klicken Sie auf den MNet-Hub-Eintrag.
  3. Klicken Sie auf den Reiter Services.
  4. Abonnieren Sie den den Dienst für externe MNet-Einschreibungen.
  5. Gehen Sie auf die Seite Website-Administration > Plugins > Einschreibung > Übersicht und aktivieren Sie Externe MNet Einschreibungen.
  6. Klicken Sie auf die zugehörigen Einstellungen.
  7. Gehen Sie auf die Seite Website-Administration > Netzwerk > Einschreibungen, um die Liste der Server zu sehen, die externe Einschreibungen erlauben.
  8. Klicken Sie auf den Servernamen, um die Liste der Kurse zu sehen, die externe Einschreibungen erlauben.
  9. Klicken Sie auf einen Kurs, um die Liste der eingeschriebenen Nutzer/innen zu sehen.
  10. Schreiben Sie Teilnehmer/innen in den Kurs ein.
  11. Nutzen Sie den Kurs!

Einen MNet-Hub betreiben

Ein MNet-Hub ist ein normales Moodle-System, das in einem bestimmten Modus betrieben wird. Wenn Sie als Moodle-Administrator/in ein anderes Moodle-System in die Liste Ihrer Netzwerk-Peers aufnehmen, nimmt Ihr Moodle Verbindung zu diesem anderen System auf und fordert einen öffentlichen Schlüssel für die verschlüsselte Kommunikation an.

Ein MNet-Hub funktioniert anders. Sobald Sie einen MNet-Hub als Eintrag in Ihr System hinzufügen, erstellt der MNet-Hub einen Eintrag für Ihren Server in seiner Liste und kann dann sofort Dienste für die Nutzer/innen Ihres Moodle-Systems bereitstellen.

Im Folgenden wird beschrieben, wie Sie einen MNet-Hub einrichten und Dienste für entfernte Moodle-Systeme anbieten.

Einen MNet-Hub einrichten

  1. Prüfen Sie auf der Seite Website-Administration > Server > Serverumgebung, dass curl und openssl installiert ist.
  2. Gehen Sie auf die Seite Website-Administration > Allgemein > Zusatzoptionen und aktivieren Sie die Funktionalität Netzwerk.
  3. Gehen Sie auf die Seite Website-Administration > Netzwerk > Peers verwalten und markieren Sie die Checkbox Alle Hosts registrieren. Speichern Sie die Änderungen.
  4. Klicken Sie auf den Reiter Services und markieren Sie die Dienste, die Sie für alle externen Moodle-Systeme bereitstellen wollen.

Siehe auch