Activesync für Kalender/Kontakte mit ownCloud und Mail mit Dovecot

Ich habe es heute geschafft – die Ent-Googleung ist einen großen Schritt weiter! Heute habe ich mein Kontakte und meinen persönlichen Kalender , sowie das erste Mailkonto auf meinen eigenen Server umgezogen. Wichtig ist mir dabei immer die Kompatibilität mit webOS. Eigentlich ist das ganze sehr einfach:

Ich habe einen Virtual Server bei einem Webhoster, der mit Ubuntu 10.04 läuft – jedes andere Linux sollte aber genau so konfigurierbar sein. Auf meinem Server laufen Postfix und Dovecot (mit diversen Werkzeugen drumherum, um Viren und Spam zu reduzieren) für die E-Mailverarbeitung, ein Apache2 mit php5 und ein selbstsigniertes Wildcard-Zertifikat für alle Dienste, die man auf diesem Weg absichern kann. ownCloud habe ich in Version 4.0.1 installiert.

Das Problem: ownCloud bietet eine akzeptable Kontakverwaltung und einen brauchbaren Kalender, spricht allerdings nur CarDAV und CalDAV nach außen. Außer iOS von Apple spricht allerdings kein anderes der relevanten Smartphone-Betriebssysteme diese Protokolle – teilweise kann eine Synchronisation über kommerzielle „Apps“ erreicht werden – das finde ich allerdings eher unbefriedigend. Was ist der gemeinsame Nenner? Alle für mich relevanten Systeme können Microsofts Activesync-Protokoll sprechen, mit Z-Push exisitiert eine erprobte Open Source-Implementierung. Z-Push kann verschiedene Backend-Systemenutzen. Zum Glück hat sich nicht nur jemand die Mühe gemacht, eine Backend für die von ownCloud genutzten Protokolle zu schreiben (das kann z.B. sogosync), es exisitiert sogar eine Implementierung, die spezifisch für ownCloud erstellt und weitgehend vorkonfiguriert wurde.

Die Installation und Basiskonfiguration ist sehr einfach zu bewerkstelligen – man braucht keine Serverdienste, nur einen Webserver mit php-Support!
In dieser Konfiguration ist allerdings Mail-Push (via IMAP) nicht aktiviert. Um das auf einfachen Wege zu machen, tragt Ihr zuerst in der Datei config.php im Hauptordner Eure IMAP-Server-Verbindungsdaten ein:

[php]
// ************************
//  BackendIMAP settings
// ************************
// Defines the server to which we want to connect
define(‚IMAP_SERVER‘, ‚mail.DeinServer.de‘);
// connecting to default port (143)
define(‚IMAP_PORT‘, 993);
// best cross-platform compatibility (see http://php.net/imap_ope$
define(‚IMAP_OPTIONS‘, ‚/notls/norsh/ssl/novalidate-cert‘);
// overwrite the "from" header if it isn’t set when sending emails
// options: ‚username‘    – the username will be set (usefull if $
//        ‚domain‘    – the value of the "domain" field is used
//        ‚@mydomain.com‘ – the username is used and the given st$
define(‚IMAP_DEFAULTFROM‘, “);
// copy outgoing mail to this folder. If not set z-push will try $
define(‚IMAP_SENTFOLDER‘, ‚Sent‘);
// forward messages inline (default false – as attachment)
define(‚IMAP_INLINE_FORWARD‘, true);
// use imap_mail() to send emails (default) – if false mail() is $
define(‚IMAP_USE_IMAPMAIL‘, false);
[/php]

Danach müsst ihr noch in der Datei config.phpein diese Zeile einkommentieren, um Mailfunktionen zu aktivieren:

[php]
//define(‚OC_MAIL‘, ‚i‘);
[/php]

In webOS hatte ich noch ein Problem mit meinem selbstsignierten Zertifikat, aber Dank des guten Palm Supports weiß ich: Ich muss eine mit dem Zertifikat versehene Seite aufrufen. Wenn ich bei der Abfrage bestätige, dass ich dem Zertifikat vertraue, wird es permanent auf dem webOS-Gerät hinzugefügt und auch der Exchange ActiveSync meckert nicht mehr!

3 Replies to “Activesync für Kalender/Kontakte mit ownCloud und Mail mit Dovecot

  1. Moin Hauke,

    danke für Deinen Artikel. Darüber bin ich erst darauf gestossen, dass es möglich ist Owncloud mit ActiveSync zu benutzen. Leider ist es mir bisher noch nicht gelungen, sogosync so einzurichten, dass ich mich bei meiner Owncloud anmelden kann.
    Die vorkonfigurierte sogosync-Verbindung zu Sogo-Demo funktioniert, meine Owncloud per Caldav über den Browser auch. Versuche ich aber sogosync erscheint immer wieder die Benutzeranmeldung.
    Wenn ich die Pfadangabe mit der Sogo-Demo vergleiche scheint es mir, als müsste Zeile 41 aus backend\caldav.php auskommentiert werden ($this->_caldav_path = $this->_caldav_path . „Calendar/“;).
    Kannst Du mir ein Beispiel für deinen Owncloudzugriff senden?

    Danke und Gruß
    Jacob

  2. danke für den Artikel.
    Ich war ganz begeistert, als das alles relativ gut funktionierte mit oc 4.55.
    Allerdings habe ich nach 2 Wochen das Projekt wieder in den Boden gestampft. Ich hatte das ganze für 5 Personen aktiv eingerichtet mit einiges an alten importierten Daten.
    oczpush brachte bei mir noch extrem viele Fehler wegen unbekannten Feldern oder nicht auswertbaren Daten. Dadurch fehlten oft Daten auf dem Handy. Dazu wurden Termine verschoben. Ob das nun an oc oder oczpush oder am Webdav Zugriff per Thunderbird/Sunbird lag kann ich nicht genau sagen.
    Klingt alles zu schön um war zu sein und leider ist das Paket in der Praxis bisher einfach nicht nutzbar. Schade schade.

Comments are closed.