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
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.
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
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.
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.
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
Und anschließend sollte die Version auf dem aktuellen Stand sein.
Jetzt könnt Ihr euch wieder in der Cloud anmelden.
Einige Apps werden fehlen, diese müsst ihr erneut runterladen und aktivieren.
Cheers, Ori