Hinweis: Sie sind auf den Seiten der Moodle 3.0 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Aktualisierung von Moodle.

Aktualisierung von Moodle

Aus MoodleDocs
Wechseln zu:Navigation, Suche

Dieser Artikel beschreibt, wie Sie Moodle aktualisieren. Eine Übersicht über die einzelnen Schritte finden Sie unter Aktualisierung in Kürze.

Voraussetzungen prüfen

Prüfen Sie die Systemanforderungen für die aktuellste Moodle-Version 3.0 unter Block Einstellungen > Website-Administration > Server > Serverinformationen. Wenn Sie eine MySQL-Datewnbank verwenden, müssen Sie die Datenbank-Engine auf InnoDB aktualisieren. Siehe Migration von MyISAM zu InnoDB.

Hinweis: Beachten Sie, dass Sie nur von Moodle 2.2. oder neueren Versionen auf die aktuelleste Moodle-Version 3.0 aktualisieren können. Wenn Ihr Moodle älter ist als 2.2, dann müssen Sie erst auf Moodle 2.2. aktualisieren.

Bevor Sie Ihr Produktivsystem aktualisieren

Wir empfehlen Ihnen dringend, die Aktualisierung auf einer Kopie Ihres Produktivsystems zu testen, um sicherzustellen, dass alles wie gewünscht funktioniert.

Nutzen Sie bei Bedarf einen Aktualisierungsschlüssel für Ihre Moodle-Site.

Wichtige Daten sichern

Detaillierte Informationen dazu finden Sie im Artikel Sicherungen.

Im wesentlichen müssen Sie drei Bereiche sichern:

  1. Moodle Software (PHP-Skripte von Moodle)
  2. Moodle-Datenverzeichnis
  3. Moodle-Datenbank

Erfahrene Administrator/innen wissen, dass es bei größeren Aktualisierungen immer wichtig ist, diese Daten zu sichern. Generell ist es eine gute Idee, diese Daten täglich automatisch zu sichern. Wenn Sie eine Standardinstallation von Moodle betreiben (ohne zusätzliche Plugins, ohne eigene Codeanpassungen), dann läuft die Aktualisierung normalerweise reibungslos durch.

Tipp: Prüfen Sie auch, ob Sie Ihre Sicherungen wiederherstellen können, sonst nützen sie nichts!

Prüfen Sie, ob es Aktualisierungen für Ihre Plugins gibt

Wenn Sie die Automatische Aktualisierung aktiviert haben, dann können Sie die installierten Plugins automatisch während der Aktualisierung von Moodle aktualisieren. Prüfen Sie auf der Seite Einstellungen > Website-Administration > Plugins > Übersicht, ob Aktualisierungen vorhanden sind.

Wenn Sie Plugins manuell aktualisieren, dann ist es ein guter Zeitpunkt zu prüfen, ob es eine aktuelle Version 3.0 für die Plugins gibt, die Sie früher auf Ihrer Moodle-Site installiert haben. Wenn das der Fall ist, laden Sie diese neue(n) Plugin-Version(en) herunter, kopieren Sie sie an die richtige Stelle im Moodle-Code-Verzeichnis (siehe Plugins installieren).

Die Aktualisierung des Plugins erfolgt dann im Verlauf der Aktualisierung von Moodle.

Wenn ein veraltetes Plugin den Abbruch der Aktualisierung verursacht, dann löschen Sie den entsprechenden Code direkt auf dem Moodle-Server, anstatt das Plugin in Moodle zu deinstallieren.

Wartungsmodus aktivieren

Bevor Sie mit der Aktualisierung beginnen, schalten Sie die Moodle-Site in den Wartungsmodus, um zu verhindern, dass sich Nutzer/innen anmelden.

Neue Moodle-Version installieren

Laden Sie sich das aktuelle Moodle Paket 3.0 von[1] herunter oder verwenden Sie den Befehl

   wget http://sourceforge.net/projects/moodle/files/Moodle/stable30/moodle-latest-30.tgz

Standardpaket verwenden

  • Benennen Sie das alte Moodle-Verzeichnis um (z.B. /moodle -> /moodleold).
  • Entpacken Sie den neuen Code und kopieren Sie ihn in das Verzeichnis, in dem die alten Moodle-Skripte vorher lagen (z.B. /moodle).
  • Kopieren Sie Ihre alte Moodle-Konfigurationsdatei config.php zurück ins Moodle-Verzeichnis (z.B. /moodle).
  • Wenn Sie zusätzliche Plugins installiert hatten, laden Sie die entsprechenden neuen Versionen herunter und entpacken Sie diese in den passenden Verzeichnissen (siehe Plugins installieren). Stellen Sie sicher, dass die Versionen der Plugins zur neuen Moodle-Version passen.
  • Kopieren Sie Ihr Moodle-Datenverzeichnis.

Unter Linux würden diese Schritte so aussehen:

Moodle-Verzeichnis umbenennen und neuen Code entpacken:

   mv moodle moodle.backup
   tar xvzf moodle-3.0.tgz

Alte Moodle-Konfigurationsdatei kopieren und zusätzliche Plugins kopieren:

   cp moodle.backup/config.php moodle
   cp -pr moodle.backup/theme/mytheme moodle/theme/mytheme
   cp -pr moodle.backup/mod/mymod moodle/mod/mymod

Die Moodle-Konfigurationsdatei für den Webserver lesbar machen. Idealerweise sollten diese Dateien für den Webserver nicht schreibbar sein:

   chown -R www-data:www-data moodle (Linux debian - ändern Sie bei Bedarf den Webserver-Nutzer entsprechend Ihrer Linux-Distribution)
   chmod -R 755 moodle 

Wenn Sie Cron verwenden, stellen Sie sicher, dass das Cron-Skript ausführbar ist und der richtige PHP-Befehl verwendet wird:

   chmod 740 admin/cli/cron.php (einige Linux-Distributionen benötigen chmod 750 oder chmod 755)

Den richtigen PHP-Befehl finden Sie in der 1. Zeile des Cron-Skripts, etwa:

   /usr/local/bin/php oder /usr/local/bin/php5.3

Git verwenden

Sie können auch das Git verwenden, um Moodle zu aktualisieren.

Aktualisierung von Kommandozeile

Sie können Moodle auch von der Kommandozeile aktualisieren. Diese Variante funktioniert insbesondere für große Moodle-Installationen zuverlässiger als die Aktualisierung über den Webbrowser.

Aktualisierung abschließen

Jetzt müssen Sie noch den eignetlichen Aktualisierungsprozess in Moodle anstoßen. Gehen Sie dazu auf die Seite Einstellungen > Website-Administration > Mitteilungen.

Moodle erkennt automatisch, dass eine neuere Version auf den Server hochgeladen wurde und startet die Aktualisierung der Moodle-Datenbank und des Moodle-Datenverzeichnisses. Wenn irgendetwas nicht automatisch aktualisiert werden kann, sehen Sie entsprechende Hinweise und Anleitungen, was Sie tun sollen.

Wenn alles erfolgreich und ohne Fehlermeldungen durchläuft, dann können Sie mit Ihrer neuen Moodle-Version sofort loslegen!

Hinweis: Wenn Sie mit mehreren Servern arbeiten, dann sollten Sie nach der Aktualisierung auf allen Servern den Cache löschen: Klicken Sie dazu im Block Einstellungen > Website-Administration > Entwicklung > Cache löschen.

Fatal error: Maximum execution time of 30 seconds exceeded...

Wenn Sie neben dem englischen Sprachpaket weitere Sprachpakete verwenden, dann kann dieser Fehler auftreten, weil die Aktualisierung des Sprachpakets zu lange dauert. In diesem Fall erhöhen Sie inder PHP-Konfigurationsdatei php.ini den Wert

max_execution_time = 160

. Dann haben die Moodle-Skripte genügend Zeit, die Sprachpakete zu aktualisieren.

Alternativ können Sie Ihre Moodle-Site vor der Aktualisierung auf englisch umstellen und danach wieder auf die gewünschte Sprache zurückstellen. Siehe dieser Diskussionsbeitrag auf moodle.org: https://moodle.org/mod/forum/discuss.php?d=119598.

Nach der Aktualisierung

Die Moodle-Konfigurationsdatei config.php sollte gut funktionieren. Wenn Sie sich jedoch die mitgelieferte Konfigurationsdatei config-dist.php ansehen, dann finden Sie dort weitere/andere Optionen (z.B. Datenbanktreiber und -einstellungen). Es ist eine gute Idee, die neuen Werte aus der config-dist.php in Ihre config.php zu übernehmen.

Cron

Das Cron-Skript wurde vollständig überarbeitet (siehe MDL-25499) und unterstützt jetzt sowohl Geplante Vorgänge als auch Adhoc-Vorgänge.

Die Vorteile dieser Änderungen sind:

  • Der Zeitplan für jeden Vorgang kann von der Moodle-Administration konfiguriert werden.
  • Vorgänge können parallel laufen.
  • Die Cron-Prozesse sperren sich gegenseitig, so dass verhindert wird, das ein und derselbe Vorgang von mehreren Cron-Prozessen gleichzeitig bearbeitet wird.
  • Cluster mit mehreren identischen Anwendungsknoten werden unterstützt, so dass der Cron-Job auf allen laufen kann.

Damit kann der Cron-Job viel häufiger laufen, so dass z.B. Forumsbeiträge schneller per E-Mail verschickt werden können. Es wird dringend empfohlen, dass die Moodle-Administration den Cron-Job mindestens 1x pro Minute laufen lässt.

Evtl. müssen Sie auch alle selbstgeschriebenen Skripte anpassen, die die Ausgabe des Cron-Skripts verarbeiten. Es ist nicht mehr möglich, mit solchen Skripten einfach die Cron-Ausgabe

Cron script completed correctly

auszuwerten. Stattdessen können Sie die Fehlerausgaben

task failed

auswerten. Ein paar Tipps dazu finden Sie hier.

In früheren Moodle-Versionen konnte es passieren, dass ein Fehler in einem Vorgang zum Abbruch des gesamten Cron-Jobs führte. Jetzt passiert das nicht mehr. Prüfen Sie also die Ausgaben des Cron-Skripts nach der Aktualisierung sorgfältig.

Aufgaben

Das alte Aufgaben(2.2)-Plugin wurde in der neuen Moodle-Version gelöscht. Es ist jedoch weiterhin gewährleistet, dass alte Kurssicherungen, die alte Aufgaben(2.2.)-Aktivitäten enthalten sauber wiederhergestellt werden können.

Wenn Sie immer noch dass alte Aufgaben(2.2)-Plugin verwendet haben, dann sind nach der Aktualisierung alle Aktivitäten diesen Typs verborgen. Um diese Aktivitäten wieder verfügbar zu machen, müssen Sie das das Aktualisierungs-Tool laufen lassen.

Wenn es tatsächlich zwingende Gründe gibt, das alte Aufgaben(2.2)-Plugin weiter zu verwenden, dann müssen Sie den Code auf Moodle 3.0 aktualisieren und dann das Verzeichnis moodle/mod/assignment durch das entsprechende Verzeichnis von https://github.com/moodlehq/moodle-mod_assignment/releases ersetzen.

Mögliche Probleme in Moodle 3.0

Verbesserung bei Schlagwörtern

Wenn Sie Kursschlagwörter im Schlagwörter-Block verwendet haben und bisher die Einstellung "Kursschlagwörter anzeigen" aktiviert hatten, dann beachten Sie, dass sich die Funktionalität geändert hat. Siehe Änderungen ab Moodle 3.0.

CAS und LDAP CLI Skripte esretzt durch der geplante Vorgänge

Der geplante Vorgang Synchonisierung von LDAP-Nutzerkonten \auth_ldap\task\sync_task ersetzt das CLI-Skript zur Synchronisierung von LDAP-Nutzerkonten.

Der geplante Vorgang Synchonisierung von CAS-Nutzerkonten \auth_cas\task\sync_task ersetzt das CLI-Skript zur Synchronisierung von CAS-Nutzerkonten.

Moodle 2.3, 2.4, 2.5, 2.6, 2.7, 2.8 und 2.9 Verbesserungen

Je nachdem, von welcher Moodle-Version aus Sie auf Moodle 3.0 aktualisieren, empfehlen wir die entsprechenden Abschnitt "Mögliche Probleme in Moodle 2.x" in der jeweiligen Dokumentation zu lesen:

Siehe auch