Raspberry Pi: Owncloud Server Upgrade

06 Aug
6. August 2014

Owncloud ist eine beliebte Lösung für „die eigene Cloud“ und mit dem Raspberry Pi wird sie sogar zur „eigenen Cloud zuhause“. Die Software ist in PHP geschrieben, wodurch sie schnell installiert ist. Wie dies samt SSL-Zertifikat geht erklärte ich bereits in dem Artikel Owncloud Server installieren. Doch was ist wenn eine neue Version von Owncloud mit Verbesserungen erscheint? Ganz klar, man möchte upgraden zur neuen Version – das Update einspielen. Wie dies, aufbauend auf der Installationsanleitung, u.A. auf dem Raspberry Pi funktioniert, erkläre ich im folgenden Artikel.

Voraussetzung: Owncloud mit SQLite Datenbank erfolgreich installiert (im Optimalfall nach meiner Anleitung)

Step 1

Zunächst ist es ratsam ein Backup der Owncloud Instanz anzufertigen, da es immer mal zu einem Problem kommen könnte. Dazu zählt neben den Owncloud PHP-Dateien auch die Datenbank (SQLite). Die synchronisierten Daten sollten bei einem Upgrade Problem im Normalfall nicht angegriffen werden, weshalb ich persönlich das Backup an dieser Stelle nicht mache, jedoch erkläre wie dies prinzipiell möglich wäre.

cd /var/www
sudo mv owncloud owncloud_backup

Optionale Datensicherung (Pfad muss, falls individuell geändert, entsprechend angepasst werden)
sudo cp -R /var/www/owncloud_backup/data owncloud_backup_data

Step 2

Wir laden nun die aktuelle Version von Owncloud herunter, entpacken diese und löschen das nicht mehr benötigte Paket. Dabei benötigen wir das Archive File im .tar.bz2 Format. Zum Zeitpunkt als dieser Artikel entstand war Version 7.0 aktuell, sodass ich von 6.0 auf 7.0 aktualisiere.

sudo wget http://download.owncloud.org/community/owncloud-7.0.0.tar.bz2
sudo tar xvf owncloud-7.0.0.tar.bz2
sudo rm owncloud-7.0.0.tar.bz2

Step 3

Nun spielen wir die Konfiguration und das data Verzeichnis der bisherigen Owncloud Installation in die neuen Dateien ein.

sudo cp -R owncloud_backup/data owncloud/data
sudo cp -R owncloud_backup/config/* owncloud/config

Step 4

Als letzten Schritt in der Konsole müssen wir den neuen Daten noch Rechte zuweisen, sodass sie auch erreichbar sind.

sudo chown -R www-data:www-data /var/www

Step 5

Jetzt rufen wir Owncloud im Browser auf und melden uns an. Je nach Version kann es sein, dass Owncloud nun die Datenstruktur der Datenbank anpasst, worauf wir hingewiesen werden sollten.

Step 6

Abschließend müssen, sofern verwenden, die installierten Owncloud Apps wieder aktiviert werden, da diese bei einem Upgrade automatisch deaktiviert werden.

Owncloud sollte nun erfolgreich upgegradet sein, sodass du fortan die aktuelle Version nutzt. Falls es zu Problemen kam, die du nicht gelöst bekommst, kannst du mit folgendem Schritt das Backup der alten Version einspielen.

Backup einspielen

Wir löschen im Folgenden die neue Version der Owncloud Dateien und nennen die Ordner anschließend so um, dass die alte Version wieder nutzbar ist.

sudo rm -r owncloud
sudo mv owncloud_backup owncloud

Dir hat der Artikel gefallen?
Teile ihn mit deinen Freunden!
40 Antworten
  1. Tim says:

    Hi Jan, danke für die Anleitung: Habe erst letzte Woche versucht, OwnCloud selbst zu updaten. Folge war, dass ich OwnCloud komplett zerschossen habe und nichts mehr ging. Beim nächsten Update werde ich auf jeden Fall deinen Schritten hier folgen 🙂

    Antworten
  2. Chris says:

    Mal seafile ausprobiert?
    Gefällt mir persönlich deutlich besser als owncloud da merklich performanter und auch mit funktionierenden sync 😉

    Antworten
  3. karpi says:

    Wie immer, eine super Anleitung. Selbst bei mir „Fussgänger“ 🙂 klappt es damit.
    DANKE dafür!
    Aber beim HTTPS-Zugriff kommt jetzt immer:

    502 Bad Gateway
    nginx/1.2.1

    SSH und der Monitor auf Port :8888 sind zugreifbar.

    ???ratlos???

    Antworten
    • Jan Karres says:

      Klingt so als würde php5-fpm nicht laufen. Versuch doch mal folgende Kommodes zum neustarten von nginx und php5-fpm auszuführen:

      sudo /etc/init.d/nginx restart
      sudo /etc/init.d/php5-fpm restart

      Antworten
      • karpi says:

        Dachte mir ich auch schon und habe die beiden restsart’s aus dem TUT „Raspberry Pi: Owncloud Server installieren“ (mit OK-Meldung) ausgeführt. Leider isses DAS nicht. Dann dürfte m.E. der Raspi-Monitor auch nicht laufen.
        Mir scheint das am SSL zu liegen. Das Zertifikat habe ich auch schon neu gerechnet – vergebens.
        Der Fehler trat nach einem apt-get upgrade des Pi auf.
        Ach, und die fest eingestellte IPv4 funzt nicht und wird immer durch eine DHCP-Adresse in meiner FritzBox7390 überschrieben.

        😉 Wenn man’s weiss, ist es nachher ganz einfach 😉

        Antworten
        • Jan Karres says:

          Dann tippe ich, dass du beim Einrichten von SSL in die site config in nginx etwas beim php5-fpm Socket verändert hast, was du dem Problem führen könnte.

          Antworten
  4. Oelle says:

    Hallo,
    sehr gut, darauf hatte ich schon gewartet!! Das einzige Problem was beim Abarbeiten der Punkte auftritt ist bei Step 2 der Downloadlink. Hier muss man http://download.owncloud.org statt httpS verwenden. Mit https bekommt man nämlich die Meldung das das Zertifikat nicht paßt.
    Auf meinem Desktop konnte ich es zwar per Firefox runterladen, hab’s aber irgendwie nicht per ssh auf den Raspi bekommen… Hab dann testweise wget mit http probiert und Glück gehabt; das ging! 🙂

    Antworten
  5. Oelle says:

    Hallo,
    nochwas fällt mir gerade auf. Gemäß deinem (Ursprungs)tutorial wird die cron.php per cron über das System ausgeführt. Nach dem Upgrade erhalte ich im Admin-Bereich von Owncloud die Meldung:

    Cron

    Cron wurde bis jetzt noch nicht ausgeführt!

    Sind hier vielleicht noch weitere Schritte erforderlich?

    Antworten
  6. Mike says:

    Vielen Dank für die Anleitung. Über google nach einigen Fehlversuchen, owncloud selbst upzudaten, hier gelandet. PERFEKT. Raspi läuft jetzt mit oc 7.02

    Antworten
  7. Nyke says:

    Hallo. Ich habe ein Problem nachdem ich die Anleitung befolgt habe. Ich habe von 7.00 auf 7.0.2 updaten wollen. Jetzt wird die Fehlermeldung „Can’t write into config directory!

    This can usually be fixed by giving the webserver write access to the config directory.“ ausgegeben. Obwohl ich den Schritt mit den Rechten befolgt habe.
    Hast du eine Idee??
    LG

    Antworten
    • Jan Karres says:

      Versuchs mal dem folgenden Kommando. Damit gibst du erweiterte Rechte in dem Config Ordner schreiben zu dürfen.

      sudo chmod -R 755 /var/www/owncloud/config

      Antworten
  8. martin says:

    Hi,
    Tolle Anleitung – eine der wenigen die sich mit rpi und oc7 befaßt.
    Habe ebenfalls oc7 auf einem rpi laufen und bemerke seit dem Upgrade auf oc7 Probleme beim Syncen von Dateien >~350MB. Hat scheinbar mit einem serverseitigen Time-Out bzw. chunking zu tun.
    Kannst du Dateien >~350MB (bis 2GB sollten bzw. war bei mir möglich) mit oc7 syncen?

    Vielen Dank,
    Martin

    Antworten
    • Jan Karres says:

      Ich verwende selbst Seafile anstatt Owncloud im produktivbetrieb. So wie ich die Installation jedoch erklärt habe sollten die meisten Timeout gelöst sein. Hast du es dann nach meiner Anleitung installiert?

      Antworten
  9. Christian says:

    Funktioniert die Anleitung auch für ein Update von ownCloud 7.0.4 auf ownCloud 8? Hat das schon mal jemand probiert?

    Antworten
  10. Stephan Kluge says:

    Hi Jan,
    danke für die Anltg.
    Hab gerade ein ownCloud-Upgrade auf RPI+ von V7 auf V8 danach bewerkstelligt.
    Funzt super!

    Ein Tipp von mir den Du sicher schon kennst aber evtl. nicht alle Deine Leser hier:
    Nach dem Update sind div. Apps wie Kontakte und Kalender -noch- nicht aktiviert.
    Keine Sorge, die Daten sind nicht im Cyber-Nirvana. Sie sind alle wieder da, wenn man die Apps aktiviert hat.

    Gruß Stephan

    Antworten
  11. Chris says:

    Nach Update auf 8.1.0 bekomme ich folgende Sicherheits- & Einrichtungswarnungen:

    ————————-
    – PHP scheint zur Abfrage von Systemumgebungsvariablen nicht richtig eingerichtet zu sein. Der Test mit getenv („PATH“) liefert nur eine leere Antwort zurück.
    Bitten überprüfen Sie die Installationsdokumentation auf Hinweise zur PHP-Konfiguration sowie die PHP-Konfiguration Ihres Servers, insbesondere dann, wenn Sie PHP-FPM einsetzen.
    – Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer Dokumentation.
    – Der „Strict-Transport-Security“-HTTP-Header ist nicht auf mindestens „15768000“ Sekunden eingestellt. Für umfassende Sicherheit wird das Aktivieren von HSTS empfohlen, wie es in unseren Sicherheitshinweisen erläutert ist.
    ————————-

    Es läuft zwar soweit ich sehen kann alles, ich würde die Warnung aber doch gerne weg bekommen.

    Antworten
  12. Lisa says:

    Hallo Jan,

    einen super tollen Blog hast du – herzlichen Dank dafür!

    Eine kurze Frage/Anmerkung habe ich allerdings. Du schreibst hier weiter oben:

    „Voraussetzung: Owncloud mit SQLite Datenbank erfolgreich installiert (im Optimalfall nach meiner Anleitung)“

    Aber in deiner Anleitung zur Installation von owncloud auf dem Raspberry verwendest du doch nicht SQLite sondern MySQL… Kannst du mich bitte erhellen 🙂

    Vielen Dank schon mal!

    SG
    Lisa

    Antworten
    • Jan Karres says:

      Du hast völlig recht. Den anderen Artikel habe ich überarbeitet – diesen jedoch nicht. Habe ich mir auf due Todo-Liste gepackt. Danke!

      Antworten
  13. Jonius says:

    Ich habe versucht, von 7 auf 8 zu aktualisieren, aber die Weboberfläche zeigt mir nur folgendes an:

    ownCloud wird auf Version 8.1.1 aktualisiert.
    Bitte stelle vor dem Fortsetzen sicher, dass die Datenbank, der Konfigurationsordner und der Datenordner gesichert wurden.

    Zur Vermeidung von Zeitüberschreitungen bei größeren Installationen kannst Du stattdessen den folgenden Befehl in Deinem Installationsverzeichnis ausführen:

    ./occ upgrade

    Und wenn ich auf „Aktualisieren starten“ klicke, bleibt er für immer im Wartungsmodus. Hole ich ihn aus dem Wartungsmodus raus (bearbeiten der config.php), lande ich wieder bei obiger Meldung. Ich habe deshalb mal die Aktualisierung per Terminal versucht mit:

    $ su www-data
    $ cd /var/www/owncloud
    $ ./occ upgrade

    Dabei bekomme ich folgende Meldung:

    PHP Deprecated: Comments starting with ‚#‘ are deprecated in /etc/php5/cli/conf.d/20-apc.ini on line 1 in Unknown on line 0
    ownCloud or one of the apps require upgrade – only a limited number of commands are available
    Checked database schema update
    Checked database schema update for apps
    Bus error

    Und bin dann wieder ewig im Wartungsmodus… Kannst du mir weiterhelfen?

    Antworten
    • jonius says:

      Ich habe das Problem gelöst, indem ich die Datei apps/updater/appinfo/info.xml gelöscht habe. Vorher hatte außerdem die Version in der config.php manuell an die neue Version angepasst. Weiß nicht genau, was davon genau die Lösung war…

      Antworten
  14. Norbert says:

    Hallo

    habe gestern per Update-App in OC das aktuelle Update durchgeführt. Verlief auch ohne Probleme.

    Jetzt werden die Bilder aber nicht mehr angezeigt, sondern direkt als Download runtergeladen beim anklicken.

    Wie kann ich das beheben? Hatte das beim vorherigen Update auch und habe mir insoweit beholfen, dass ich die ganzen Bilder-Ordner neu eingelesen habe (ber Sync)

    Würde gerne bei OC bleiben, da der Desktop- und Android-Client schon angenehm ist. Aber diese Probleme beim Update sind nervig.

    Gruss
    Norbert

    Antworten
  15. Peter Denner says:

    Hallo Jan, Deine Anleitungen sind wie immer ein „Gedicht“. Ich vermisse allerdings eine Anleitung zur Konvertierung von sqllite nach mysql. Ich habe aktuell eine OC 6 installation und würde gerne eine neue Installation mit 8 machen. Wie krieg ich die Datenbank konvertiert.
    Vielleicht könnte man auch etwas zu MariaDB schreiben, weil mysql dann doch etwas hinterherhinkt. Kannst Du vielleicht auch etwas zu OC 8 und Maria veröffentlichen?
    Gruß
    Peter

    Antworten
  16. Andreas S says:

    Erstmal vielen dank für die super Arbeit !
    Es ist ein Traum so gut ausgearbeitete Artikel und Anleitungen zu verfolgen !!!
    Hier kommt mein Beitrag dazu:

    Problem + Lösungen
    ================

    ### Strict-Transport-Security

    sudo nano /etc/nginx/sites-available/default

    Nach den ssl Zeilen das was zwischen — steht einfügen

    ssl_certificate /etc/ssl/nginx/cloud.example.com.crt;
    ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;

    # Add headers to serve security related headers
    add_header Strict-Transport-Security „max-age=15768000; includeSubDomains; preload;“;

    #### env[PATH]
    sudo nano /etc/php5/fpm/pool.d/www.conf
    Zeile 384 aktivieren, d.h. Semikolon entfernen
    env[PATH] = /usr/local/bin:/usr/bin:/bin

    ### PHPH Cache Problem

    sudo nano /var/www/owncloud/config/config.php

    …wieder, nach der Zeile
    ‚installed‘ => true,
    folgendes einfügen

    ‚memcache.local‘ => ‚\\OC\\Memcache\\APCu‘,

    ### always_populate_raw_post_data‘ to ‚-1‘ in php.ini

    sudo pluma /etc/php5/fpm/php.ini

    Zeile 704 aktiveren, d.h. Semikolon entfernen

    Zur Info „wenn die Zeilennummer falsch sein sollte“:

    Habe dies für die Installation von Owncloud 9.0 auf Ubuntu MATE 15.10 genommen. Es ist zwar ein intel x86 System, die Anleitung konnte trotzdem zur 100% übernommen werden. (MeeGo Pad T02 mit BayTrail Atom CPU)

    Antworten
  17. Florian Heptner says:

    Von Version 8 auf 9 hat es nicht funktioniert. Beim Einrichtungsprozess nach dem Update kam es zu einem Fehler und es wurde beim Erneuten Aufrufen der Seite nur eine Wartungsmeldung angezeigt.
    Dank Backup konnte ich das aber ganz gelassen sehen und bleibe erstmal auf 8.2.2

    Antworten

Trackbacks & Pingbacks

  1. […] Karres hat da (wie immer) eine tolle, funktionierende Anleitung. Thx. Bermerkung: Die PlugIns sind natürlich […]

Antworten

Kommentar verfassen

JanKarres.de © 2007-2017