Raspberry Pi: Owncloud Server Upgrade
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)
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
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
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
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
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.
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.
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
44 Kommentare. Hinterlasse eine Antwort
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 🙂
Mal seafile ausprobiert?
Gefällt mir persönlich deutlich besser als owncloud da merklich performanter und auch mit funktionierenden sync 😉
Ich persönlich präferiere auch Seafile, weshalb es hier auch schon ein Artikel zur Seafile Installation gibt und ein Artikel zum Thema Upgrade auch noch folgt.
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???
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
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 😉
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.
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! 🙂
Oder ein wget Parameter, dann funktioniersts auch. Habe aber nur mal auf http:// umgestellt. Danke dir!
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?
Sofern du den Cronjob wie im Tutorial beschrieben eingerichtet hast sollte er alle zehn Minuten laufen.
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
Freut mich zu lesen 🙂
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
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
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
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?
[…] Karres hat da (wie immer) eine tolle, funktionierende Anleitung. Thx. Bermerkung: Die PlugIns sind natürlich […]
Funktioniert die Anleitung auch für ein Update von ownCloud 7.0.4 auf ownCloud 8? Hat das schon mal jemand probiert?
In der Regel sollten neuere Versionen in der selben weise zu installieren sein.
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
Habs mal in den Artikel übernommen. Danke für den Hinweis!
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.
Also das dritte Problem lässt sich leicht lösen. Ab 8.1 werden die Security-Header nicht mehr von Owncloud erzeugt.
Daher muss man dies bei nginx configurieren. ->
https://doc.owncloud.org/server/8.1/admin_manual/installation/nginx_configuration.html
Konkret geht es hier um diese Zeile:
add_header Strict-Transport-Security „max-age=15768000; includeSubDomains; preload;“;
Super 🙂 Klappt
Danke
Für das zweite Problem gibt es auch eine einfache Lösung:
in die config/config.php:
‚memcache.local‘ => ‚\OC\Memcache\APCu‘,
evtl. vorher:
> sudo apt-get install php-apc
https://doc.owncloud.org/server/8.1/admin_manual/configuration_server/config_sample_php_parameters.html#memory-caching-backend-configuration
und wenn man schon dabei ist, könnte man das auch noch einfügen:
‚minimum.supported.desktop.version‘ => ‚1.7.0‘,
Geht bei mi mit
‘memcache.local’ => ‘\OC\Memcache\APC’,
Mit dem obigen Beispiel habe ich nur eine leere Seite
Hallo,
‘memcache.local’ => ‘\OC\Memcache\APC’,
funktioniert bei mir auch, jedoch bekomme ich jetzt folgende Fehlermeldung:
Fatal cron Missing memcache class \OC\Memcache\APC for local cache
Woran könnte das liegen?
Leider merke ich gerade, dass mit Aktivierung des Caches mein Cron nicht mehr läuft
Habe genau das gleiche Problem, bei mir werden die Cron-Jobs auch nicht mehr ausgeführt! Habt ihr eine Lösung für das Problem gefunden? LG
Das erste Problem kann ich jedoch nicht lösen.
Es sollte so funktionieren: https://doc.owncloud.org/server/8.1/admin_manual/installation/source_installation.html#configuration-notes-to-php-fpm
Jedoch ändert sich nichts, wenn ich
env[HOSTNAME] = $HOSTNAME
env[PATH] = /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games
env[TMP] = /tmp
env[TMPDIR] = /tmp
env[TEMP] = /tmp
zur /etc/php5/fpm/php.ini hinzufüge
es muss in der Datei „www.conf“ im Verzeichnis „/etc/php5/fpm/pool.d“ eingetragen werden, dann klappt es
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
Du hast völlig recht. Den anderen Artikel habe ich überarbeitet – diesen jedoch nicht. Habe ich mir auf due Todo-Liste gepackt. Danke!
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?
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…
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
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
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)
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
Super Anleitung vielen Dank!
Eines kann ich noch nicht ganz nachvollziehen, in der config-Datei von owncloud auf dem Raspberry Pi steht bei Version 10.0.10, beim Webintterface mit dem User Admin aber 7.0.4, habe ich da noch was vergessen?
Hab e seinerzeit die damals aktuelle Version 9.1.0 gemäß Deiner Anleitung installiert, und das hat auch super geklappt. Heute habe ich erstmals ein Update probiert, auf die nunmehr aktuelle Version 10.2.1. Fehlermeldungen gab’s keine, jedoch läuft nach wie vor die Version 9.1.0 auf dem Raspi – das sehe ich sowohl im Browser als auch in der OwnCloud-App für den PC.
Woran kann das liegen…?
Nun habe ich OwnClud doch noch updaten können – glaube ich. Mein Fehler lag im fehlenden cd /var/www was ich übersprang, da ich dachte, es würde lediglich das Backup betreffen. Da ich zuvor die gesamte SD-Karte geklont hatte, ignorierte ich die Schritte zum Backup.
Nun bekomme ich im Webbrowser jedoch folgendes angezeigt;
~~~~
This version of ownCloud requires at least PHP 7.0.7
You are currently running PHP 5.6.24-0+deb8u1. Please update your PHP version.
~~~~
Wie upgrade ich am Besten auf PHP 7.0.7 oder später…?
Könntest du eine aktualisierte Anleitung schreiben um owncloud zu installieren??
Wäre sehr nett danke dir