Im Artikel Nextcloud auf Shared Webhosting updaten habe ich beschrieben, wie Nextcloud auf einem Shared Webhosting trotz einiger Fehlermeldungen aktualisiert werden kann. Da bei meinem Shared Webhosting der maximale Speicher knapp bemessen ist konnte ich ab Version 31.0.1 das Update nicht mehr über das Web UI durchführen. Auch das Update über die Kommandozeile mit dem Updater scheiterte am Speicherlimit. Somit blieb nur noch das manuelle Update. Als Leitfaden habe ich den Artikel Nextcloud: Updates richtig durchführen verwendet.
0. Backup erstellen
Egal über welchen Weg man das Update durchführt: vor dem Update steht immer das Backup, und zwar sowohl von den Daten als auch der Datenbank!
Gerne verweise ich auch hier auf mein kleines php-Tool um umfangreiche Verzeichnisse (wie z.B. eine Nextcloud-Installation) als einzelne Datei zu Sichern.
Vorbereitungen
Um das manuelle Update durchführen zu können ist der Zugriff auf die Komandozeile des Servers, z.B. via ssh, nötig. Das Update habe ich in einer bash-Shell durchgeführt, evtl. kann es bei anderen Shells zu Abweichungen kommen.
Um anzuzeigen in welchem Verzeichnis man sich befinden sollte um die jeweiligen Kommandos auszuführen habe ich den Prompt entsprechend gekennzeichnet. Dabei bezeichnet das Verzeichnis ~/www/nextcloud
das Verzeichnis, in dem die Nextcloud-Installation liegt.
1. Maintenance Mode einschalten
Als erstes wird der Maintenance Mode eingeschaltet. Dazu im nextcloud-Verzeichnis folgendes Kommando ausführen:
2. Aktuelle Installation verschieben
Das nextcloud-Verzeichnis wird nun verschoben um danach mit dem Update einen frischen Ordner erstellen zu können. Dies erfolgt im Eltern-Ordner des nextcloud-Verzeichnises:
~/www$ nextcloud nextcloud_old
3. Installation herunterladen
Nun kann das aktuelle Installationspaket heruntergeladen werden. Die Versionsnummer (im Beispiel 31.0.4) muss natürlich entsprechend angepasst werden:
4. Entpacken / installieren
Mit dem Entpacken wird auch gleich das neue nextcloud-Verzeichnis erstellt, wobei wiederum die Versionsnummer angepasst werden muss. Mit -C wird dabei der Eltern-Ordner spezifiziert:
5. Konfiguration und Daten übernehmen
Aus dem alten Nextcloud-Verzeichnis kann nun die Konfiguration und, falls nicht in einem anderen Verzeichnis gespeichert, der Datenstand übernommen werden:
~/www$ cp -f -R nextcloud_old/data/ nextcloud/data/
Das Kopieren der Daten kann dabei je nach Umfang einige Zeit in Anspruch nehmen.
6. Upgrade durchführen
Im nextcloud-Verzeichnis kann nun das Upgrade gestartet werden:
~/www/nextcloud$ php occ upgrade
7. Maintenance mode ausschalten
Nachdem das Upgrade durchgeführt wurde ist Nextcloud bereit und der Maintenance Mode kann wieder ausgeschaltet werden:
8. Nacharbeiten
Nachdem überprüft wurde ob die Installation erwartungsgemäss funktioniert und die Daten vorhanden sind kann noch aufgeräumt werden (Versionsnummer wiederum anpassen):
~/www$ rm nextcloud-31.0.4.tar.bz2
~/www$ rm -rf nextcloud_old/
Falls die Daten im nextcloud-Verzeichnis liegen kann das löschen des alten Verzeichnisses einige Zeit in Anspruch nehmen.
Fazit
Das manuelle Update ist mit einigem Aufwand verbunden, den die Updater sonst übernehmen. Mit der oben stehenden Schritt-für-Schritt-Anleitung sollte das manuelle Update aber ohne grössere Probleme durchführbar sein.