Habe mich vor langer Zeit für die Nutzung von Tine 2.0 entschieden, um ohne Googledienste auszukommen, unter anderem deshalb, weil es zu dem Zeitpunkt keine Open Source App gab, die Kalender und Adressbücher ohne Einschränkungen über DAV synchronisieren konnte. Tine20 verwendet zur Synchronisation ActiveSync, welches direkt von Android unterstützt wird.
Doch seit es DAVDroid gibt, haben sich weitere Möglichkeiten aufgetan; nämlich solche, die CalDAV/CardDAV zur Synchronisation verwenden.
Baïkal
Ein ganz leichtgewichtiger Server, der nur genau diese beiden Dinge anbietet, ist Baikal, welcher unter der GPLv3 lizenziert ist. Dieser liefert zusätzlich zu DAV noch ein einfaches Admin-Interface samt Benutzerverwaltung, sonst nichts. Für mich ist die Funktionalität ausreichend; von den Dingen, die Tine 2.0 liefert hatte ich dagegen immer nur einen Bruchteil genutzt.
Baikal nutzt per Voreinstellung zum Speichern der Daten eine SQLite-Datenbank, optional auch MySQL. Doch für die wenigen Daten von mir reicht SQLite völlig aus und das Backup ist somit auch sehr einfach, siehe unten.
Habe deshalb vor wenigen Tagen das Adressbuch und den Kalender von Tine 2.0 nach Baikal migriert.
Herunterladen und installieren
Baikal kann man hier herunterladen; für die Installation gibt es in den herunterladbaren Archiven eine sehr gute Anleitung (INSTALL.md).
Einrichtung
Nach der Installation loggt man sich als Benutzer „admin“ ein; hier ein Screenshot der bereits eingerichteten, lokalen Instanz:
Hier kann man über das Menü „User and ressources“ Benutzer verwalten:
Für jeden neu erstellten Benutzer werden automatisch auch je ein Kalender und ein Adressbuch mit der Token ID „default“ eingerichtet. Es lassen sich auch weitere Kalender/Adressbücher hinzufügen; unterschieden werden sie über die bei der Erzeugung angegebene, eindeutige Token ID, die sich nachträglich nicht mehr ändern lässt.
Pro Kalender lässt sich auch einstellen, ob dieser Aufgaben unterstützt.
Migration der Daten – allgemein
Jetzt fehlen noch die Daten. Um diese nach Baikal zu übertragen, werden die Ressourcen der beiden Server (Tine 2.0 und Baikal) z. B. in Thunderbird oder einem anderen Programm mittels CalDAV/CardDAV (siehe unten) eingebunden und dort von A nach B kopiert.
Migration des Kalenders inklusive der Aufgaben
Da bereits Thunderbird verwendet wird, das von Haus aus CalDAV unterstützt, wurde zusätzlich zum bereits eingebundenen Tine 2.0 Kalender noch der leere von Baikal eingebunden.
Die URL für CalDAV hat das Schema
https://baikalserver/cal.php/calendars/benutzername/Calender token ID
Die „Calender token ID“ ist der eindeutige Name des Kalenders, den man im Admininterface einsehen kann.
Da es nicht viele Kalendereinträge gab, wurden diese einzeln bearbeitet und dem neuen Baikal-Kalender zugewiesen:
Genauso wurde mit den Aufgaben verfahren, die Baikal innerhalb von Kalendern unterstützt, wenn diese bei Erstellung aktiviert wurden.
Migration des Adressbuchs
Dann kann man in Thunderbird dank des installierten AddOns SoGo-Connector das noch leere Adressbuch von Baikal als CardDAV einbinden, alle Einträge des Tine 2.0 Adressbuchs markieren und nach Baikal kopieren.
Als URL für CardDAV nutzt man das Schema
https://baikalserver/card.php/addressbooks/benutzername/Address Book token ID
Die „Address Book token ID“ ist der eindeutige Name des Adressbuchs, den man im Admininterface einsehen kann.
Abschluss der Migration
Nun können in Thunderbird die Ressourcen von Tine 2.0 entfernt werden. Zur Sicherheit sollte man die alten Daten jedoch noch als Backup vorhalten.
Backup auf dem Webserver einrichten
Das ist der angenehme Teil; man muss nur die SQLite-Datenbankdatei „Specific/db“ im Hauptverzeichnis von Baikal sichern. Mir ist nicht bekannt, ob die Datenbank gecached wird, von daher könnte man den Webserver für das Backup kurz anhalten.
Einrichtung auf Android
Wie oben schon geschrieben, benötigt man DAVDroid, um sich mit Baikal synchronisieren zu können, siehe hier.
Man muss dann zwei Konten des Typs DAVDroid erstellen, eines für das Adressbuch und das andere für den Kalender; die URLs sind dabei dieselben, die bereits im Abschnitt Migration erwähnt wurden.
Aufgaben in Android
Die Aufgaben stehen bisher nicht in Android zur Verfügung sondern nur in Thunderbird, was aber an der nicht vorhandenen App dafür liegt; dazu später mehr.
Doch aktuell verwende ich für Aufgaben fast ausschließlich eine Todo-Textdatei.
Ressourcenverbrauch
Tine 2.0 und Apache benötigten zusammen ungefähr 180 MiB. Baikal mit Apache kommt auf ~ 60 MiB, MySQL fällt ganz weg.
Dadurch konnte die RAM-Zuweisung der virtuelle Maschine des lokalen Webservers auf 80 MiB RAM heruntergestellt werden.
\o/
Passt :)
Tipp: Wer KDE SC nutzt, kann den Kalender in korganizer einrichten, um im Uhr-Widget die nächsten Termine sehen zu können.
Kommentare
Bisher gibt es hier keine Kommentare.
Kommentar oder Anmerkung für diesen Blogbeitrag
Öffentlicher Kommentar per E-Mail: Hier klicken
Nicht öffentliche Anmerkung per E-Mail: Hier klicken
Sonstige Kontaktaufnahme: Kontakt