Zur Hauptnavigation springen [Alt]+[0] Zum Seiteninhalt springen [Alt]+[1]

Nextcloud-Anbindung

Clouddienste in Moodle am Beispiel einer Nextcloud-Anbindung

Hinweis

Die Anleitung wurde nach bestem Wissen und Gewissen erstellt. Sie ist als Anleitung zum „selbstständigen Tun“ gedacht, weshalb kein Support gewährleistet wird.

Voraussetzungen

Die folgende Anleitung beschreibt am Beispiel einer Nextcloud wie ein Clouddienst an eine Moodleinstanz angebunden werden kann, um externe Dateien über ein Repository oder über die Aktivität „Kollaboratives Verzeichnis“ zu teilen. Voraussetzungen sind:

  • Moodle ab Version 4.x (mit 4.0.4 wurde diese Anleitung erstellt und erfolgreich getestet)
  • Aktuelle Nextcloud (mit 25.0.0 wurde diese Anleitung erstellt und erfolgreich getestet)
  • SSL-Zertifikat für Moodle, das korrekt validiert, also insbesondere weder selbst-signiert noch abgelaufen ist
  • SSL-Zertifikat für Nextloud, das korrekt validiert, also insbesondere weder selbst-signiert noch abgelaufen ist

1. Erstellen eines Client-Tokes

  • Melden Sie sich an Ihrer Nextcloud als Administrierender an.
  • Klicken Sie oben rechts auf den Kreis mit den Initialen Ihres (Benutzer-)Namens und wählen Sie dort „Einstellungen“.
  • Klicken Sie unterhalb von „Verwaltung“ auf „Sicherheit“.
  • Fügen Sie am Seitenende in der Sektion „OAuth 2.0-Clients“ einen Eintrag für Ihr Moodlesystem hinzu, indem Sie einen Namen wie „Moodle“ eingeben und unter „Weiterleitungsadresse“ die https-Adresse zur Moodle-Webseite gefolgt von „admin/oauth2callback.php“ eintragen, beispielsweise:

    https://moodle.meineschule.de/moodle/admin/oauth2callback.php

  • Als Ergebnis erhalten Sie einen Eintrag wie den folgenden:

  • Sie können Einträge wie diesen nachträglich nicht ändern, sondern ausschließlich über das „Papierkorb“-Symbol löschen und dann wieder neu hinzufügen. Dabei ändern sich Client-ID und Shared Secret im Allgemeinen.

2. OAuth2-Instanz auf Moodle anlegen

  • Melden Sie sich auf Ihrer Moodleinstanz als Administrierender an.
  • Navigieren Sie zu „Website-Administration – Server – OAuth 2-Services“.
  • Klicken Sie hinter „Neuen Service anlegen:“ auf den Button „Nextcloud“.
  • Tragen Sie einen Namen wie „Nextcloud“, die Werte für „Client-ID“ und „Client-Secret“ aus Schritt 1 sowie unter „Service-Basis-URL“ die https-URL zu Ihrer Nextcloud­-Web­seite wie z.B. https://nc.meineschule.de ein. Die übrigen Felder sind unverändert beizubehalten bzw. folgt einzustellen. Der Pfad zum Favicon lautet "https://nc.meine-schule.de/index.php/apps/theming/favicon/settings?v=0."

 


  • Klicken Sie anschließend auf „Änderungen speichern“.

3. Endpoints überprüfen

Überprüfen Sie unter „Website-Administration – Server – OAuth 2-Services“ über das zweite Symbol von links im „Bearbeiten“-Menü, ob die Endpoints korrekt konfiguriert sind.

Wenn Sie nicht per „Autodiscovery“ automatisch gesetzt wurden, müssen Sie sie wie folgt manuell anlegen:

Name

URL

authorization_endpoint

https://nc.zsl-server.de/index.php/apps/oauth2/authorize

token_endpoint

https://nc.zsl-server.de/index.php/apps/oauth2/api/v1/token

userinfo_endpoint

https://nc.zsl-server.de/ocs/v2.php/cloud/user?format=json

webdav_endpoint

https://nc.zsl-server.de/remote.php/webdav/

ocs_endpoint

https://nc.zsl-server.de/ocs/v1.php/apps/files_sharing/api/v1/shares

4. Verbinden mit Systemkonto

Klicken Sie unter „Website-Administration – Server – Oauth2-Services“ über das folgende Symbol auf „Systemkonto verbinden“ und melden Sie sich mit den Nextcloud-Zugangsdaten eines Administrierenden an:


Wenn die Anmeldung erfolgreich war, solte das rote Kreuz zu einem grünen Kreuz wechseln.

5. Einbindung als Repository

  • Navigieren Sie auf Ihrer Moodleinstanz zu „Website-Administration – Plugins – Repositories – Übersicht“ und aktivieren Sie das „Nextcloud“-Repository durch Klick auf das „Auge“-Symbol.
  • Klicken Sie in der Übersicht neben „Nextcloud“ auf „Einstellungen“.
  • Vergeben Sie als Namen z.B. „Nextcloud-Speicher“ (dieser wird den Nutzer:innen im „Datei“-Dialog als Bezeichnung des Repositories angezeigt), wählen Sie bei mehreren OAuth2-Diensten den korrekten Dienst aus dem Drop-Down-Menü aus und entscheiden Sie, wie die Dateien gespeichert bzw. referenziert werden sollen. Es empiehlt sich jeweils die Einstellung „extern“:

  • Klicken Sie auf „Speichern“ und auf der folgenden Seite nochmals auf „Speichern“.

6. Nextcloud-Repository nutzen

  • Nutzende können nun überall dort auf der Moodleinstanz, wo es „Datei“-Dialoge gibt, das Repository „Nextcloud-Speicher“ auswählen. Z.B. wenn sie in einem Moodlekurs über „Bearbeiten einschalten – Material oder Aktivität anlegen – Datei“ eine neue Datei hinzufügen.

  • Damit die Dateien des persönlichen Nextcloud-Kontos angezeigt werden, müssen sich Nutzer:innen zuerst mithilfe des Buttons „Mit Ihrem Nutzerkonto anmelden“ und Eingabe seiner Nextcloud-Anmeldedaten authentifizieren und den Zugriff auf die Dateien gewähren. Dies funktioniert auch bei aktivierter Zweifaktorauthentifizierung.
  • Nach der Anmeldung haben Nutzer:innen Zugriff auf die Nextcloud-Dateien und können Sie in Moodle verwenden:

  • Wenn Nutzer:innen auf diese Weise eine Datei aus der Nextcloud in ihren Moodlekursen bereitstellen, können alle Teilnehmer:innen des Kurses diese Datei zugreifen und zwar ohne, dass sie dafür ein Nextcloud-Konto benötigen oder sich auf der Nextcloud vorab anmelden müssten. D.h. die Datei ist für Teilnehmer:innen des Kurses wie eine „normale“ ins Moodlesystem hochgeladene Datei verfügbar.

7. Hinweise und Quellen

 

Clouddienste in Moodle am Beispiel einer Nextcloud-Anbindung: Herunterladen [odt][350 KB]

Clouddienste in Moodle am Beispiel einer Nextcloud-Anbindung: Herunterladen [pdf][300 KB]


Weiter zu Sicherung