Das Verfahren gilt als sicher, da der Browser die Daten auf Client-Seite ver- und entschlüsselt. Da Mozilla den Schlüssel nicht besitzt, kann es auf die Daten nicht zugreifen. Trotz dieses vorbildlichen Verfahrens spricht vieles dafür, den Sync-Server selbst zu betreiben – nicht zuletzt die Tatsache, dass dies das Ausspionieren der Daten erheblich erschwert.
Der ursprüngliche Server ist zwar in Python implementiert, in unserem Fall verwenden wir jedoch die schlanke PHP-Variante FSyncMS (Firefox-Sync Minimal Server) [4] . Dazu entpacken Sie das Paket im Wurzelverzeichnis /var/www/ des Webservers (siehe Befehle Listing 2). Der Mv-Befehl gestaltet den Pfad etwas eingängiger, chown sorgt für die richtigen Rechte. Gespeichert werden die Daten in einer SQLite3-Datenbank, dafür installiert das Skript auch noch das notwendige PHP-Modul.
Listing 2
#!/bin/sh # FSyncMS installieren wget https://www.dataharbour.de/FSyncMS.tar.gz if [ -f FSyncMS.tar.gz ]; then tar -xvzpf FSyncMS.tar.gz -C /var/www mv /var/www/FSyncMS /var/www/ffsync chown -R www-data:www-data /var/www/ffsync rm -f FSyncMS.tar.gz fi # PHP5-Schnittstelle zu SQLite installieren apt-get update apt-get install php5-sqlite /etc/init.d/lighttpd restart
Für die initiale Konfiguration des Sync-Servers rufen Sie die Seite http://RasPi-IP/ffsync/ auf. Wichtig: Löschen Sie danach die Datei setup.php im Installationsverzeichnis. Kontrollieren Sie außerdem den Inhalt der Datei settings.php, insbesondere den Pfad des Servers müssen Sie eventuell noch anpassen. Möchten Sie den Server über das Internet anbinden, sollten Sie noch die SQLite-Datei aus dem Webserver-Verzeichnis verschieben und den neuen Pfad ebenfalls in der Konfigurationsdatei ändern.
Die Installation dauert insgesamt nur wenige Minuten. Ob alles geklappt hat, zeigt die Statusseite http://RasPi-IP/ffsync/index.php/. Als Antwort erhalten Sie zwar eine Fehlermeldung, die Ihnen aber zeigt, dass der Server die Anfrage verarbeitet.
Danach gilt es nur noch, einen Account einzurichten und die Firefox-Browser aller beteiligten Geräte an diesen Account zu binden. Dazu öffnen Sie im Browser via Bearbeiten | Einstellungen… die Firefox-Einstellungen und wechseln darin in den Abschnitt Sync. Hier klicken Sie auf Firefox-Sync einrichten. Im nächsten Dialog wählen Sie Neues Benutzerkonto anlegen und füllen die Felder entsprechend aus (Abbildung 3).

Abbildung 3: Firefox erlaubt es problemlos, mehrere Installationen über einen zentralen Server – in unserem Fall auf einem Raspberry Pi – zu synchronisieren.
Neue Geräte fügen Sie auch über das Sync-Menü hinzu. Hier müssen Sie den bestehenden Account verwenden. Anschließend erhalten Sie einen dreimal dreistelligen Sicherheitscode, den Sie am ersten Rechner unter Gerät verbinden eingeben. Eventuell vorhandene Fehlerberichte rufen Sie über die Pseudo-URL about:sync-log direkt im Browser ab.
Termine und Adressen
Fast jeder Smartphone-Nutzer synchronisiert seine Termin- und Kalenderdaten mit dem Hersteller seines Betriebssystems, meist Google oder Apple. Damit kommen schutzwürdige Daten in die Hände von Dritten. Verschiedene Open-Source-Projekte versuchen hier eine freie Alternative zu bieten, eine der bekanntesten davon heißt Owncloud.
Allerdings kämpft das Projekt seit den ersten Versionen mit Performance- und Stabilitätsproblemen. Statt diese zu lösen, bauen die Entwickler von Version zu Version weitere “coole” Features ein – sehr zum Leidwesen der Anwender. Der einzige Vorteil von Owncloud: Diverse Provider bieten Owncloud-Instanzen oder Accounts sehr günstig an, was im hiesigen Szenario allerdings wenig hilft.
Owncloud wirbt mit der Sicherheit der Daten, die es nur verschlüsselt auf den Servern der Provider ablegt. Was die Firma verschweigt: Das gilt nicht für Termin- und Kalenderdaten. Auf beide greifen Clients mit den Protokollen CalDAV beziehungsweise CardDAV zu, die keinen Support für die clientseitige Verschlüsselung der Daten bieten – der Transport erfolgt per HTTPS.
Grund genug, die Daten selbst zu hosten. Aus Gründen der Performance und Stabilität bietet sich aber Baikal [5] als bessere Alternative an. Das Tool beherrscht zwar nur das Synchronisieren von Termin- und Adressdaten über das CalDAV- beziehungsweise CardDAV-Protokoll, dafür aber ohne Fehl und Tadel. Groupware-Funktionen wie öffentliche Kalender und Terminplanung über Kalender hinweg unterstützt es nicht.
Baikal installieren
Am einfachsten installieren Sie Baikal mit dem Skript aus Listing 3. Dieses lädt das Paket in das Verzeichnis /var/www/baikal des Webservers und schaltet die initiale Konfiguration frei. Zeile 10 erzeugt dafür eine leere Datei, die nach der Erstkonfiguration wieder verschwindet.
Listing 3
#!/bin/bash
VERSION="0.2.6"
# Download und Entpacken
wget http://baikal-server.com/get/baikal-flat-${VERSION}.zip
if [ -f baikal-flat-${VERSION}.zip ]; then
unzip baikal-flat-${VERSION}.zip -d /var/www
mv /var/www/baikal-flat /var/www/baikal
touch /var/www/baikal/Specific/ENABLE_INSTALL
chown -R www-data:www-data /var/www/baikal
rm -f baikal-flat-${VERSION}.zip
fi
Die webbasierte Erstkonfiguration erreichen Sie über den Browser unter http://RasPi-IP/baikal/. Sie beschränkt sich auf die Eingabe der Zeitzone und des Admin-Passworts. Danach melden Sie sich als Admin unter http://RasPi-IP/baikal/admin/ an und definieren Benutzer und Kalender (Abbildung 4).





