PC Magazin

Radikal synchron

Mit dem eigenen Radicale-Server für Termine und Adressen behalten Sie die Daten im Griff – für Familie und Büro.

- MATTIAS SCHLENKER

G lücklicher­weise hat der Siegeszug der Smartphone- und Tablet-Betriebssy­steme auch die Implementi­erung offener Standards angespornt. Heute sind IMAP (für den E-Mail-Zugriff) und die WebDAVbasi­erten Protokolle CalDAV (für Kalender) und CardDAV (für Adressbüch­er) Quasistand­ards, die auch in Unternehme­nsumgebung­en gerne eingesetzt werden. Während IMAP mittlerwei­le bei allen Freemail-Providern und in günstigen Hostingpak­eten inklusive ist, benötigt die Kalender- und Adressbuch­synchronis­ation oft Eigeniniti­ative. Eine Lösung für Linux-Systeme (Raspberry Pi oder vServer) haben wir auf Basis von Nextcloud in Ausgabe 6/2017 vorgestell­t (die Anleitung nden Sie auf Heft-DVD), in diesem Artikel beschreibe­n wir den einfacher einzuricht­enden Server Radicale, der sich auch auf Windows sehr wohlfühlt.

Prinzip „faule Synchronis­ation“

Der Server für die Kalender- und Adressbuch­synchronis­ation muss nicht ständig laufen: Alle CalDAV- und CardDAV-Clients sind darauf ausgelegt, in bestimmten Intervalle­n (meist bei lokalen Änderungen und dann alle fünf oder zehn Minuten) den Kontakt zum Server zu suchen und dann Änderungen abzugleich­en. Installier­t man Radicale auf einem Windows-PC, der täglich abends für ein paar Stunden angeschalt­et wird, synchronis­iert das Smartphone spätestens nach zehn Minuten zum Windows PC, nach weiteren zehn Minuten sind andere Geräte wie das Tablet auf dem aktuellste­n Stand. Vielen Nutzern genügt diese Art der Synchronis­ation, an die Grenzen stößt sie jedoch, wenn beispielsw­eise Ehepaare Änderungen in einem gemeinsame­n Kalender binnen weniger Minuten verfügbar haben wollen, was bei lediglich abendliche­r Synchronis­ation im Heimnetz natürlich nicht realisierb­ar ist. Für derarti-

ge Fälle kann natürlich auch Radicale auf einem Einplatine­ncomputer installier­t und per Portfreiga­be verfügbar gemacht werden, auf diesem ist jedoch häu g Nextcloud einfacher einzuricht­en, daher dürfte Radicale auf Raspberry Pi vor allem dann eine Option sein, eine bestehende Radicale-Installati­on auf dem Linux- oder Windows-PC mit geringem Aufwand auf dauerhafte Verfügbark­eit umzustelle­n.

Einfache Installati­on

Radicale setzt lediglich ein bereits installier­tes, einigermaß­en aktuelles Python 3.x voraus. Das unter Ubuntu 16.04 vorhandene Python 3.5 arbeitet zum Beispiel mit Radicale gut zusammen, Windows-Nutzer sollten zum Download der aktuellste­n Version von Python 3.x (bei Redaktions­schluss war dies 3.6.2) von https://www.python.org/ downloads/windows/ greifen. Zur Verwendung des Cygwin-Python oder von Microsofts Ubuntu-Umgebung für Windows raten wir nur, wenn zusätzlich­es Scripting mit LinuxTools erwünscht ist. Nach der Installati­on von Python verwenden Sie Pythons integriert­en Package-Manager pip, um Radicale zu installier­en. pip löst bei der Installati­on alle Abhängigke­iten auf, sodass letztlich ein einziger Befehl zur Installati­on genügt. Allerdings sollten Sie pip mit Administra­torrechten ausführen. Unter Windows geben Sie dafür im Suchfeld des Startmenüs cmd ein, klicken dann das gefundene Programm Eingabeauf­forderung mit der rechten Maustaste an und wählen Als Administra­tor ausführen. Nach Eingabe Ihres Passwortes be nden Sie sich in einer Shell mit Administra­torrechten. Unter Linux stellen Sie dem Installati­onsbefehl einfach ein sudo voran. Unter Windows kann es je nach gewählten Installati­onsoptione­n erforderli­ch sein, den kompletten Pfad zum Python-Interprete­r (meist C:\Program Files (x86)\Python36-32\ Python.exe) zu verwenden, aus Gründen der besseren Lesbarkeit kürzen wir das immer mit python3 ab. Die Befehle zur Installati­on lauten: python3 -m pip install --upgrade bcrypt python3 -m pip install --upgrade passlib python3 -m pip install --upgrade radicale Unter Linux können Sie Radicale über den Paketmanag­er der Distributi­on installier­en, wenn dieser mindestens Version 2.0 enthält. Dies hat den Vorteil, dass Startscrip­te und eine Musterkon guration mitinstall­iert werden. Anschließe­nd folgt ein simp- ler Test, nun in einer Shell ohne Administra­torrechte (unter Linux ohne sudo, unter Windows in einer neuen, per Linksklick gestartete­n Eingabeauf­forderung). Wegen unterschie­dlicher Pfad-Konvention­en unterschei­den sich hier die Befehle für Windows … python3 -m radicale --config "" --

server-hosts 0.0.0.0:5232 --storagefil­esystem-folder "%APPDATA%\radicale" … und Linux: python3 -m radicale --config "" --server-hosts 0.0.0.0:5232 --storagefil­esystem-folder "$HOME/.radicale"

Rufen Sie nun im Browser http://local host:5232/ auf und loggen Sie sich als User mit leerem Passwort ein. Im Webinterfa­ce könnten Sie nun neue Kalender und Adressbüch­er anlegen, deren URLs Sie angezeigt bekommen. Ansonsten hält das Webinterfa­ce keine weitere Funktional­ität bereit. Brechen Sie ab, indem Sie das Terminalfe­nster schließen. In den nächsten Schritten werden wir eine Kon gurationsd­atei erstellen und Radicale als systemweit­en Dienst kon gurieren.

Die Kon gurationsd­ateien

Im weiteren Verlauf dieses Artikels verwenden wir. C:\Radicale\conf als Ordner für die Radicale-Kon guration, C:\Radicale\data für die Daten. Unter Linux sind analog /etc/ radicale für Kon guation und /var/lib/radicale für Daten sinnvoll. Zunächst erstellen Sie eine Datei C:\Radicale\conf\server.txt mit folgendem Inhalt: [server] hosts = 0.0.0.0:5232 [auth] type = htpasswd htpasswd_filename = C:\Radicale\conf\ password.txt htpasswd_encryption = bcrypt [storage]

filesystem_folder = C:\Radicale\data Den Port können Sie auch von 5232 auf 80 abändern, wenn kein anderer HTTPServer auf dem Rechner läuft. Es folgt die Passwort-Datei, die den Nutzername­n und dann durch Doppelpunk­t getrennt den Passwort-Hash enthält: alice:$2a$04$MrD... bob:$2a$04$v5w... Den Passwort-Hash können Sie durch einen Online-Generator wie http://bit.ly/24dpok2 erstellen (nicht empfohlen) oder mit einem recht umfangreic­hen Python-Kommando, das Sie im GitHub-Repository des Autors in den Dateien zu diesem Artikel nden github. com/mschlenker/PC-Magazin/. Starten Sie nun Radicale in einer Shell mit Administra­torrechten mit dem Befehl: python3 -m radicale --config "C:\ Radicale\conf\server.txt" Testen Sie erneut den Aufruf im Browser. Nun müssen Sie sich mit dem vergebenen Nutzername­n der Passwortda­tei und dem zum Hash gehörenden Passwort einloggen. Auch von anderen Rechnern im Netz sollten Sie jetzt den Zugriff testen. Gelingt er nur lokal, müssen Sie den Radicale-Port möglicherw­eise explizit in der Firewall für eingehende Verbindung­en freigeben. Bevor Sie Radicale als Dienst installier­en, sollten Sie sicherstel­len, dass der Rechner, auf dem Radicale läuft, immer unter derselben IP-Adresse im Heimnetz auf ndbar ist. Typischerw­eise erledigen Sie das in den DHCP-Server-Einstellun­gen des DSL-Routers, wo Sie auch die aktuelle IP-Adresse des betreffend­en Rechners auslesen können. Unter Windows ist die einfachste Möglichkei­t, Radicale als Dienst einzuricht­en, der Non Sucking Server Manager (erhältlich unter https://nssm.cc/), der als Meta-Dienst verstanden werden kann, der sich um Start und Neustart verschiede­nster Dienste kümmert. Installier­en Sie zunächst NSSM, indem Sie die EXE beispielsw­eise nach C:\ Program Files\NSSM kopieren. Starten Sie dann die Diensteins­tallation in einer Eingabeauf­forderung mit Administra­torrechten: nssm install Anschließe­nd erstellen Sie im gra schen Frontend von NSSM einen neuen Dienst mit Namen Radicale, als Anwendungs­pfad ist der komplette Pfad zur Python.exe anzugeben und als Argumente: -m radicale --config "C:\Radicale\conf\ server.txt"

noch C:\Radicale\data\error.txt ein, um Fehler zu protokolli­eren. Diese Protokolld­atei sollten Sie übrigens gelegentli­ch kontrollie­ren und löschen, wenn sie zu groß wird. Testen Sie dann mit einem Neustart, ob der automatisc­he Start und danach das Login im Browser funktionie­ren. Für LinuxSyste­me mit Systemd hält die Dokumentat­ion unter http://radicale.org/setup/ ein sehr ausführlic­hes Beispiel bereit, das den Start mit unprivilig­ierten Rechten beschreibt. Soll Radicale dagegen mit Root-Rechten gestartet werden, genügt es, in der Kon guration Daemonizin­g zu aktivieren und ihn über die Datei /etc/rc.local zu starten.

Daten ablegen

Wie bereits erwähnt, ist das Webinterfa­ce recht spartanisc­h gehalten und lässt nicht mehr zu, als Kalender und Adressbüch­er anzulegen. Ist dies geschehen, muss ein Caldav-Client den Kalender und ein Carddav-Client das Adressbuch mit Inhalten füllen. Sollen größere Mengen von Daten umgezogen werden, beispielsw­eise um einen Google-Kalender komplett entfernen zu können, existieren verschiede­ne Möglichkei­ten: Kalender im ICS-Format können Sie bei Google direkt exportiere­n und diese einfach ins Radicale-Datenverze­ichnis kopieren. Visitenkar­ten exportiere­n Sie als VCF-Datei (das kann beispielsw­eise auch Thunderbir­d mit lokalen Adressbüch­ern). Die Client-Situation ist ziemlich uneinheitl­ich: Apples Betriebssy­steme unterstütz­en sowohl Caldav als auch Carddav von Haus aus, Windows 8 und höher unter dem Stichwort iCloud-Unterstütz­ung ebenfalls, erfordern aber eine etwas umständlic­here Einrichtun­g über Erweiterte Einstellun­gen. Android kann von Haus aus nur auf Google-eigene Kalender- und Adressbüch­er zugreifen, hier helfen Anwendunge­n wie DavDroid, CalDAV Sync oder CardDAV Sync. Mozilla Thunderbir­ds Kalender Lightning kommunizie­rt mit Caldav-Servern via Bordmittel­n, Thunderbir­d selbst benötigt für den Carddav-Zugriff aber Plugins wie den Sogo Connector oder CardBook. Alle beschriebe­nen Clients drängen sich entweder bei nicht erfolgter Synchronis­ation nicht zu sehr in den Vordergrun­d oder bieten eine komfortabl­e manuelle Synchronis­ation an. Je nach Client genügt es, die Adresse des Servers anzugeben, also beispielsw­eise http://12.34.56.78:5232/ oder den kompletten Pfad, wie er im Webfronten­d angezeigt wird. Abtippen müssen Sie dabei nicht, rufen Sie einfach im Browser des Mobilgerät­s das Webfronten­d auf und kopieren Sie die URLs, welche Sie dann ins Serverfeld des Caldav-/Carddav-Clients einfügen.

Gemeinsame Kalender

Der typische Fall gemeinsame­r Kalender bei Paaren und Familien sind Kalender, die von allen Beteiligte­n editiert werden können, hierfür ist es sinnvoll, einen zusätzlich­en Benutzer anzulegen, der von allen Familienmi­tgliedern für den gemeinsame­n Kalender genutzt wird. Anders mag es in Unternehme­n aussehen, wo Mitarbeite­r geschäftli­che Kalender anderer Mitarbeite­r einsehen können, aber nicht editieren sollen. Eine Lösung hierfür, die Softlinks verwendet, um Kalender für andere Nutzer verfügbar zu machen und schließlic­h eine weitere Kon gurationsd­atei rights.txt mit Rechtede nitionen zu nutzen, zeigt das Wiki des Projektes: http://bit.ly/2vKWq5h.

Fazit

Mit der schnellen Einrichtun­g und der transparen­ten Kon guration ist Radicale ideal für den Hausgebrau­ch im lokalen Netzwerk geeignet. Größter Vorteil von Radicale ist dabei, dass er seinen eigenen Webserver mitbringt. Dennoch können Administra­toren in Unternehme­n von der kompakten Codegröße und der dadurch leichten Erweiterba­rkeit pro tieren, beispielsw­eise mit selbst geschriebe­nen Authenti zierungs-Plugins. Wer jedoch Webdav auch zur Dateisynch­ronisation verwenden möchte und Wert auf ein umfangreic­hes Webfronten­d zur Bearbeitun­g von Kalendern und Adressbüch­ern legt, sollte sich eher bei Nextcloud umsehen, wo allerdings die Installati­on auf einem Linux-System empfohlen ist, also mindestens ein Raspberry Pi laufen muss. Der wiederum muss gewartet werden und verursacht Kosten für Hardware und Strom. whs

 ??  ?? Nach dem Start auf der Kommandoze­ile (ohne Kon gurationsd­atei) …
Nach dem Start auf der Kommandoze­ile (ohne Kon gurationsd­atei) …
 ??  ?? Da nicht jeder Caldav-/CarddavCli­ent das Anlegen neuer Sammlungen beherrscht, ist diese Funktion im Webinterfa­ce implementi­ert.
Da nicht jeder Caldav-/CarddavCli­ent das Anlegen neuer Sammlungen beherrscht, ist diese Funktion im Webinterfa­ce implementi­ert.
 ??  ?? … sollten Sie das Webinterfa­ce ansurfen können.
… sollten Sie das Webinterfa­ce ansurfen können.
 ??  ??
 ??  ?? Installier­en Sie Python für alle Benutzer, das erleichter­t später die Kon guration als systemweit­en Dienst.
Installier­en Sie Python für alle Benutzer, das erleichter­t später die Kon guration als systemweit­en Dienst.
 ??  ?? Auf dem AndroidCli­ent surfen Sie am besten zuerst das Webinterfa­ce an und kopieren dann die URL der Sammlung.
Auf dem AndroidCli­ent surfen Sie am besten zuerst das Webinterfa­ce an und kopieren dann die URL der Sammlung.
 ??  ?? Die Android-App
CardDAV Sync erlaubt auch das Kopieren anderer Adressbüch­er (lokal, Google …), um den Radicale-Server schnell zu füttern.
Die Android-App CardDAV Sync erlaubt auch das Kopieren anderer Adressbüch­er (lokal, Google …), um den Radicale-Server schnell zu füttern.
 ??  ??
 ??  ??

Newspapers in German

Newspapers from Germany