ownCloud

Alles in die eigene Cloud mit ownCloud 5?

Es hat sich einiges getan beim Versionswechsel auf ownCloud 5 – es fühlt sich deutlich schneller und performanter an. Genauer gesagt: es fühlt sich jetzt so gut an, dass ich den ernsthaften Versuch unternehmen werde, mir mit ownCloud meine eigene Backup-Wolke einzurichten und mich auf ein Leben ohne Google-Synchronisierung vorzubereiten. Nicht dass ich meine Kontakte und Dateien vom Handy mit Google synchronisieren würde – aber trotzdem hätte ich sie gerne online gesichert.

Installation von ownCloud

Wie schon bei den vorherigen Versionen war die Installation bei HostEurope problemlos in ein paar Minuten durchgelaufen. Aber jetzt fangen die Herausforderungen und teilweise auch die Kämpfe mit Kinderkrankheiten der ownCloud an…

SSL-Verbindung

Als ganz normaler User mit begrenztem Budget habe ich natürlich kein eigenes SSL-Zertifikat und bin somit auf den SSL-Proxy angewiesen; das reicht mir vollkommen. In der offiziellen Dokumentation fand sich der entscheidende Hinweis auf die notwendigen zusätzlichen Parameter in der config.php; die benötigten IP-Adressen der SSL-Proxies von HostEurope (10.30.7.137 – 140) stehen in den HE FAQ:
[code lang=“php“ title=“/config/config.php“ gutter=“false“]
‚overwritehost‘     => ’ssl.webpack.de‘,
‚overwriteprotocol‘ => ‚https‘,
‚overwritewebroot‘  => ‚/meinedomain/owncloud‘,
‚overwritecondaddr‘ => ‚^10\.30\.7\.1(?:37|38|39|40)$‘,[/code]
Die Cloud wird über den SSL-Proxy mit folgender Adresse aufgerufen:
https ://ssl.webpack.de/meinedomain/owncloud
(also overwriteprotocol + overwritehost + overwritewebroot).

Aber Achtung: zumindest gefühlt ist die Verbindung über den SSL-Proxy langsamer als ohne – hier muss man sich also im Zweifelsfall zwischen gesichert und flott entscheiden. Beides funktioniert jedenfalls parallel so lange nichts anderes in ownCloud konfiguriert ist.

S3-Anbindung

ownCloud kann verschiedene Cloud-Speicher einbinden, u.a. auch Amazon S3. Mit ein paar kleinen Anpassungen an der S3-Integration kann man auch eigenen S3-Speicher bei anderen Providern (z.B. bei HostEurope) einbinden; wie das genau geht, steht im ownCloud-Forum. Folgende Dateien müssen angepasst werden:

  • /apps/files_external/lib/amazons3.php
  • /apps/files_external/lib/config.php
  • /3rdparty/aws-sdk/services/s3.class.php

Dateien werden nicht oder falsch angezeigt

Kann ein simples Cache-Problem nach der Aktualisierung sein. Abhilfe schafft entweder eine saubere Neuinstallation oder eine manuelle Bereinigung der Datenbank (siehe hier): Die Tabellen oc_filecache und oc_storages leeren.

Keine Musikdateien gefunden

Egal ob frisch hochgeladen oder bereits vorhanden, der Musikplayer von ownCloud hat sich partout geweigert, irgendwelche Dateien zu finden. Die Lösung für mich stand hier:

[code lang=“php“ firstline=“101″ title=“/3rdparty/getid3/getid3.php“]
$option_max_2gb_check = false;
[/code]

Seit Version 5.0.5 steht der Parameter auf null und soll den richtigen Wert automatisch aus den php-Einstellungen (PHP_INT_MAX) des Servers erkennen – das funktioniert aber zumindest in meinem Setup nicht.

Und nach einer weiteren kleine Änderung in /apps/media/lib/extractor.php werden tatsächlich alle Musikdateien (auch die im angehängten S3 Speicher) gefunden. Auch hier mag das Problem an meinem Setup liegen, die automatische Erkennung anhand von allow_furl_open funktioniert bei mir nicht.

[code lang=“php“ firstline=“49″ title=“/apps/media/lib/extractor.php“]
public function extract($path) {
/*  if(ini_get(‚allow_url_fopen‘)) {
$file = \OC\Files\Filesystem::getView()->getAbsolutePath($path);
$data = @$this->getID3->analyze(‚oc://‘ . $file);
} else {
// Fallback to the local FS
$file = \OC\Files\Filesystem::getLocalFile($path);
}
*/
$file = \OC\Files\Filesystem::getLocalFile($path);
$data = @$this->getID3->analyze($file);

\getid3_lib::CopyTagsToComments($data);

return $data;
}[/code]

Zeile 58 ist nur eine Kopie von Zeile 55 (weil ich die if-Abfrage komplett auskommentiert habe), Zeile 59 ist eine Ergänzung aus dem oben genannten Link.

Mediaplayer spielt nichts ab

Nachdem endlich meine MP3s angezeigt wurden, weigerte sich der integrierte Player immer noch standhaft und gab keinen Mucks von sich. Auch das ist ein bereits bekannter Fehler, für den es schon eine Lösung gibt: eine einzige Zeile in apps/media/ajax/api.php verschoben und schon höre ich Musik …
Das Problem tritt in 5.0.5 nicht mehr auf.

Dateien synchronisieren

In meinem S3 liegen schon ein paar GB synchronisierte Dateien; leider schafft der Desktop Client es nicht, hier einen sauberen Abgleich vorzunehmen. Stattdessen fängt er an, alle (lokal bereits vorhandenen) Dateien herunterzuladen und mit erweitertem Namen (aus bla.jpg wird bla_conflict-20130326-223906.jpg) abzuspeichern.

Die Ursache ist – wieder einmal – ziemlich banal: lokal sind die Dateien mit dem Aufnahmedatum abgespeichert. Nach dem Hochladen mit DragonDisk bekommen sie das Hochladedatum als „last change“. Beim Synchronisieren gewinnt natürlich die jüngste „Änderung“ und führt zu einem Duplikat.

Die Lösung ist zum Glück ebenfalls trivial, wenn auch einmalig zeitaufwändig: Alle lokalen Dateien löschen (bzw. sicherheitshalber erstmal nur an einen andren Ort verschieben) und die Synchronisation starten. Das ist auf jeden Fall besser als in die andere Richtung, denn üblicherweise hat man im Downstream wesentlich mehr Bandbreite verfügbar als im Upstream.

Bilder synchronisieren

Mit ownCloud 5.0.8 und dem Desktop Client in Version 1.3.0 ist mir noch ein „interessantes“ Phänomen aufgefallen: Bilder werden beim Hochladen in ownCloud mit dem falschen MIME-Type in der Datenbank indiziert – und sind folgerichtig nicht in der Bilder-App zu sehen. Warum das so ist und ob es dazu auch schon einen offiziellen Bug im Tracker gibt, weiß ich noch nicht.

Aber das Problem läßt sich mit einem kleinen SQL-Statement korrigieren:

update `oc_filecache` set mimetype=10, mimepart=5 WHERE name like '%.jpg' and mimetype=9

 

Wie sich die Kontakte zwischen PC, Handy/Tablet und ownCloud synchronisieren lassen steht in einem eigenen Artikel

W·

Gelegenheitsblogger, bekennender Unterstützer der deutschen Bark Alexander von Humboldt II (ab und an in der Bierwerbung einer norddeutschen Brauerei zu sehen) mit einem Faible für Ju-52 und Meer, reist, liest, arbeitet - alles in allem also ziemlich normal.

11 Kommentare zu “Alles in die eigene Cloud mit ownCloud 5?

  1. Pingback: ownCloud 5 als online-Adressbuch | g·danken

  2. Hey,

    auch von mir ein dickes Dankeschön für die Anleitung! Die hat mir sehr geholfen :)

    Du hast geschrieben, dass du einen S3 eingebunden hast. Ist das ein S3 von HostEurope? Ich komme nämlich an dieser Stelle nicht weiter. Ich hab dazu den Foreneintrag auf owncloud.org gefunden: http://forum.owncloud.org/viewtopic.php?f=3&t=3740

    Leider möchte er den S3 nicht akzeptieren. Könntest du mir vielleicht sagen, welche Einstellungen du vorgenommen hast?

    Viele Grüße
    Tobias

    • Nach dem Patch wie im OC-Forum beschrieben habe ich in meinem Backend fünf Felder für die Konfiguration eines Amazon-S3 (plus den Ordnernamen natürlich):

      Server: Die Region in der s3.class.php, unter der du den Server cs.hosteurope.de eingetragen hast (bei mir REGION_EU_W1)

      Key: dein Cloud-Benutzername von HostEurope (20 Stellen)

      Secret: dein Cloud-Passwort von HostEurope (40 Stellen)

      Bucket: Na ja, dein Bucket im S3 eben. Der Name darf keine Punkte enthalten, als Trennzeichen musst du Bindestriche verwenden (Amazon unterstützt keine Punkte im Bucketnamen). Also z.B. owncloud-alvarex statt owncloud.alvarex. HE unterstützt beides, aber das Amazon-Interface von owncloud nicht.

      Secure: habe ich als Parameter mit aufgenommen und auf true gesetzt, um eine SSL-Verbindung zu haben; im OC-Forum ist das in der config.php fest auf false gesetzt.

      • Hmm, mein Problem ist, dass bei mir nach dem Patch nur ein weiße Seite angezeigt wird: https://ssl.webpack.de/alvarex.de/owncloud/

        Ich denke mal, dass ich irgendwo bei der Übertragung der Codes einen Fehler gemacht habe. Ich hab den Code in eine Textdatei gepackt. Vielleicht könntest du ja einmal rübergucken, wo eventuell der Fehler liegt:

        https://ssl.webpack.de/alvarex.de/owncloud/apps/files_external/lib/amazons3.txt
        https://ssl.webpack.de/alvarex.de/owncloud/apps/files_external/lib/config.txt
        https://ssl.webpack.de/alvarex.de/owncloud/3rdparty/aws-sdk/services/s3.class.txt

        Ich beschäftige mich damit schon seit 2 Tagen und hab auch schon in einigen Foren nachgefragt… aber irgendwie kann mir niemand helfen :/. Ich vermute den Fehler in der amazons3.txt, weil die standardmäßig anders aussah, als in der Anleitung für den Patch

        Viele Grüße

        alvarex

        P.S. Ich verwende die owncloud 5.0.11

        • Sieht so aus als hättest du dich tatsächlich beim Patchen der amazons3 verheddert, probier mal diese Funktion
          public function __construct($params) {
          if (isset($params['key']) && isset($params['secret']) && isset($params['bucket'])) {
          $this->id = 'amazon::' . $params['key'] . md5($params['secret']);
          $this->s3 = new \AmazonS3(array('key' => $params['key'], 'secret' => $params['secret']));
          /* new for non-Amazon S3, server address is stored in s3.class.php */
          if ($params['server']) {
          $this->s3->set_vhost($params['server']);
          $this->s3->allow_hostname_override(false);
          $this->s3->enable_path_style();
          }

          if ($params['secure']) {
          $this->s3->disable_ssl(false);
          }
          /* end new part */
          $this->bucket = $params['bucket'];
          } else {
          throw new \Exception();
          }
          }

          Die anderen Dateien sehen so aus wie bei mir, mal abgesehen von dem ’secure‘ => ‚!Secure‘)); in der config.php, wo ich das Ausrufezeichen weggelassen habe.

          • Okay, die owncloud läuft jetzt zwar mit den Änderungen, aber den S3 kann ich immer noch nicht einbinden. Ich bekomme jetzt die folgende Fehlermeldung:

            {„app“:“core“,“message“:““,“level“:3,“time“:“2013-10-04T10:19:46+00:00″}

            Die Fehlermeldung ist ja wirklich fantastisch aufschlussreich… Mal doof gefragt, ich hab immer die folgende Meldung bei der External Storage App stehen: „Warnung: „smbclient“ ist nicht installiert. Das Einhängen von CIFS/SMB-Freigaben ist nicht möglich. Bitte Deinen System-Administrator, dies zu installieren.“

            Ich hab das am Anfang mal gegoogelt und bin zum Schluss gekommen, dass das nichts mit dem S3 zutun hat. Lieg ich da wirkich richtig oder ist das ein Grund, warum es nicht funktioniert? Ansonsten deinstallier ich die cloud gleich nochmal und mach ne neue Installation :/

          • Interessante Fehlermeldung, die hatte ich noch nicht. Keine Ahnung, ob eine Neuinstallation dagegen hilft, aber einen Versuch wäre es mir allemal wert.

            Und der SMB-Fehler begleitet mich auch schon seit ein paar Versionen – ist aber egal, weil ich keine SMB-Freigaben einhängen möchte. Und hat auch keine Auswirkungen auf ein externes S3, jedenfalls bei mir nicht.

  3. Okay, eine Neuinstallation hat auch nichts gebracht… solche Sachen können einen schon zum Wahnsinn treiben. Vielen Dank trotzdem für deine Hilfe, ein bisschen bin ich ja weitergekommen :) Ich hoffe, dass mir jetzt im englischen owncloud Forum noch jemand weiterhelfen kann

  4. Letztendlich hab ich es doch hinbekommen. Deine Änderungsvorschläge waren 100 % richtig. Ich hatte bloss die falsche s3.class.php hochgeladen und irgendwann ist es mir dann auch aufgefallen ;)

    Eine kurze Frage hätte ich zu SSL, welches mir sehr wichtig ist. Mit der standardmäßigen Konfiguration muss ich nur den Haken bei Secure setzten und das Ding ist verschlüsselt oder muss ich an dieser Stelle noch was ändern?

    if ($params[’secure‘]) {
    $this->s3->disable_ssl(false);

  5. Pingback: ownCloud 6 ist da | g·danken

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_smilenew.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_biggrin2.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_sadnew.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_eek.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_shocked.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_confusednew.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_coolnew.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_lol.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_madnew.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_seb_zunge.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_blushnew.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_frown.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil1.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_twistedevil2.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_rolleyesnew.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_wink2.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_idea2.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_neutral_new.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_biggrin.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_xd.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_xd2.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_ugly.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_freu.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_freu2.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_motz.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_lachtot.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_irre.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_helpnew.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_wallbash.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_gott.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_hurra3.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_skeptisch.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_bravo2.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_pfeif2.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_nicken.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_no_sad.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_aufsmaul.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_doh.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_smilina.gif 
https://the.mnbvcx.net/wp-content/plugins/wp-monalisa/icons/smiley_emoticons_winken4.gif