Home > software > Owncloud und Syncevolution

Owncloud und Syncevolution

Hallo,
nachdem mein n900 endgültig den Geist aufgegeben hat (die Software ist willig aber die Hardware ist schwach) habe ich mich für einen Droiden entschieden. Bevor dieser mit Kalender und Kontakten versorgt wird (das ist eine andere Geschichte) wollte ich noch schnell von Funambol auf Owncloud (OC) wechseln.

Die Vorteile von OC liegen klar auf der Hand:

  • Es gibt Debian Pakete
  • Läuft in einem Standard Apache
  • SSL ist einfach zu konfigurieren
  • Es gibt ein Web-Interface
  • Mehrere Kalender werden in einem Account verwaltet
  • Rasche weiterentwickelt der Software
  • File Management
  • Offene Protokolle (caldav, csrddav)

Auf dem Desktop habe ich Evolution laufen. Am einfachsten ist es sicherlich die caldav bzw. csrddav Quellen von von OC einzutragen oder auch nicht:

  • Evolution und Proxy-Server ist immer noch ein Problem. Der OC-Server steht bei mir hinter einem VPN. Die Verbindung muss also ohne Proxy aufgebaut werden. Ausnahmelisten für den Proxy will Evolution aber nicht verstehen.
  • Ohne Verbindung zum OC kann ich keinen Kontakte oder Termine ändern oder Eintragen. Damit ist die Lösung zumindest für den Laptop indiskutabel.
  • Es gibt kein Backup. Löscht man also ebnend mal so den Kalender (das geht schneller als man will) hat man ein mächtiges Problem Herausforderung.

Deshalb habe ich auf ein lange bewährtes Programm zurückgegriffen – Syncevolution. Syncevolution kann nicht nur mit Evolution und ist bis jetzt das beste in Sachen Synchronisation was ich jemals gesehen habe. Vielleicht abgesehen von der Konfiguration. Aber da muss man nur einmal durch.

Die neuste Version von Syncevolution gibt es hier: https://syncevolution.org/documentation/installation . Und für webdav Support sollte es auch eine halbwegs aktuelle Version sein.

Die Kalender/Kontaktlisten sind also lokal auf den verschiedenen Geräten gespeichert und können beliebig bearbeitet werden. Auch ohne Zugang zu OC-Server hat man also einen voll funktionsfähigen Kalender. Synchronisiert wird sobald man im richtigen Netz ist und es wird automatisch ein Backup vor und nach jeder Synchronisation angelegt.

Natürlich gibt es einige Dinge die man nicht tun sollte. Hat man beispielsweise mehrere Kalender, sollte man diese in einer Syncevolution in einer Config behandeln! Behandelt man mehre Kalender eines OC Accounts in verschiedenen Configs schlägt ein Bug von OC zu. Das filtern der Events scheint in OC nicht korrekt zu funktionieren. Syncevolution bekommt also die Events aller Kalender und muss diese Filtern. Nach einigen Durchläufen von Syncevolution hatte ich immer einen leeren Kalender. Aber dafür funktioniert das Backup super.

 

syncevolution --restore /home/mh/.cache/syncevolution/mh_+privat_+owncloud-2012-12-16-15-48 --after mh-privat-owncloud contacts

 

So stellt man Beispielsweise die Kontakte wieder her wie sie nach dem Sync vom 16.12. waren. Die Pfade muss man natürlich etwas anpassen.

Aber wie konfiguriert man jetzt Syncevolution? Das ist eigentlich ganz einfach sofern man das System verstanden hat. Wir erstellen eine neue Config. Diese nenne ich „mh-privat-ocn“. Diese soll gegen OC/webdav synchronisiert werden. Diese sprechen wir mit „target-config@mh-privat-ocn“ an. „mh-privat-ocn“ sind also die lokalen Einstellungen für Evolution, „target-config@mh-privat-ocn“ ist die passende webdav Anbindung. Weiterhin brauchen wir den OC Nutzernamen (USER), das entsprechende Passwort (PWD) und die URL des OC Servers (URL). Weiterhin gehe ich von Einem Adressbuch (Privat) und zwei Kalendern aus (Privat, ZIH) aus. Das kann allerdings beliebig erweitert werden.

Zunächst müssen die Kalender und das Adressbuch angelegt werden. Also bei OC anmelden und entsprechen erstellen. Unter Evolution das selbe, die Todo-Liste und Memo-Liste muss hier aber extra erstellt werden.

Jetzt kommen wir endlich zu Syncevolution. Als erstes tragen wir das Passwort für OC ein und konfigurieren die Datenquelle als webdav:

 

syncevolution --configure --template webdav username=USER password="PWD" target-config@mh-privat-ocn

Lokal soll Evolution verwendet werden (hier wird kein Passwort gesetzt!):

 

syncevolution --configure --template SyncEvolution_Client sync=none syncURL=local://@mh-privat-ocn username= password= mh-privat-ocn

Jetzt fügen wie einen Kalender von OC hinzu (die genaue URL kann man im Web-Frontend von OC erfahren):

 

syncevolution --configure database=https://URL/owncloud/remote.php/caldav/calendars/USER/privat backend=caldav target-config@mh-privat-ocn calendar

Damit etwas passiert muss das lokale Gegenstück konfiguriert werden. Außerdem soll der Kalender in beide Richtungen synchronisiert werden:

syncevolution --configure sync=two-way backend=calendar database=Privat mh-privat-ocn calendar

Jetzt ist es Zeit für den ersten sync. Dabei wir der „calendar“ unserer Config „mh-privat-ocn“ vollständig synchronisiert.:

 

syncevolution --sync slow mh-privat-ocn calendar

Jetzt schnell der zweite Kalender:

 

syncevolution --configure database=https://URL/owncloud/remote.php/caldav/calendars/USER/zih backend=caldav target-config@mh-privat-ocn calendar2

 

syncevolution –configure sync=two-way backend=calendar database=ZIH mh-privat-ocn calendar2

 

syncevolution --sync slow mh-privat-ocn calendar2

Für die Kontakte wird carddav statt caldav verwendet also:

syncevolution --configure database=https://URL/owncloud/remote.php/carddav/addressbooks/USER/privat backend=carddav target-config@mh-privat-ocn contacts

 

syncevolution –configure sync=two-way backend=contacts database=Privat mh-privat-ocn contacts

 

syncevolution --sync slow mh-privat-ocn contacts

Und jetzt noch Todo und Memos für den ersten Kalender:

syncevolution --configure database=https://URL/owncloud/remote.php/caldav/calendars/USER/privat backend=caldavtodo target-config@mh-privat-ocn todo

 

syncevolution –configure database=https://URL/owncloud/remote.php/caldav/calendars/USER/privat backend=caldavjournal target-config@mh-privat-ocn memo

syncevolution –configure sync=two-way backend=todo database=Privat mh-privat-ocn todo

syncevolution –configure sync=two-way backend=memo database=Privat mh-privat-ocn memo

syncevolution –sync slow mh-privat-ocn todo

syncevolution --sync slow mh-privat-ocn memo

So das war doch mal Intuitiv. Aber jetzt kann man einfach alles synchronisieren:

syncevolution mh-privat-ocn

Zum Thema Zertifikate schreibe ich vielleicht später noch was und wie die Daten auf mein Telefon kommen ist auch eine andere Geschichte.

Categories: software Tags:
  1. Lebochequirit
    January 27th, 2013 at 19:04 | #1

    Hallo und Danke für das HowTo. Hat erst nach mehrmaligen Versuchen mit mehreren geklappt, kann es sein, dass “target-config” als Profilname nicht verändert werden darf? Oder hast Du das nur der Einfachheit halber von Syncevolution übernommen?

    Gleich am Anfang Deiner Code-Schnipsel steht username= USER – da müsste das Leerzeichen vor USER weg.
    Dann gab es bei mir noch ein SSL-Zertifikatproblem – vorerst läuft das hier im Heimnetz nur via http. Einstellungen dafür sind irgendwo in einer config.ini, aber da gibt es im .config/syncevolution-Ordner soviele auf verschiedenen Ebenen, dass ich nicht weiter gesucht habe, welche da jetzt fasst.

    Hast Du die ganze Chose mit im Syncevolution-UI zum Laufen bekommen? Da werden für mich nicht nachvollziehbare “Server” und “URI”-Adressen abgefragt, die wohl eher auf SyncML gerichtet sind und bei mir nicht funktioniert haben.

    Schöne Grüße,

    L.B.Q.R.

  2. Marcus
    February 5th, 2013 at 11:54 | #2

    Hallo,

    das Leerzeichen habe ich entfernt das war wirklich zu viel.

    “target-config” ist ein Schlüsselwort um die lokale Konfiguration “mh-privat-ocn” mit der webdav Konfiguration “target-config@mh-privat-ocn” zu verbinden. “mh-privat-ocn” kann aber umbenannt werden.

    SSL funktioniert ganz gut sofern der hostname in die URL mit dem DN im Zertifikat übereinstimmt und dieses lokal akzeptiert wird. Eine schnelle alternative ist den Zertifikats Überprüfung zu deaktivieren. Etwa so “syncevolution –sync-property SSLVerifyHost=0 –sync-property SSLVerifyServer=0 –run mh-privat-ocn” . Eigentlich sollte man das Zertifikat per “–sync-property SSLServerCertificates=some/file” setzen können. Das funktioniert bei mir aber auch nicht. In älteren Versionen hat das mal funktioniert.

    Gruß
    Marcus

  3. Clemens
    July 30th, 2013 at 14:08 | #3

    Danke für die Anleitung … leider gibt es noch ein paar Stolpersteine:

    Als erstes bin ich über einen Tippfehler gestolpert: Statt “syncevolution –configure …” heißt es “syncevolution — configure” Bei Copy&Paste wirft syncevolution unverständliche Fehlermeldungen.

    Für alle Ubuntu 13.04 Nutzer bitte folgendes beachten:
    – Installiert syncevolution 1.3.2 ( https://launchpad.net/~glatzor/+archive/syncevolution )
    # sudo add-apt-repository ‘deb http://ppa.launchpad.net/glatzor/syncevolution/ubuntu quantal main’
    # sudo apt-get update
    # sudo apt-get upgrade

  4. Clemens
    July 30th, 2013 at 14:11 | #4

    @Clemens
    Dieses doofe WordPress… bin ich auch auf die Falle reingefallen – – wird zu — gemacht. 🙁

  5. February 20th, 2017 at 21:58 | #5

    There has always been a small to medium sized cult following for the genre,
    but few films break out to become widely popular. But if you are
    a beginner, simply do your best to match story elements to this structure.
    A new Assassin’s Creed mobile video game will certainly launch within 12 , on this yr with regard to English
    and Japanese viewers.

  1. November 8th, 2014 at 17:01 | #1