Aktualisierung von Moodle
Dieser Artikel beschreibt, wie Sie Moodle aktualisieren. Eine Übersicht über die einzelnen Schritte finden Sie unter Aktualisierung in Kürze.
| Hinweis:
Die Verzeichnisstruktur der Moodle-Codedateien hat sich in Version 5.1 geändert. 1. Es wurde ein neuer Ordner public eingeführt, der alle über das Internet zugänglichen Dateien enthält. Konfigurationsdateien und andere sensible Dateien werden nun aus Sicherheitsgründen außerhalb dieses Ordners gespeichert. 2. Im Rahmen des Aktualisierungsprozesses müssen Sie Ihren Webserver neu konfigurieren, um diese Änderungen zu berücksichtigen. Siehe Abschnitt Aktualisierung - Umstrukturierung des Moodle-Code-Verzeichnisses. |
Voraussetzungen prüfen
Prüfen Sie die Systemanforderungen für die aktuellste Moodle-Version 5.2 unter Block Einstellungen > Website-Administration > Server > Serverumgebung.
Die Anforderungen an die Server- und Client-Software finden Sie in den Moodle 5.2 Release Notes.
Hinweis: Beachten Sie, dass Sie nur von Moodle 4.4 oder neueren Versionen auf die aktuelleste Moodle-Version 5.2 aktualisieren können. Wenn Ihre Moodle-Installation älter ist, müssen Sie zuerst in einem Zwischenschritt auf von Moodle Moodle 4.4 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. Siehe Moodle-Migration.
Nutzen Sie bei Bedarf einen Aktualisierungsschlüssel für Ihre Moodle-Site.
Wichtige Daten sichern
Sie müssen drei Bereiche sichern, bevor Sie eine Aktualisierung vornehmen:
- Moodle Software (PHP-Skripte von Moodle)
- Moodle-Datenverzeichnis
- Moodle-Datenbank
Detaillierte Informationen dazu finden Sie im Artikel Sicherungen.
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 5.2 für die Plugins gibt, die Sie früher auf Ihrer Moodle-Site installiert haben. Wenn das der Fall ist, laden Sie diese neuen Plugins 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. Danach sollten Sie abwarten, bis alle laufenden Cron-Prozesse abgeschlossen sind, bevor Sie mit der Aktualisierung fortfahren.
Umstrukturierung des Moodle-Code-Verzeichnisses
Die Verzeichnisstruktur der Moodle-Codedateien und das Sicherheitsmodell haben sich seit Version 5.1 geändert.
Wenn Sie von Version 5.0 oder älter auf 5.2 aktualisieren, müssen Sie die Konfiguration Ihres Webservers anpassen. Ausführliche Informationen finden Sie hier in den MoodleDocs 5.1.
Wenn Sie von 5.1 auf 5.2 aktualisieren, haben Sie die oben genannten Aktualisierungen der Webserver-Konfiguration bereits vorgenommen, sodass für das Aktualisieren auf 5.2 keine weiteren Maßnahmen zur Umstrukturierung der Verzeichnisse erforderlich sind.
Routing
Ab Moodle 4.5 ist ein Router in Moodle enthalten, dessen Verwendung in kommenden Versionen zunehmen wird.
Apache
Wenn Sie Zugriff auf die Apache-Konfiguration haben, können Sie die Anweisung FallbackResource wie folgt verwenden:
<Directory „/path/to/your/site“>
FallbackResource /r.php
</Directory>
Wenn Sie keinen Zugriff auf die Apache-Konfiguration haben, Ihre Konfiguration jedoch die Einstellung von FallbackResource in einer Override-Datei zulässt, können Sie eine .htaccess-Datei in Ihrem Moodle-Ordner public mit folgendem Inhalt erstellen:
FallbackResource /r.php
</syntaxhighlight>
Wenn Ihr Host die Verwendung der Anweisung FallbackResource verhindert, können Sie möglicherweise dennoch mod_rewrite verwenden. Weitere Informationen finden Sie in der Dokumentation zu OpenLiteSpeed unten.
Weitere Informationen zur Anweisung FallbackResource finden Sie in der Apache-Dokumentation.
Nginx
Der Nginx-Server unterstützt keine Konfiguration pro Verzeichnis. Alle Konfigurationen müssen in der zentralen Konfiguration angegeben werden.
Die erforderliche Konfiguration hängt von Ihrer gesamten Nginx-Konfiguration und der Integration von php-fpm ab.
try_files $uri $uri/ /r.php$is_args$args;
OpenLiteSpeed (cPanel)
Diese Konfiguration ist auch mit Apache kompatibel.
Folgendes sollte in die Datei .htaccess Ihres Moodle-Verzeichnisses /public eingefügt werden.
RewriteEngine On
# Wenn wir eine Anfrage haben, die:
# - keine Datei ist;
# - sondern ein Verzeichnis;
# - und das Verzeichnis eine index.php enthält;
# dann leiten Sie zur index.php in diesem Verzeichnis weiter.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_FILENAME}/index.php -f
RewriteRule ^(.*)$ $1/index.php [L]
# Umschreiben von / zu /index.php
RewriteRule ^$ ./index.php [L]
# Alles andere sollte zum Moodle-Router umgeleitet werden.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ r.php [L,QSA]
Neue Moodle-Version installieren
Laden Sie sich das aktuelle Moodle Paket 5.2 von http://download.moodle.org herunter.
Standardpaket verwenden
- Verschieben Sie Ihre alten Moodle-Softwareprogrammdateien an einen anderen Speicherort. Kopieren Sie KEINE neuen Dateien über die alten Dateien.
- Entpacken Sie den neuen Code, sodass sich alle neuen Moodle-Codedateien an dem Speicherort befinden, an dem sich zuvor die alten Dateien auf dem Server befanden. Moodle passt SQL und Moodle-Datenverzeichnis bei Bedarf während des Aktualisierungsprozesses an.
- Kopieren Sie Ihre alte Moodle-Konfigurationsdatei config.php zurück in das neue Moodle-Verzeichnis (nicht in das öffentliche Unterverzeichnis moodle/public!).
Wie oben erwähnt, sollten Sie, wenn Sie Plugins auf Ihrer Website installiert haben, diese jetzt zum neuen Code-Baum (Moodle-Verzeichnisstruktur) hinzufügen. Es ist wichtig, dass Sie überprüfen, ob Sie die richtige Version für Ihre neue Moodle-Version erhalten. Achten Sie besonders darauf, dass Sie keinen Code in der neuen Moodle-Version überschreiben und dass Sie die Plugin-Ordner im richtigen Verzeichnis ablegen (dem gleichen Verzeichnis, in dem sie sich in der aktuellen Installation befinden).
Ihr moodledata-Ordner sollte separat von Ihrem Moodle-Code-Ordner liegen und daher keine weiteren Maßnahmen erfordern. Moodle gibt eine Warnung aus, wenn er sich in einem über das Web zugänglichen Ordner befindet. Außerdem sollte der moodledata-Ordner sollte niemals im Moodle-Code-Ordner liegen.
Wenn Sie Ihre Moodle-Installation auf einen neuen Server umziehen, lesen Sie den Artikel Moodle-Migration.
Linux
Unter Linux würden diese Schritte so aussehen:
Moodle-Verzeichnis umbenennen und neuen Code entpacken:
mv moodle moodle.backup tar xvzf moodle-latest-5.2.tgz
Kopieren Sie anschließend Ihre Moodle-Konfigurationsdatei config.php, alle Zusatz-Plugins und Ihre .htaccess-Datei, falls Sie eine erstellt haben (überprüfen Sie zunächst, ob die Zusatz-Plugins die richtige Version für Ihr neues Moodle sind):
cp moodle.backup/config.php moodle cp -pr moodle.backup/theme/mytheme moodle/public/theme/mytheme cp -pr moodle.backup/mod/mymod moodle/public/mod/mymod
Vergessen Sie nicht, moodle/config.php (und den Rest des Quellcodes) für Ihren Webserver lesbar zu machen. Aus Sicherheitsgründen sollten die Dateien für Ihren Server nicht schreibbar sein. Dies ist besonders wichtig auf einem Produktivsystem, das für das öffentliche Internet zugänglich ist.
chown -R root:root moodle (Linux Debian – oder erstellen Sie einen Nutzer speziell für Moodle. Verwenden Sie nicht den Webserver-Benutzer, z.B. www-data) chmod -R 755 moodle
Wenn Sie cron verwenden, achten Sie darauf, dass cron.php ausführbar ist und den richtigen PHP-Befehl verwendet:
chmod 740 admin/cli/cron.php (einige Konfigurationen erfordern chmod 750 oder chmod 755)
Kopieren Sie die erste Zeile aus cron.php, falls erforderlich (wenn sie wie #!/usr/local/bin/php oder #!/usr/local/bin/php5.3 aussieht, müssen Sie <?php nicht kopieren). Für eine einfache Aktualisierung sollte es jedoch nicht notwendig sein, etwas an cron zu ändern.
Git verwenden
Sie können auch das Git verwenden, um Moodle zu aktualisieren.
Wichtig: Alle von Ihnen installierten Plugins von Drittanbietern befinden sich weiterhin an ihren ursprünglichen Speicherorten oberhalb des neuen Ordners /public. Diese müssen in ihren relativen Pfad innerhalb der neuen Ordnerstruktur /public verschoben werden, damit sie weiterhin funktionieren.
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.
Mögliche Probleme in Moodle 5.2
Siehe auch die Liste unter upgrade_notes-labelled issues und ui_change-labelled issues.
Debugging-Meldungen beim Upgrade
Während des Upgrades können Debugging-Meldungen wie „Frage wird gelöscht, die nicht mehr mit einem Kontext verknüpft ist...“ auftreten. Hierfür sind keine Maßnahmen erforderlich. Wir arbeiten an der Behebung dieses bekannten Debugging-Problems unter MDL-88393.
Aktivitäten-Block gelöscht
Der Aktivitäten-Block wurde gelöscht. Der Block wird vom Dashboard und allen Kursseiten entfernt, die diesen Block früher angezeigt haben. Prüfen Sie die betroffenen Seiten vor der Aktualsierung und kommunizieren Sie entsprechend.
Entfernung von Unterabschnitten
Das Beschreibungsfeld bei Unterabschnitten wird entfernt. Eine Migrationstask wandelt vorhandene Beschreibungen in Text- und Medienaktivitäten um. Dies erfolgt automatisch während der Aktualisierung von Moodle oder manuell über Ad-hoc-Tasks. Es bleiben nur die Einstellungen für den Namen und Voraussetzungen (Zugriffsbeschränkung) erhalten. Es sind keine Maßnahmen erforderlich, es sei denn, Workflows verweisen direkt auf die Einstellungsseiten von Unterabschnitten.
MoodleNet veraltet
Die MoodleNet Integration ist ab Moodle 5.2 veraltet und wird in zukünftigen Versionen entfernt. Wenn in Ihrer Organisation ein Client MoodleNet Sharing aktiv nutzt, beginnen Sie mit der Planung für den Übergang.
Entfernung von MimeTeX
Die MimeTeX Bibliothek wurde entfernt. Wenn ein Client den TeX-Filter mit MimeTeX nutzt, um mathematische Formuln darzustellen, wechseln Sie zu MathJax - den empfohlenen Ersatzfilter, der bereits von Moodle unterstützt wird.
Marketplace Integration
Moodle 5.2 bietet eine Basis-Infrastruktur für die Integration von Marketplace. Es sind keine Maßnahmen erforderlich - es handelt sich nur um die Ankündigung von bevorstehenden Änderungen hinsichtlich der Erkennung von Plugins und Integrationen in zukünftigen Moodle-Versionen.
Neue Fähigkeiten in Moodle 5.2
Moodle 4.3, 4.4, 4.5, 5.0 und 5.1 Aktualisierungshinweise
In Abhängigkeit davon, von welcher Moodle Version aus Sie aktualisieren, beachten Sie die Abschnitte "Mögliche Probleme in Moodle X.X" in diesen MoodleDocs:
- Aktualisierung auf Moodle 4.3
- Aktualisierung auf Moodle 4.4
- Aktualisierung auf Moodle 4.5
- Aktualisierung auf Moodle 5.0
- Aktualisierung auf Moodle 5.1
Fragen zu dieser Vorgehensweise?
Dann schreiben Sie einen Beitrag in diesem Forum auf moodle.org.
Siehe auch
- Moodle 5.2 Release Notes (englisch)
- Installation