====== ownCloud Upgrade ======
===== Einleitung =====
ownCloud Versionen zu aktualisieren ist leider etwas mühsam, da es nicht möglich ist Hauptversionen zu überspringen. Die Upgrade-Reihenfolge sieht wie folgt aus:
- **[[https://build.opensuse.org/project/show/isv:ownCloud:community:8.0|ownCloud 8.0]]** (aus Repositories im openSUSE Buildservice) - steht bis openSUSE 13.2 zur Verfügung
- **[[https://build.opensuse.org/project/show/isv:ownCloud:community:8.1|ownCloud 8.1]]** (aus Repositories im openSUSE Buildservice) - steht bis openSUSE 42.1 zur Verfügung
- **[[https://download.owncloud.org/download/repositories/8.2/|ownCloud 8.2]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 13.1 bis openSUSE Leap 42.1 zur Verfügung
- **[[https://download.owncloud.org/download/repositories/9.0/|ownCloud 9.0]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 13.2 bis openSUSE Leap 42.1 zur Verfügung
- **[[https://download.owncloud.org/download/repositories/9.1/|ownCloud 9.1]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 13.2 bis openSUSE Leap 42.3 zur Verfügung
- **[[https://download.owncloud.org/download/repositories/10.0/|ownCloud 10.0]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 42.3 bis openSUSE Leap 15.0 zur Verfügung
- **[[https://attic.owncloud.org/download/repositories/10.1/|ownCloud 10.1]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 42.3 bis openSUSE Leap 15.0 zur Verfügung
- **[[https://download.owncloud.org/download/repositories/10.2/|ownCloud 10.2]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 42.3 bis openSUSE Leap 15.1 zur Verfügung
- **[[https://download.owncloud.org/download/repositories/10.3/general/|ownCloud 10.3]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 15.1 bis openSUSE Leap 15.2 zur Verfügung
- **[[https://download.owncloud.org/download/repositories/10.4/prod/|ownCloud 10.4]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 15.1 bis openSUSE Leap 15.2 zur Verfügung
- **[[https://download.owncloud.org/download/repositories/10.5/|ownCloud 10.5]]** (aus ownCloud eigenen Repositories) - steht für openSUSE 15.1 bis openSUSE Leap 15.2 zur Verfügung
Die Links in der Liste zeigen jeweils auf die Repository-Download Verzeichnisse. Ältere Versionen 5.0 bis 7.0 stehen für ältere openSUSE Versionen im openSUSE Buildservice zur Verfügung, sollten aber auf invis-Servern nicht vorkommen.
//**Achtung:** Führe Sie bevor Sie starten eine Sicherung Ihrer ownCloud-Datenbank, sowie des ownCloud Installations- und Datenverzeichnisses durch!//
//**Achtung:** Aktualisieren Sie für invis-Server Versionen bis 13.2 zunächst nur bis auf ownCloud Version 9.1. Ab Version 10.0 benötigt ownCLoud PHP7, welches erst ab invis-Server 13.5 unterstützt wird. Im Rahmen des Upgrades von invis-Version 13.2 auf 13.5 wird automatisch auf PHP7 gewechselt und ownCloud aktualisiert.//
===== Durchführung =====
Kontrollieren Sie zunächst wie folgt, welche Version auf Ihrem System installiert ist:
invis:~ # rpm -qa owncloud
owncloud-8.0.16-1.1.noarch
Entfernen Sie zunächst das Software-Repository aus dem die bisherige ownCloud Version installiert wurde. Eine Liste aller Repositories, die Ihr System kennt erhalten Sie wie folgt:
invis:~ # zypper repos
Ausgegeben wird eine durchnummerierte Liste der Repositories. Über die Nummer am linken Rad der Liste können Sie einzelne Repositories geziehlt entfernen:
invis:~ # zypper rr nummer
Suchen Sie sich jetzt abhängig von Ihrer openSUSE Version und der bezogen auf Ihre ownCloud Version nächst höheren Version aus obiger Reihenfolge die Repo-Datei für das jetzt hinzuzufügende Repository. Fügen Sie es wie in folgendem **Beispiel** gezeigt hinzu:
invis:~ # zypper ar https://download.owncloud.org/download/repositories/8.2/openSUSE_Leap_42.1/ce:8.2.repo
Frischen Sie jetzt Ihre Repositories auf:
invis:~ # zypper ref
Schalten Sie jetzt Ihre laufende ownCloud Instanz in den Maintenance Mode. Dazu wechseln Sie am besten in das Verzeichnis der ownCloud Installation. Genutzt wird dazu das ownCloud eigene Kommandozeilenwerkzeug //**occ**//. Das Kommando muss mit dem User ausgeführt werden unter dem der Webserver Apache betrieben wird:
invis:/srv/www/htdocs/owncloud # sudo -u wwwrun ./occ maintenance:mode --on
Jetzt können Sie die neuen ownCloud-Pakete installieren. Verwenden Sie dazu idealerweise YaST. Achten Sie darauf, das sich speziell bei Major-Release Upgrades auch die Benennung der Pakete ändern kann. Achten Sie entsprechend weiterhin darauf, dass Sie **alle** zur ownCloud Installation gehörenden Pakete aktualisieren.
//**Hinweis:** Beim Upgrade auf Version 10.4 oder spätestens 10.5 muss vor dem Upgrade die damit inkompatible "files_videoplayer" deaktiviert werden.//
invis:~ #sudo -u wwwrun /srv/www/htdocs/owncloud/occ app:disable files_videoplayer
Sind die neuen Pakete installiert sind Datenbank-Strukturanpassungen durchzuführen und die Plugins zu aktualisieren. Beides wird in einem Aufwasch mit //**occ**// erledigt:
invis:/srv/www/htdocs/owncloud # sudo -u wwwrun ./occ upgrade
Anschließend können Sie den Maintenance-Mode beenden und Ihre ownCloud-Installation testen.
invis:/srv/www/htdocs/owncloud # sudo -u wwwrun ./occ maintenance:mode --off
Wiederholen sie die Schritte immer nach dem gleichen Muster, bis Ihre Installation auf dem aktuellen Stand ist. **Versuchen Sie bitte auf keinen Fall eine Version aus obiger Liste zu überspringen.**