ownCloud Update und Upgrade

Mit Update wird eine neue Version bezeichnet, bei der nur die Nummer hinter dem letzten Punkt sich ändert, z.B. 7.0.3 => 7.0.4. Wenn sich mehr als das ändert spricht man vom Upgrade. Die Dokumentation dazu von ownCloud selbst finden Sie hier. Für Updates enthält ownCloud ein eigenes App zum Updaten der Installation auf einer neuen Version. Die Verwendung des Apps läuft leider noch nicht ganz rund. Zunächst beschreibe ich hier die Anwendung des Apps und was ich persönlich tun musste um meine Installation danach wieder flott zu bekommen.

Das Updater App verwenden

  • Einloggen in ownCloud als Administrator
  • Wählen: Administration | (Abschnitt Updater) Update-Center
  • Das Updater-App wird in einem neuen Browser-Reiter geöffnet
  • Das App zeigt zwei Reiter: Backup-Verwaltung | Update durchführen
  • Ersteres notiert ein „Backup-Verzeichnis“ mit dem Pfad:
    /var/www/vhosts/<domain-path>/data/updater_backup/
    Tipp: Das Anzeigefeld ist womöglich zu kurz so dass der ganze Pfad nicht sichtbar ist (Strg-A + Strg-C)
  • Letzteres bietet lediglich ein Button „Update durchführen“. Mutige klicken darauf 🙂
  • Der weitere Verlauf hängt vom Versionssprung und individuellen Faktoren ab.

Update ownCloud 7.0 RC1 auf 7.0.1

  • Zuerst alle Client-Programme, die auf die ownCloud-Instanz zugreifen, beenden (z.B. ownCloud-Client, Thunderbird).
  • Anscheinend geht der Updater wie folgt vor:
    • Sichern der Anwendungsverzeichnisse 3rdparty + apps + core in ein Zip im Backup-Verzeichnis
    • Unbekannte Verzeichnisse im DocRoot von ownCloud werden nach
      _oc-upgrade/tmp/core verschoben
  • Der zweite Schritt oben verschob ein von mir im DocRoot angelegtes Verzeichnis „external“. Dort habe ich einen lokalen externen Speicher platziert, damit ich keinen Eintrag in PHP’s open_basedir brauche.
  • Mit „cd <DocRoot> ; mv _oc-upgrade/tmp/core/external .“ war mein externer Speicher wieder da.
  • Danach schien alles in Ordnung zu sein.
    Im Updater-Reiter kann das Backup gelöscht werden.

Upgrade ownCloud 6.0.3 auf 7.0.1

  • Zuerst alle Client-Programme, die auf die ownCloud-Instanz zugreifen, beenden (z.B. ownCloud-Client, Thunderbird).
  • Dann sollte man brav nach Anleitung ein Update von 6.0.3 auf 6.0.4 durchführen.
  • Achtung: Wer „Externer Speicher“ angebunden hat, sollte die Anbindung unbedingt vor dem Update lösen! Vor allem wenn das große Datenmengen sind – die Archivierung ist sinnlos wenn die eigentlichen Daten außerhalb von ownCloud auf der Platte liegen – ein Update kann sie ja nicht berühren. Schlimmer noch: Wenn man einen externen Bereich (frecherweise) mit einem Symlink angebunden hat, so versucht der Updater die Zieldateien trotzdem mit zu archivieren, was aufgrund von Zugriffsrechten scheitern kann – worauf hin das ganze Update scheitert. Wer wie ich ein eigenes Verzeichnis „external“ direkt im ownCloud DocRoot verwendet, kann einfach alle dorthin verweisenden externen Speicher vorübergehend lösen und das ganze Verzeichnis aus dem DocRoot bewegen, so dass nichts mehr da ist was das ownCloud-Update irritieren könnte.
  • Warnung: Berichten zufolge geht folgendes Upgrade mal gut, mal klappt es nicht.
  • Vermutung: Wenn ein DB-Upgrade scheitert so könnte dies einfach daran liegen, dass die Konfiguration des MySQL-Daemon zu knapp ausgelegt ist – schließlich erzeugt ownCloud bei großen Dateimengen entsprechend große Tabellen, die ggf. konvertiert werden müssen. Bei Plesk ist die Standard-Konfig für MySQL mickrig – wie man das ändert, habe ich hier beschrieben.
  • Verunsicherung: Nach dem Auslösen des Updates wurde Erfolg für alle Schritte gemeldet, zum Schluss mit der Meldung „Alles erledigt. Klicke auf den unteren Link um die Datenbank-Hochrüstung zu starten.“ Da stand aber eine Fehlermeldung „Please fix this and retry“. Darunter der Link, der mir als Solches nicht aufgefallen war: „Proceed„.
  • Egal ob man auf „Proceed“ klickt, oder im früheren Admin-Reiter irgendeine Operation versucht, erhält man eine Login-ähnliche Maske mit „ownCloud wird auf Version … aktualisiert“ und ein Button „Aktualisierung starten“. Klick!
  • Überraschung: Gemäß der Dokumentation von ownCloud hätte ein Update mittels Updater nur auf 6.0.4 updaten sollen. Tatsächlich aber hat er das Upgrade auf 7.0.1 durchgeführt!
  • Das überraschende Upgrade – vor allem der DB, wo Andere Probleme gemeldet hatten – lief beim ersten Versuch durch, und ich war wieder in ownCloud ‚drin. Insofern ich alles ohnehin vorher gesichert hatte, freue ich mich über den ersparten Arbeitsschritt.
  • Ich musste nur noch die externen Speicher an den richtigen Ort verschieben und in der Administration wieder anbinden, und schon lief alles, auch die CalDAV und CardDAV Anbindungen in Thunderbird.
  • Naja, fast alles: Ich hatte ein 3rdParty-App geladen, nämlich „Files move“. Die alte Version war mit OC7 nicht kompatibel und wurde während des unerhofften Upgrades automatisch entfernt. Die entsprechende neue Version konnte wie üblich installiert werden.
  • Nachdem Ruhe eingekehrt ist, das Backup der vorigen Version löschen – manuell oder im Update-Center.

Update ownCloud 7.0.1 auf 7.0.4

  • Zuerst alle Client-Programme, die auf die ownCloud-Instanz zugreifen, beenden (z.B. ownCloud-Client, Thunderbird).
  • Ich habe Updates an 2 Servern durchgeführt, wo es jeweils ein im DocRoot angelegtes Verzeichnis „external“ gab. Dort habe ich einen lokalen externen Speicher platziert, damit ich keinen Eintrag in PHP’s open_basedir brauche.
  • Server A) Mit „externer“ Speicher dessen Inhalte direkt unter /external/ steht:
    cd /external; cp -r /tmp
  • Server B) Externer Speicher wie bei (A) aber mehr davon – zwei direkt unter „external“ liegende Bereiche sowie ein Symlink zu einem anderen Bereich der Festplatte. Hier ist das Upgrade zunächst gescheitert, weil es im verlinkten Bereich ein paar Dateien gab, die der Updater nicht lesen konnte. Hier hatte ich also meine eigenen Rat von oben übersehen, dass man die externen Speicher vorher in der ownCloud-Admin lösen und das „external“ Verzeichnis vorübergehend aus dem DocRoot bewegen muss.
  • Also: Externe Speicher notieren und lösen (Einträge im Admin-Bereich von ownCloud entfernen), dann „cd <DocRoot> ; mv external ..“.
  • Dann als Admin in ownCloud: Administration | Updater | (Updater Tab) Update durchführen
  • Man muss im anderen Reiter eingeloggt bleiben, sonst wird das Update nicht angegangen.
  • Schließlich wurde eine leere Fehlermeldung und „Please fix this and retry.“ vom Updater angezeigt, darunter ein „Proceed“ Button. Angeklickt, kurz wurde eine Meldung „Aktualisierung Version {Version}“ angezeigt, dann wurden kurz weitere einzelne Update-Meldungen gezeigt, dann ist man wieder beim Einloggen, das Update ist erfolgt.
  • Mit „cd <DocRoot> ; mv ../external .“ sowie anschließend das Wiederanlegen deren Anbindungen im Admin-Bereich war mein externer Speicher wieder da.
  • Danach war alles in Ordnung. Im Updater-Tab kann (nach seinem Neuladen) das Backup gelöscht werden.

Schreibe einen Kommentar

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