Beim Hoster All-Inkl hatte ich das Problem, dass die Aktualisierung der Community Document Server App Nextcloud in den Maintenance Mode versetzte und dadurch Nextcloud für die produktive Nutzung unbrauchbar machte. Darüber hinaus schlug auch die Aktualisierung der Community Document Server App fehl, sodass ich diese irgendwie manuell aktualisieren musste.
Ich entschied diese Probleme über SSH zu lösen. Im All-Inkl Privat Premium Hosting Paket sind glücklicherweise kostenlose SSH-Zugänge inkludiert. Die Kunden anderer (günstigerer) Hosting-Pakete müssen sich wohl an den All-Inkl Support wenden oder kostenpflichte SSH-Zugänge freischalten lassen.
Nextcloud Maintenance Mode über SSH deaktivieren
Im konkreten Fall wurde die Nextcloud-Installation auf einem Subdomain betrieben. Die Nextcloud-Dateien lagen direkt im Hauptverzeichnis des Accounts, sodass der Pfad zu den Dateien /www/htdocs/wXXXXXXX/ lautete (wXXXXXXX steht für den Benutzernamen des All-Inkl-Kontos und muss an euren Benutzernamen angepasst werden). Nachfolgend wird daher davon ausgegangen, dass die Nextcloud-Installation direkt im Hauptverzeichnis liegt. Falls dies nicht der Fall ist (z.B. eine Unterordnerstruktur angelegt wurde), müssen die Pfade in den nachfolgenden Code-Snippets angepasst werden.
Zuerst muss ein SSH-Zugang bei ALL-INKL eingerichtet werden. Hierfür kann man der offiziellen Anleitung folgen.
Anschließend muss man sich mit einem SSH-Client (z.B. verwende ich Putty Portable) am ALL-INKL-Server anmelden.
Im nächsten Schritt sollte die PHP CLI Version auf die neueste verfügbare PHP Version gesetzt werden, weil das Nextcloud OCC-Skript sonst Fehlermeldungen auswirft. Nähere Details finden sich in der offiziellen Anleitung. Ich habe beispielsweise für PHP 7.3 folgenden Code in die Putty-Console eingetragen:
ln -sfv /usr/bin/php80 /usr/bin/php
Anschließend könnt ihr den Maintenance Mode mit folgender Code-Zeile deaktivieren:
php occ maintenance:mode --off
Nextcloud Community Document Server App manuell über SSH installieren
Hierzu müsst ihr zuerst die aktuelle Document Server App Version herunterladen. Die aktuelle Version könnt ihr auf der offiziellen Website abfragen. Ich gehe in weiterer Folge von der Version 0.1.7 aus, welche im Juli 2020 aktuell war. Für den Download verwenden wir wget und bei der URL berücksichtigen wir die korrekte Versionsnummer. Die nächste SSH-Eingabe sollte daher wie folgt aussehen:
wget -P /www/htdocs/wXXXXXXX/ https://github.com/nextcloud/documentserver_community/releases/download/v0.1.7/documentserver_community.tar.gz
Im nächsten Schritt verschieben wir die Datei documentserver_community.tar.gz in den Apps-Ordner, löschen den bestehenden documentserver_community-Ordner im Apps-Ordner und entpacken dann das tar.gz-Archiv im Apps-Ordner, womit die Aktualisierung beendet ist.
Folgender Code verschiebt die Datei documentserver_community.tar.gz in den Apps-Ordner:
mv /www/htdocs/wXXXXXXX/documentserver_community.tar.gz /www/htdocs/wXXXXXXX/apps/documentserver_community.tar.gz
Dann löschen wir den bestehenden documentserver_community-Ordner:
rm -rf /www/htdocs/wXXXXXXX/apps/documentserver_community
Dann entpacken wir das tar.gz-Archiv/die Datei documentserver_community.tar.gz:
tar -zxvf /www/htdocs/wXXXXXXX/apps/documentserver_community.tar.gz
Zuletzt löschen wir das tar.gz-Archiv/die Datei documentserver_community.tar.gz, weil diese nach dem Entpacken nicht mehr benötigt wird:
rm /www/htdocs/wXXXXXXX/apps/documentserver_community.tar.gz

