Archiv für den Monat: April 2025

Wolkenhimmel

Nextcloud manuell updaten

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:

~/www/nextcloud$ php occ maintenance:mode --on

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$ cd ..
~/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:

~/www$ wget https://download.nextcloud.com/server/releases/nextcloud-31.0.4.tar.bz2

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:

~/www$ tar -xjf nextcloud-31.0.4.tar.bz2 -C ~/www

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 nextcloud_old/config/config.php nextcloud/config/config.php
~/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$ cd nextcloud
~/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:

~/www/nextcloud$ php occ maintenance:mode --off

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/nextcloud$ cd ..
~/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.