Kontaktsynchronisation unter Mac OS El Capitan mit CardDAV

geschrieben am 13.10.2015
Schlagwörter: , , , , ,

Bildschirmfoto 2015-10-14 um 11.36.36

Seit dem 30. September 2015 ist das neue Betriebssystem von Apple mit dem Namen El Capitan auf dem Markt. Wie bei jedem Launch einer neuen Software gibt es auch bei El Capitan hier und da Startschwierigkeiten. Ein aus unserer Sicht besonders ärgerliches Problem ist das geänderte Verhalten der Kontakte App bei der Kontaktsynchronisation mit einem fremden Server. Das mag bei einer einfachen Synchronisation mit iCloud oder Gmail nicht weiter tragisch sein, problematisch wird es wenn man seinen eigenen Webserver nutzt, um Kontakte zu synchronisieren. In diesem kurzen Artikel erläutern wir den Fehler, gehen auf den Grund ein und zeigen auf, wie sich der Fehler vergleichsweise einfach beheben lässt.

Ursachen der Synchronisationsprobleme mit CardDAV

Apple verwendet in der neuen Version einen PROPFIND Request, um Daten vom Server zu erhalten. Der PROPFIND Request selbst ist nicht das Problem, denn damit kann jeder Webserver umgehen. Das Problem ist, dass alle solche Anfragen der Kontakte App, an den Server auf die Adresse /.well-known/carddav laufen. Die Kontakte App ignoriert schlicht und einfach den in den App-Einstellungen eingegebenen Pfad des Anwenders für die Kontaktsynchronisation. Wir setzen bei unserem ionas-Server auf DAViCal, welches Aufrufe auf den Pfad „/dav/caldav.php“ erwartet. So sind wir auf dieses Problem gestoßen.

Natürlich kann man davon ausgehen, dass Apple diesbezüglich bald ein Update herausbringt, welches das Problem behebt. Doch was macht man in der Zwischenzeit? Was ist, wenn man auf die Kontaktsynchronisation angewiesen ist?

Lösungsansatz Redirect

Eine vorübergehende Lösung für das Problem ist ein serverseitiger Redirect im Webserver. Dieser Redirect sorgt dafür, dass die fehlerhaften Anfragen auf den korrekten Pfad weitergeleitet werden. Wichtig ist dabei, dass man seine neue Konfiguration an die richtige Stelle schreibt.

Konfiguration des Webservers NGINX

In den Server Block der NGINX default Datei fügen Sie folgende Zeile ein:

rewrite ^/.well-known/carddav /PFAD_ZUR_DAVICAL.PHP permanent;
rewrite ^/.well-known/login.php /PFAD_ZUR_DAVICAL.PHP permanent;

Wichtig: Der String „PFAD_ZUR_DAVICAL.PHP“ muß natürlich Ihrem Serverpfad entsprechen. Danach den NGINX Server neu starten und die Synchronisation der Kontakte funktioniert wieder einwandfrei.

Konfiguration des Webservers Apache

Apache verarbeitet die Redirect Kommandos anders als NGINX. Wenn Sie einen Apache Webserver nutzen, fügen Sie folgende Zeile in die .htaccess Datei ein.

RewriteRule ^/.well-known/carddav(.*) /PFAD_ZUR_DAVICAL.PHP$1 [R]
RewriteRule ^/.well-known/login.php /PFAD_ZUR_DAVICAL.PHP$1 [R]

Danach den Apache Server neu Starten und die Synchronisation des Adressbuches sollte danach wieder zuverlässig funktionieren. (Für NGINX haben wir den Code getestet, für Apache hatten wir keine Möglichkeit dies zu tun.)

Fazit

In den seltensten Fällen kommt eine neue Software ohne Probleme auf den Markt. Das gilt besonders für neue Betriebssysteme, wobei Microsoft einen deutlich schlechteren Ruf hat als Apple. Aber auch Apple zeigt in diesem Fall mal wieder, dass seine Entwickler anscheinend keine Probleme damit haben, gängige Standards ohne Ankündigung zu ändern.

Es ist jedoch beruhigend zu wissen, dass man mit etwas Einfallsreichtum auch bei solchen Problemen zu einer Lösung kommt.

  • Google+
  • RSS Feed
  • YouTube

Kommentar schreiben

Kommentar


Die Apache RewriteRule funktionierte so bei mir nicht. Folgende habe ich erfolgreich in der Konfiguration der virtuellen Hosts (als nicht in der .htaccess) verwendet:

RewrteEngine On
RewriteRule ^well-known/carddav(.*) caldav.php

Außerdem funktionierte das Anlegen des Accounts auf dem Mac nur mit Accounttyp Manuell. Bei Accounttyp Erweitert versucht er laut Logfiles auf dem Server nicht einmal eine Verbindung herzustellen. Es kommt immer die Meldung Benutzername/Passwort falsch.

lg, Holger

Hallo Holger,
vielen Dank für deine Ergänzung.
Gruß
Christoph

Hallo
Ich finde es gut das endlich jemand Dampf gibt was das Adressbuch & Calendar betrifft. Wir hosten mehrere Server/Client Systeme, die alle noch auf Maverick 10.9.5/3.2.2 laufen, da seit dem 10.10.xxx & 10.11.4/5.1 überhaupt keine Verbesserung für Netzwerk-Accounts gefixt wurde und damit eine vernünftige Server/Client Lösung verunmöglicht. Da tut sich Apple richtig schwer, Schade für die Arroganz dieser Früchte-Firma, Sorry meine Wut.
Schreibe Schon seit 2 Jahren den Fehler an die Developer-Abteilung, aber nichts passiert.
Ich hoffe das Sie vielleicht in den Foren mehr Druck geben können.
Gruss Donald

Hallo Donald,
ich kann Ihren Unmut verstehen. Apple gibt vor offene Standards zu unterstützen, aber bei jedem Update kommen irgendwelche Fehler hinzu.
Vielleicht sollten Sie einn Blick auf unseren ionas-Server Small Business werfen. Unsere Termin- und Kontaktsynchronisationslösung arbeitet zuverlässig mit allen Betriebssytemen.
Viele Grüße
Christoph


« | »