Nextcloud mit OCC updaten

March 23, 2019 in linux, nextcloud ‐ 3 min read

UPDATE November 2019: occ ist aktuell nicht mit php 7.3 kompatibel. Nehmt php7.1 oder fügt der einfachheit halber folgendes eurer .bashrc hinzu: alias occ=‘sudo -u www-data php7.1 /var/www/html/occ’

In diesem Artikel möchte ich kurz zeigen, wie man eine NextCloud mit OCC updaten kann. Ich möchte natürlich zunächst mal auf den Update Atikel und den OCC Artikel von NextCloud verweisen.

OCC hat im Namen noch den Ursprung von Nextcloud und steht für Own Cloud Console. Es ist ein PHP Script welches euch ermöglicht auf der Kommandozeile diverse Aktionen in der Nextcloud auszuführen.

So auch das einspielen von Updates. Zunächst solltet Ihr schauen wo sich euer occ script befindet, es sollte in eurem Nextcloud base directory sein.

Bei mir liegt es unter /var/www/nextcloud/

Schauen wir erstmal auf welcher Version wir uns aktuell befinden. Mit sudo -u führen wir php aus und starten mit php das script /var/www/nextcloud/occ mit dem Parameter -V

sudo -u www-data php /var/www/nextcloud/occ -V

image

Eine man page gibt es leider nicht, aber mit occ -h bekommt ihr einen help dialog angezeigt. occ list gibt euch eine liste der verfügbaren befehle.

image

Da diese liste ziemlich lang ist, spare ich mir hier mal einen ai

Hier sehen wir, dass die Nextcloud “Begleitschafe” auf der Version 14.0.0 läuft. Als nächstes wollen wir die Nextcloud in den maintenance mode versetzen. Dies stoppt alle Apps die auf der Nextcloud laufen und bereitet sie für ein update vor.

Jetzt ladet mit wget das die aktuelle Version von Nextcloud herunter. Aktuell ist das bei mir Nexcloud 15.0.5. Das könnt ihr einfach prüfen, wenn Ihr schaut, welches file euch Nextcloud grade als Server Image zum Download anbietet.

wget https://download.nextcloud.com/server/releases/nextcloud-15.0.5.zip

image

Komfortabler weise, könnt Ihr aber auch einfach ein wget auf das latest.zip file machen.

wget https://download.nextcloud.com/server/releases/latest.zip

Und wenn wir jetzt mal ein md5sum über beide files machen, sehen wir, dass sie identisch sind.

image

Entpackt das Verzeichnis jetzt irgendwohin, wo euer aktuelles nextcloud verzeichnis nicht liegt.

unzip nextcloud.zip

Stoppt jetzt euren Webserver.

Apache sudo service apache2 stop

Nginx sudo service nginx stop

Anschließend benennt ihr euer aktuelles nextcloud Verzeichnis um.

sudo mv /var/www/nextcloud/ /var/www/nextcloud-old

Kopiert anschließend das entpackte nextcloud Verzeichnis an die Stelle des alten.

sudo mv /home/ori/nextcloud /var/www/nextcloud

Jetzt kopieren wir die config.php aus dem alten Verzeichnis in das neue.

sudo cp /var/www/nextcloud-old/config/config.php /var/www/nextcloud/config/config.php

Schaut euch jetzt in dieser config.php datei an, was bei der variable datadirectory geschrieben steht. Falls sie sich in dem umbenannten Verzeichnis befand, verschiebt sie von /nextcloud-old nach /nextcloud.

image

Jetzt passen wir noch die Dateiberechtigungen an, so dass www-data (euer webserver) wieder mit /var/www/nextcloud arbeiten kann.

sudo chown -R www-data:www-data /var/www/nextcloud
sudo find /var/www/nextcloud/ -type d -exec chmod 750 {} \;
sudo find /var/www/nextcloud/ -type f -exec chmod 640 {} \;

Startet jetzt euren Webserver.

Apache sudo service apache2 start

Nginx sudo service nginx start

Jetzt könnt Ihr den eigentlichen Upgrade Prozess starten.

sudo -u www-data php /var/www/nextcloud/occ upgrade

image

Und anschließend sollte die Version auf dem aktuellen Stand sein.

image

Jetzt könnt Ihr euch wieder in der Cloud anmelden.

image

Einige Apps werden fehlen, diese müsst ihr erneut runterladen und aktivieren.

image

Cheers, Ori