≡ Menü

Bye, bye, Cloud – Teil 3 – Meine Kontakte , mein Kalender

My Cloud 3

Nach etwas längerer Pause ist dies der dritte Teil meiner kleinen Serie “Bye, bye, Cloud”. Die beiden ersten Teile findet ihr hier:

Teil 1: Meine Daten, mein Server
Teil 2: Mein Server, meine Infrastruktur

Dies ist der erste Artikel zu meiner privaten, kleinen Cloud, in dem es um einen richtigen Service geht, der auf der beim letzten Mal vorgestellten Infrastruktur laufen soll. Die Daten, auf die man bezüglich Datenschutz wohl am besten aufpassen sollte, Kontaktdaten AKA Telefonbuch und Kalenderdaten, sollen ein neues zu Hause bekommen.

Intention und Technik

Natürlich kann man sich die Frage stellen, warum man solche Daten überhaupt auf einem Server speichern sollte. Hat man nur ein Smartphone, auf dem Kontakte gebraucht werden und verwaltet diese auch auf selbigem, kann man sich den Aufwand natürlich sparen. Kommt noch ein Rechner hinzu, am besten mit einem dedizierten Email-Client (Thunderbird, Outlook, …), möchte man Kontakte und Email-Adressen aber nicht doppelt pflegen. Und wer, wie ich, ein iPhone, ein iPad, ein Windows-Laptop und einen Desktop-Rechner hat, kommt ohne zentral abgelegte Kontakt- und Kalenderdaten überhaupt nicht mehr aus.

Wie man sieht, kann und werde ich hier also hauptsächlich aus iOS- und Windows-Sicht beschreiben, wie mein Setup ist und wie ich die Daten synchronisiere. Ähnlich sollte das aber auch mit z.B. Android funktionieren.

Apple setzt zum Glück schon lange auf – mehr oder weniger – standardisierte Verfahren zur Bereitstellung von Kontakten und Kalendern, die auch von den meisten anderen Systemen direkt, oder indirekt, genutzt werden können.

Für Kontaktdaten wird CardDAV zum Einsatz kommen. Für Kalenderdaten CalDAV.

Tatsächlich gibt es diverse Implementierungen dieser Protokolle. Sogar Apples eigener Apple Calendar and Contacts Server ist frei verfügbar und kann auf FreeBSD, oder Linux installiert werden. Diese Variante lief bei mir aber nicht so richtig rund.

Letzlich setze ich jetzt auf den Baïkal-Server. Ein recht minimalistischer, aber leicht einzurichtender Server auf Basis von PHP 5 und MySQL.

Installation

Die eigentliche Installation ist gut dokumentiert. Die einzelnen Schritte sind recht einfach nachzuvollziehen:

  1. Download des Servers, entpacken und nach /var/www/dav verschieben.
  2. Ggf. dem Apache-User Lese- und Schreibrechte einräumen:
    chown -R www-data:www-data /var/www/dav
  3. Die Config-Datei für den Virtual Host von /var/www/dav/Specific/virtualhosts/baikal.apache2 nach /etc/apache2/sites-available/ kopieren, den ServerName anpassen und in /etc/apache2/sites-enabled ver-sym-linken:
    ln -s ../sites-available/baikal.apache2
  4. Anschließend Apache neu starten.
  5. Im Browser http://dav.mydomain.com ansurfen und den Anweisungen zur Einrichtung folgen. Wie immer lege ich meine Datenbank mit spezifischem Benutzer bereits vorher an und halte die Daten zur Einrichung bereit 😉

Auf das Admin-Interface greift man anschließend unter http://dav.mydomain.com/admin/ zu.

Einrichtung

Unter iOS und OSX greift man auf den Kalender mit

http://dav.mydomain.com/cal.php/principals/

zu, Kontakte nutzen unter iOS in den erweiterten Einstellungen

http://dav.mydomain.com/card.php/principals/

und unter OSX

http://dav.mydomain.com/card.php/addressbooks//default

Thunderbird braucht zum Zugriff auf die Kontakte das AddOn „SOGo Connector Thunderbird extension“ und nutzt dann für den Zugriff

http://dav.mydomain.com/card.php/addressbooks/default

Für den Zugriff auf den Kalender ist natürlich das Lightning-AddOn erforderlich. Kalender bindet man dann mit

http://dav.mydomain.com/cal.php/calendars//default

ein.

Tipp: Überall wo mit „default“ auf einen bestimmten Kalender/ein bestimmtes Adressbuch zugegriffen wird, kann natürlich auch die Calendar token ID eines anderen Kalenders oder Adressbuchs angegeben werden.

Unter iOS sollte man noch dringend festelegen, welches der Standardkalender für neue Termine ist. Ich hatte mich Anfangs gewundert, warum meine Termine nicht in Thunderbird auftauchen, auf dem iPhone aber sichtbar sind. Grund war schlicht, dass die Termine im flaschen Kalender landeten, der zwar auf dem iPhone da war, in Thunderbird aber nicht.

Datenübernahme

Nach der Einrichtung wollte ich natürlich nicht alle Adressen neu erfassen und meinen Kalender von Hand abschreiben. Beides lag bis dato bei Google, da ich mit der Technik an sich dort sehr zufrieden war.

Den Kalender zu übernehmen ist recht einfach. In den Einstellungen des Kalenders in der Google-Oberfläche findet man den privaten Link zur ICS-Datei. Diese kann man lokal speichern und dann in Thunderbird/Lightning in den dort angelegten Kalender importieren.

Genau so funktioniert die Terminübernahme auch, wenn man von Apples iCloud kommt. Nur der Export gestaltet sich etwas anders. Das wird aber sehr gut in einem Apple-Support-Dokument beschrieben.

Etwas komplizierter war die Übernahme der Kontakte. Dies habe ich über den Umweg einer App auf meinem iPad gemacht, dass zum Testen sowieso mal auf den Google-Contacts Account, mal auf meinen neuen Baïkal-Server Account konfiguriert wurde.

[app 582605968]

Die App, die dafür zum Einsatz kam heißt Contact Mover & Account Sync. Sie erlaubt das einfache Syncen von zwei beliebigen, auf dem iOS Gerät eingerichteten Accounts. „Sync“ kann in diesem Fall auch „One-Way-Sync“ heißen. Das heißt, dass ich einfach einen Sync vom Google-Account zum Baïkal-CardDAV-Account eingerichtet habe. Kaputt gehen kann dabei nichts. Das klappt sogar so gut, dass quasi keine Nacharbeiten nötig waren. Selbst die Bilder der Kontakte wurden anstandslos übernommen.

Daily use

Das ganze läuft jetzt bereits seit einigen Monaten bei mir und verursacht keine Probleme. Da sich weder Termine, noch Kontakte minütlich ändern, bin ich auf Push-Meldungen nicht angewiesen.

Gemeinsame Kalender unterstützt Baïkal zwar nicht, aber mit meiner Freundin teile ich mir einen speziell angelegten Benutzer mit einem Kalender, auf den wir dann gemeinsam zugreifen.

Während der Testphase verschiedener CardDAV-Server ist mir aufgefallen, dass die Unterstützung von Kontaktbilder zum Teil sehr mangelhaft ist. Baïkal verursacht hier keine Probleme.

Fazit

Für meinen Anwendungszweck ist Baïkal ideal. Leicht einzurichten, bisher völlig ohne Probleme im Einsatz und dazu auch noch kostenlos.

Die Hauptsache aber ist: Außer mir, greift niemand auf diese Daten zu!

{ 2 comments… add one }
  • Freiheit 23. September 2014, 21:34

    Zur Sicherheit solltest du besser httpS benutzen, ein selbst signiertes Zertifikat reicht ja.

  • Caspar 23. Dezember 2015, 15:47

    Vielen Dank für die tolle Anleitung!

    Aber an baikal wäre ich fast verzweifelt, deshalb hier kurz meine Bemerkung dazu. Beim Kalender musste ich in Thunderbird/Lightning zwei Einstellungen vornehmen:
    1. Beim neuen Kalender die „Offline-Unterstützung“ deaktivieren.
    2. In der Konfiguration den Parameter „calendar.network.multirealm“ unbedingt auf „true“ stellen.
    Ohne das ging bei mir nix. Auf dem Androiden ging es problemlos.

Trackbacks

Cancel reply

Leave a Comment

*