Wer seine Kontakt- und Kalenderdaten über alle Geräte synchronisieren will, sollte sich einmal Baikal anschauen. Baikal ist ein kleiner, einfacher CardDAV / CalDAV Server, der nicht mehr braucht als eine normale PHP Installation mit Datenbankanbindung. So läuft er mit jedem üblichen Webhosting-Angebot. Auch die Installation und Konfiguration ist schnell erledigt.
Ladet euch zur Installation einfach das Paket von der Wesite herunter: http://baikal-server.com/
Das heruntergeladene Baikal-Paket wird entpackt und in das Webserver-Rootverzeichnis verschoben. Dabei muss darauf geachtet werden, dass der Webserver Schreibzugriff auf das Verzeichnis hat. Als DocumentRoot muss in der Webserver-Konfiguration das Verzeichnis baikal-regular/html/ eingestellt sein, damit der Webserver beim Aufruf auch tatsächlich die index.php in „html” findet und nicht orientierungslos in baikal-regular umherschwirrt 😉
Beim ersten Aufruf der Adresse im Webbrowser noch ein admin/ hinten angehängt und schon kann die Installation beginnen. Wenn man davon ausgeht, dass http://sub.meinedomain.ch/ direkt auf baikal-regular/html/ verweist, muss die korrekte Adresse für den Adminbereich also http://sub.meinedomain.ch/admin/ lauten. Bei der Installation müssen lediglich Daten für die Datenbankverbindung angegeben werden sowie ein Passwort für den Adminbereich.
Nach der Installation könnt ihr euch direkt in den Adminbereich einloggen und von dort aus CalDAV, CardDAV und Benutzer verwalten. Die Oberfläche ist übersichtlich und einfach gestaltet, sodass man sich gleich gut zurechtfindet. Nachdem ihr einen Benutzer erstellt habt, kann dieser auch gleich seine Geräte per CalDAV / CardDAV synchronisieren. Die Adressen für die Synchronisierung lauten dabei wie folgt:
CalDAV Adresse: https://sub.meinserver.ch/cal.php/calendars/<Benutzername>/default/ CardDAV Adresse: https://sub.meinserver.ch/card.php/addressbooks/<Benutzername>/default/
Für die Synchronisierung mit Mozilla Thunderbird empfehle ich das Lightning-Addon und den SOGO Connector. Für Android CardDAV Sync und CalDAV Sync von Marten Gajda
Baikal funktioniert bei mir bisher zuverlässig und gut… und das, obwohl Version 1 noch lange nicht erreicht ist 😉 Wünschenswert wäre noch eine Weboberfläche, über die Benutzer ihren Kontake und Kalender direkt aus dem Browser verwalten können; eine solche Möglichkeit fehlt noch.
Es gibt ein open-source Web Interface für CalDAV & CardDAV: InfCloud
https://www.inf-it.com/open-source/clients/infcloud/
Bei InfCloud kann man recht viel konfigurieren, daher muss man 2-3 Einträge im Config-File anpassen.
Evtl. hilft auch diese Anleitung:
https://thomastaucher.at/pages/infcloud-in-conjunction-with-baikal/
Interessanter Tipp, werde mir das bei Gelegenheit anschauen und Testen.
Da mein Beitrag auch schon etwas älter ist werde ich da evtl. sogar noch ein Update davon machen…
Servus,
Kleiner Hinweis: die langen URLs sind nicht notwendig. Es reicht bei der Einrichtung auf einem iDevice (bestimmt auch bei anderen) bei der Serveradresse tatsächlich nur den Server einzutragen.
Der Rest geht automatisch.
Vorteil von Baikal: klein schnell und auf das wesentliche reduziert, und das ist auch gleich der Nachteil. Weis jemand wie man HTTP-Auht aktivieren kann, damit auch ldap geht usw?
Sabre DAV selbst kann das, ist aber in der Oberfläche von Baikal nicht implementiert.
Hallo,
danke für den Hinweis das das bei den Smartphones mittlerweile korrekt funktioniert hatte aber erst gerade wieder bei einem Kunden ein Problem mit dem „Outlook CalDav Synchronizer“ der die Urls nicht korrekt aufgelöst hat.
Für solche fälle ist es manchmal nicht schlecht wen man die korrekte Url weiss…
Hatte bis jetzt den Baikal Server noch nie mit LDAP verbunden, daher kann ich da nicht weiterhelfen…
Grüsse
Michael Kleger
Servus,
ich hab es hinbekommen. In der Datei baikal/Core/Frameworks/Baikal/Core/Server.php oben unter:
use PDO;
Folgendes einfügen:
use \Sabre\DAV\Auth;
Dann die Zeilen unter „protected function initServer() {“ mit // auskommentieren:
// if ($this->authType === ‚Basic‘) {
// $authBackend = new \Baikal\Core\PDOBasicAuth($this->pdo, $this->authRealm);
// } else {
// $authBackend = new \Sabre\DAV\Auth\Backend\PDO($this->pdo);
// $authBackend->setRealm($this->authRealm);
// }
und über:
$principalBackend = new \Sabre\DAVACL\PrincipalBackend\PDO($this->pdo);
einfügen:
$authBackend = new \Sabre\DAV\Auth\Backend\Apache();
Danach werden die Kalenderaufrufe usw über Apache authentifiziert und du kannst alles machen, was der Apache hergibt: SASL, LDAP, usw…
Bis jetzt scheint es immer noch nicht der Fall zu sein das da die Entwicklungen weitergehen.
Als alternative kann ich da nur immer weider die NextCloud erwähnen, die Synchronisation von Kalendern und Kontakten funktioniert tadellos, gerne auch als Managed Services, einfach melden.