Die eigene Cloud: Nextcloud Update auf einer Synology DiskStation mit DSM 6

Im letzten Beitrag habe ich erklärt, wie man gängige Fehler und Sicherheitslücken behebt und Nextcloud für ein produktives Umfeld optimiert. In diesem Beitrag zeige ich euch, wie ihr eure Nextcloud update könnt und zwar sowohl per manuellem Update als auch per Updater-App.

Update: 12. Juli 2017 – Hinweis zu Apache 2.4 und PHP 7 hinzugefügt.

Manuelles Update

  1. Solltet ihr Nextcloud mit Apache 2.4 und PHP 7 betreiben, solltet ihr für ein Update auf Apache 2.2 und PHP 5.6 zurückwechseln, da die neuen Versionen auf der DiskStation mit Nextcloud zu Problemen führen können. Geht dazu unter Web Station -> PHP-Einstellungen -> Erweiterungen -> HTTP Backend Server und PHP und stellt dort Apache 2.2 und PHP 5.6 ein.
  2. Erstellt ein Backup eurer Nextcloud-Datenbank.
  3. Maintenance-Mode.
  4. Verbindet euch via putty mit der Diskstation.
  5. Loggt euch als Administrator ein.
  6. Erlangt root-Zugriff mit sudo -i und eurem Passwort.
  7. Wechselt in den Nextcloud-Ordner unter /volumeX/web.
  8. Aktiviert den Maintenance-Mode mit:

    Achtet auf der DiskStation darauf http als Nutzer zu verwenden und php56 zu schreiben um occ verwenden zu können. Alternativ könnt ihr den Maintenance-Mode auch direkt in der config.php aktivieren.
  9. Stoppt den Webserver (WebStation im Paket Zentrum stoppen).
  10. Benennt euren Nextcloud-Ordner unter /volumeX/web um (z.B. Nextcloud-Old).
  11. Ladet euch den neuesten Nextcloud Release hier herunter.
  12. Ladet das Archiv auf eure DiskStation und entpackt es unter /volumeX/web.
    • Benennt das Verzeichnis um, falls ihr  vorher einen anderen Namen benutzt habt.
  13. Kopiert euere config.php aus eurem alten Verzeichnis in das neue.
  14. Solltet ihr euer data-Verzeichnis noch innerhalb eures Nextcloud-Verzeichnisses haben, müsst ihr es auch in das neue Verzeichnis kopieren. Habt ihr es außerhalb des /web Ordners müsst ihr nichts tun, da der Pfad in den config.php steht.
  15. Habt ihr 3rd-Party-Apps installiert, schaut im neuen Verzeichnis unter /apps ob sie dort vorhanden sind, wenn nicht, kopiert sie dort hin. Achtung: macht das nur für Apps die ihr tatsächlich installiert habt. Lasst apps die ihr nicht kennt und im neuen Verzeichnis nicht finden könnt aus. Es kommt vor, dass Apps in neuen Nextcloud-Versionen nicht mehr enthalten sind, diese werdet ihr auch nicht mehr im /apps-Verzeichnis finden.

Rechte anpassen

  1. Legt euch ein Script auf der Diskstation mit folgendem Inhalt an:

    Habt ihr Nextcloud mit der Anleitung aus diesem Artikel installiert und das Script schon angelegt, könnt ihr euch diesen Schritt sparen. Ihr könnt die Rechte auch direkt über putty oder WinSCP anpassen. Ich empfehle aber die Script-Variante, da ihr bei jedem Update die Rechte ändern müsst, ihr spart euch dadurch das ständige eintippen in putty bzw. das Setzen der Rechte via WinSCP.
  2. Verbindet euch via putty mit der Diskstation
  3. Loggt euch als Administrator ein.
  4. Erlangt root-Zugriff mit sudo -i und eurem Passwort.
  5. Führt die beiden Zeilen per putty aus oder ruft das Script mit sh /volumeX/Pfad/zum/Script.sh aus.

    Rechte vor dem Update
    Rechte vor dem Update

Update ausführen

  1. Startet den Webserver wieder.
  2. Wechselt in putty in euer Nextcloud-Verzeichnis.
  3. Deaktiviert den Maintenance-Mode wieder, der upgrade Befehl scheint den Maintenance-Mode selbst zu aktivieren, ist der Modus schon vorher aktiv lässt sich das Update nicht starten:

  4. Startet das Update mit occ:

  5. Der Vorgang dauert, abhängig von der Größe eurer Installation, einige Zeit. In der Kommandozeile werdet ihr über die einzelnen Schritte informiert und nach Abschluss des Updated erhaltet ihr eine Meldung.

    Update-Vorgang in der Konsole
    Update-Vorgang in der Konsole
  6. Deaktiviert den Maintenance-Mode wieder:

  7.  Eure Nextcloud ist jetzt aktualisiert, fahrt mit den Schritten nach dem Update fort.

Update per Updater-App

ACHTUNG: Das Updater per Updater funktioniert erst ab Nextcloud 10.0.1 einwandfrei. Ältere Nextcloud-Versionen sowie Owncloud verwenden noch den Owncloud-Updater, welcher als sehr instabil gilt bzw. über den unter Nextcloud keine neuen Versionen ausgeliefert werden.

Ein Update per Updater könnt ihr dann ausführen, wenn euch Nextcloud per Notification auf ein vorhandenes Update hinweist. Die Notification bekommt ihr entweder über den Nextcloud-Client oder über das Webinterface.

Update notification
Update notification

Solltet ihr Nextcloud mit Apache 2.4 und PHP 7 betreiben, solltet ihr für ein Update auf Apache 2.2 und PHP 5.6 zurückwechseln, da die neuen Versionen auf der DiskStation mit Nextcloud zu Problemen führen können. Geht dazu unter Web Station -> PHP-Einstellungen -> Erweiterungen -> HTTP Backend Server und PHP und stellt dort Apache 2.2 und PHP 5.6 ein.

Rechte anpassen:

Dies ist die einzige Aufgabe die der Updater (bewusst) nicht übernimmt. Damit das Update ausgeführt werden kann, müssen die Rechte entsprechend gesetzt werden. Die Rechte werden am besten über putty oder WinSCP gesetzt. Diejenigen die schon den ersten Artikel dieser Serie gelesen haben und sich wie empfohlen das Script angelegt haben, sparen hier Zeit und Arbeit und können bei Punkt 2 fortfahren.

  1. Alle anderen legen sich am besten irgendwo auf der DS ein Script an (Textdatei mit der Endung .sh), der Inhalt ist folgender:
  2. Verbindet euch via putty mit der Diskstation
  3. Loggt euch als Administrator ein.
  4. Erlangt root-Zugriff mit sudo -i und eurem Passwort.
  5. Führt die beiden Zeilen per putty aus oder ruft das Script mit sh /volumeX/Pfad/zum/Script.sh aus.

Updater ausführen:

  1. Loggt euch in das Nextcloud-Webinterface ein.
  2. Wechselt in den Administrator-Bereich. Dort solltet ihr den Hinweis auf die neue Version finden.
  3. Öffnet den Updater über den eingeblendeten Button. Der Updater zeigt dann nochmal die aktuelle Version und die neue Version auf die er aktualisieren wird.
Aktuelle Version und Updater im Admin-Bereich
Aktuelle Version und Updater im Admin-Bereich
Versionsübersicht im Updater
Versionsübersicht im Updater

Der Updater führt einige Checks durch, bevor der eigentliche Update-Prozess gestartet wird. Unter anderem wird überprüft ob Dateien und/oder Ordner vorhanden sind, die in der aktuellen Nextcloud-Version nicht mehr benutzt werden. Diese können im Normalfall einfach gelöscht werden. Der Updater kann dann über den Button neu gestartet werden.

Fehlgeschlagener Filecheck
Fehlgeschlagener Filecheck

Als Nächstes werden die Rechte überprüft. Habt ihr diese vorhin nicht angepasst, schlägt dieser Punkt fehl. Überprüft in diesem Fall die Rechte und fahrt dann fort. Dieser Punkt kann einige Minuten in Anspruch nehmen.

Überprüfung der Zugriffsrechte
Überprüfung der Zugriffsrechte

Der Updater legt ein Backup an und beginnt mit dem Aktualisieren der Dateien.

Datenbank aktualisieren:

Dieser Prozess kann auf 2 verschiedene Arten durchgeführt werden. Entweder über das Webinterface oder über die Kommandozeile (putty). Bei sehr großen Datenbanken kann es bei dem Update zu einem PHP-Timeout kommen. In diesem Fall muss man das Update über die Kommandozeile machen. Lasst den Maintanance Mode aktiv in dem ihr auf „Yes“ klickt und fahr bei der obigen Anleitung für das manuelle Update unter „Update ausführen“ Punkt 4 fort.

Maintenance Mode beibehalten oder nicht
Maintenance Mode beibehalten oder nicht
  1. Für das Update über das Webinterface klickt auf „No“.
  2. Ein neuer Button taucht auf. Klickt ihn um das Webinterface erneut aufzurufen.
  3. Wie bei der Erstinstallation könnt ihr den zweiten Teil des Updates starten.
Der Updater ist fertig
Der Updater ist fertig
Update über das Web-Interface
Update über das Web-Interface

Auch dieser Teil kann wieder einige Zeit dauern. Der Abschluss wird mit einer Meldung bestätigt. Hier erfahrt ihr auch, ob und welche Apps deaktiviert wurden.

Das Update läuft
Das Update läuft
Update abgeschlossen
Update abgeschlossen

Nach dem Update

  1. Ladet die Seite neu und ihr befindet euch wieder im Webinterface.
  2. Hier könnt ihr im Admin-Bereich kontrollieren ob Nextcloud richtig aktualisiert wurde, indem ihr die Versionsnummer überprüft. Auch eventuelle Fehlermeldungen und Hinweise werden hier angezeigt.
  3. Als Nächstes könnt ihr die deaktivierten Apps wieder aktivieren.
  4. Wenn ihr euch sicher seid, dass das Update funktioniert hat, ist es Zeit die Rechte wieder anzupassen. Habt ihr den letzten Artikel gelesen und das Script bereits angelegt, könnt ihr euch diesen Schritt wieder sparen. Wenn nicht, legt euch ein zweites Script mit folgendem Inhalt an:
  5. Ruft mit putty das Script mit sh /volumeX/Pfad/zum/Script.sh auf.

    Rechte wieder angepasst.
    Rechte wieder angepasst.

Das wars, eure Nextcloud ins aktualisiert und wieder einsatzbereit. Ich kann euch nur empfehlen euch die Zeit zu nehmen und die beiden Script anzulegen, solltet ihr das noch nicht gemacht haben. Ihr spart euch bei allen zukünftigen Updates die Zeilen einzeln in putty einzugeben. Ihr braucht auch nicht mehr nachsehen, wo ihr welche Rechte setzen müsst, lediglich ein Aufruf vor und nach dem Update reicht aus.

Mit den 3 Artikeln zur Installation, der Optimierung und dem Update habt ihr alle wichtigen Werkzeuge für die Einrichtung und den Betrieb von Nextcloud auf eurer Diskstation. Die Artikelserie ist damit aber noch nicht zu Ende, es gibt noch so einiges was man mit Nextcloud auf der DiskStation anstellen kann. Nach einer kleinen Winterpause gehts wieder weiter.

2 thoughts on “Die eigene Cloud: Nextcloud Update auf einer Synology DiskStation mit DSM 6

  1. Hallo,

    ich wollte den Vorgang „Update per Updater-App“ die Rechte setzenbekomme aber nur eine Fehlermeldung.
    chown: cannot access ‘/volume1/web/Nextcloud/’: No such file or directory
    Pfad usw. stimmen.

    Ich habe die NC auf der Synology laufen mit der DSM 6.

    Können Sie mir bitte weiterhelfen.

    Danke

    DR

    1. Hallo,

      mir fallen da erstmal 2 Gründe ein.
      Entwerder der Pfad stimmt doch nicht: Auf den ‚/‘ vor ‚volume achten, der darf nicht fehlen. Heißt das Synology-Volume auch ‚volume1‘? Heißt der Ordner der Nextcloud-Installation auch tatsächlich ‚Nextcloud‘? Und auch Groß-/Klein-Schreibung achten.

      Oder aber die Rechte passen nicht und zwar die Rechte das ausführenden Users. Wird das Script bzw. der Befehl als root User ausgeführt, also haben Sie sich nach dem Anmelden in putty root-Rechte geholt (sudo -i)? Ersichtlich an root@ in der Kommandozeile.

      Was liefert ‚ls /volume1/web/Nextcloud/‘ für ein Ergebnis?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.