Meine Kontakte und Termine synchronisiere ich üblicherweise über das PHP-Skript owncloud, das ich auf meinem Synology-NAS laufen habe. Gestern abend habe ich das Update auf die neue Version 5 des DiskStation Manager (DSM) gemacht. Oberflächlich lief danach alles weiter, heute morgen habe ich bemerkt, dass sich owncloud nur noch mit einer Fehlermeldung meldete:
Fatal error: Call to a member function error() on a non-object in /volume1/web/owncloud/lib/private/log/errorhandler.php on line 64
Nun ist diese Fehlermeldung recht schwammig. Sie deutet auf eine fehlerhafte Programmierung hin. Das konnte ich aber ausschließen, da owncloud ja am Vortag noch funktionierte und der Unterschied nur in der neueren DSM-Version lag.
Im Synology-Forum bin ich zwischen vielen anderen Beiträgen auf die sehr versteckte Lösung gestoßen. Ich habe das Owncloud-Datenverzeichnis (wo alle Dateien von owncloud gespeichert werden) aus Sicherheitsgrünen in einem Pfad liegen, der per Browser nicht direkt erreichbar ist, nämlich unter “volume1/wolke”.
Offenbar kann PHP oder Apache in der neuen DSM-Version nicht mehr auf Pfade zugreifen, die außerhalb des “web”-Verzeichnisses liegen. Also muss dieser Pfad mit in die Liste der open_basedir-Einstellungen. Der ist in der Systemsteuerung der DSM unter “Webdienste | PHP-Einstellungen” zu finden und lautet in meinem Falle:
:/volume1/wolke
Der Doppelpunkt dient dabei lediglich der Abtrennung zu den anderen Einträgen.
Nach der Bestätigung des Dialogs mit “Übernehmen” funktionierte meine ownclound-Installation sofort wieder einwandfrei.
Wie machst Du das NAS von außen erreichbar? Über den Synology-DynDNS-Service? Wie funktioniert das mit iPhone/iPad? Ich nutze dafür noch iCloud, aber für Dateien inzwischen Cloudstation.
Ja. Darüber sind alle Verzeichnisse im “web”-Verzeichnis erreichbar, wenn das eingestellt ist. Dementsprechend auch die Kalender und Kontakte der owncloud. Funktioniert eigentlich ganz gut (auch mit dem eigenen SSL-Zertifikat, damit die Übertragung verschlüsselt ist).
Warum auf dem NAS und nicht auf einem eh im Netz erreichbaren Hosting-Paket bei einem deutschen Anbieter? Ich frage, weil ich selbst immer wieder mit dem Gedanken spiele, owncloud einzusetzen.
Weil ich gern möchte, dass die Verbindung verschlüsselt ist, ich dafür aber kein SSL-Zertifikat mieten möchte. Auf dem NAS kann man einfach ein eigenes Zertifikat einbinden, dass man bei der Gelegenheit auch gleich erstellen kann. Außerdem weiß ich, wo meine Daten definitiv liegen, nämlich zuhause. Und wenn ich mal nicht möchte, dass sie erreichbar sind, schalte ich das NAS einfach aus.
Bis jetzt habe ich auf die DSM 5.0 noch nicht upgedatet weil eben owncloud danach nicht mehr funktioniert. Darf ich fragen ob du owncloud manuell installiert hast oder das Community Paket genommen hast?
Ich habe die Communityversion installiert, aber auch mit einer nachträglich manuell installierten Version trat das Problem auf.
Super, danke für das Feedback, ich verwende ebenfalls die Community Version, dann werde ich mal das Upgrade auf DSM 5 starten.
Danke nochmals für den Tipp…..
Hi, ich habe ein ganz anderes Problem mit ownCloud und hoffe, Du kannst mir hier auch einen Tipp geben. Ich habe heute meine Synology auf v5 ge-updated und musste danach so manche Pakete aktualisieren bzw. zuerst de- und dann neu installieren. OwnCloud habe ich auch auf die neueste CommunityVersion (v6.0.2-3) aktualisiert, aber ich bekam keine Verbindung zu Server und als Status stand immer läuft (egal ob ich als Aktion auf Stopp gegenagen bin). Per Web bin ich nur auf einer weißen Seite gelandet, also dachte ich mir in meinem Wahnsinn, ich deinstalliere ownCloud auch einfach und installiere es danach neu. Ich wurde sogar gefragt, ob ich die User-Datenbank etc. behalten wolle, was ich natürlich gemacht habe. NUN ABER wenn ich das Paket neu installieren will, fragt er üblicherweise nach dem MySQL-root Passwort und einem ownCloud-User Paswort der MySQL-Database. Egal ob ich hier was eintrage oder es weglasse, ich bekomme eine Fehlermeldung, dass der User (ownCloud) in der MySQL-DB schon existiert. Wenn ich es leer lasse, dann fehlt ihm das root-Passwort.
Wie um alles in der Welt, bekomme ich ownCloud jetzt wieder installiert, ohne zuvor die MySQL-Datenbank samt der ownCloud-Config und -user zu löschen? Wieso fragt ownCloud, ob ich meine DB behalten wolle, wenn es dann keine einfache Möglichkeit gibt, diese wieder zu reaktivieren?
Kann mir hierzu jemand weiterhelfen? Danke schon mal!
Hast du mal versucht, den vorhandenen owncloud-User zu löschen? Er wird automatisch bei der Installation von owncloud angelegt und beim Deinstallieren vermutlich nicht gelöscht. Log dich einfach per phpMyAdmin in die Datenbank ein. Oben bei “Benutzer” siehst du alle MySQL-Benutzer und dort kannst du sie auch löschen.
super Tipp! Vielen Dank!
Vielen Dank für die gute Beschreibung!!! Du hast mein Wochenende gerettet – nach Update meines Synology auf DSM 5 hatte ich genau das von dir beschriebene Problem.
Zusätzlich hatte ich in der owncloud admin Oberfläche die Fehlermeldung: The PHP module ‘fileinfo’ is missing. We strongly recommend to enable this module to get best results with mime-type detection.
Konnte ich mit: Systemsteuerung -> Webdienste -> PHP-Einstellungen -> Button “PHP-Extension” aktivieren -> fileinfo anhanken lösen
Hi,
ich habe seit ein paar Tagen die Owncloud 6.0 im Einsatz. Habe es auch hinbekommen, über meine Fritzbox und den Dyndns Account einen Sync zwischen iphone und cal + carddav der owncloud zu starten. Lief alles soweit gut. Heute musste ich die Synology neustarten. Als ich mich einloggen wollte vom PCs aus, kam die Meldung dass der Autologin nicht funktioniert und das wenn ich mein userkennwort nicht selbst geändert habe mein account vielleicht kompromittiert wurde??!!??
Dies habe ich erst einmal als Fehlermeldung abgetan. Seit dem ich diese Meldung hatte funktioniert aber der sync nicht mehr. Owncloud nicht erreichbar erscheint immer auf dem iPhone.
Hast du nen Tipp?