Nein, es geht hier nicht um den gleichnamigen See, sondern um einen Adressbuch- und Kalender-Server đ . Bisher habe ich dafĂŒr jahrelang die Google-Dienste verwendet, weil die:
- so einfach einzurichten sind
- auf allen möglichen GerĂ€teklassen verfĂŒgbar sind
- wirklich gut und zuverlÀssig funktionieren
- Ich an das Google-GrĂŒnder-Motto ‘don’t be evil’ halt doch irgendwie geglaubt habe, aber das hat sich ja inzwischen erledigt…
Aber, wie jeder weiss, haben all die schönen ‘kostenlosen’ Helferlein ihren Preis: die PrivatsphĂ€re des Anwenders. Ich bin zwar der Meinung, dass Google da immer noch besser ist als z.B. Facebook, weil sie die gesammelten Informationen ’nur’ selber nutzen und nicht weiterverkaufen, aber wer weiss schon wirklich, was da alles passiert ? Oder was sie in Zukunft alles damit machen werden ?
Und genau deswegen habe ich nun mal wieder einen Anlauf unternommen und auf meinem WebhostingÂ
Baikal
 installiert. Das hatte ich vor Jahren zwar schonmal gemacht, und es hatte auch funktioniert, jedoch hatte ich damals noch kein SSL Zertifikat und damit keine Sicherheit gegen ‘man-in-the-middle-attacks’ oder Ă€hnliches.
Deswegen hatte ich das dann wieder zu den Akten gelegt. Dieses Problem ist nun dank
Let’s Encrypt
 mittlerweile gelöst, und so habe ich nun einen neuen Anlauf gemacht. Also erstmal Baikal gemÀss Doku installiert und eingerichtet, und gleich noch nach ein paar Tips und Tricks gesucht, um das optimal in meine IT-Landschaft zu integrieren.
Auf dem Desktop benutze ich fast ausschliesslich die KDE PIM Suite (Kmail/Kaddressbook/Kalendar) und mobil die entsprechenden Google Apps (Kontakte, Kalender). Und genau das alles sollte natĂŒrlich mit Baikal funktionieren. Und nach ein wenig Herumprobieren tat es das dann auch đ . Die wichtigsten Punkte sind:
- Auth Typ ‘Basic’ einstellen (nicht ‘Digest’)
- Im Client die richtige URL eintragen: ‘<SERVER>/baikal/html/dav.php’
Zu den Clients noch folgende Anmerkungen: Die KDE PIM Suite ist sozusagen selbsterklĂ€rend, man muss hier eben fĂŒr den Kalender bzw. das Adressbuch eine DAV-Groupware Ressource wĂ€hlen und die dann entsprechend dem Server konfigurieren.
Sobald das gemacht ist, können einfach die bisher verwendeten (Google-) Kalender bzw. Adressdaten als ical bzw. vcard Dateien exportiert werden - diese werden dann in die Baikal Ressource importiert. FĂŒr Android eignet sich am besten das freie DAVdroid, aus dem F-Droid Projekt:Â
DAVdroid
.
Dieses ist keine selbstĂ€ndige App zum Abrufen/Ansehen/Bearbeiten von Terminen und Kontakten, sondern lediglich eine Ressource, die sich in den Konten verankert und automatisch die Synchronisierung der Adress- und Kalenderdaten mit dem Server vornimmt. In den eigentlichen Anwender-Apps (Kalender/Kontakte) kann man dann einstellen, welche Ressource fĂŒr die Anzeige/Bearbeitung verwendet werden soll. Per Default sind das natĂŒrlich die Google Ressourcen - und wenn bis dahin alles richtig konfiguriert wurde, kann man nun einfach die Baikal-Ressourcen aktivieren und die von Google deaktivieren - fertig đ .
Ansonsten gibt es natĂŒrlich auch Anleitungen, wie man andere gĂ€ngige Programme zur Zusammenarbeit mit Baikal bewegt, siehe z.B.Â
TBird mit CardBook
 oderÂ
Lightning mit Baikal
 .
Nachtrag (18.09.18):
gerade selber ausprobiert: Mit TBird ist es doch etwas tricky đ - man braucht fĂŒr CalDav das Addon Lightning, das zwar selber bereits CalDav beherrscht, wichtig ist aber hier die korrekte Konfiguration der kompletten Kalender-URL in der Form <SERVER>/baikal/html/dav.php/calendars/<username>/<calendartoken> (das Standard-Token heisst ‘default’). FĂŒr das Adressbuch habe ich das Addon SogoConnector installiert, hier gilt fĂŒr die Konfiguration prinzipiell dasselbe wie fĂŒr Lightning, die korrekte URL heisst hier <SERVER>/baikal/html/dav.php/addressbook/<username>/<addressbooktoken> .
Wie immer, habe ich diese ‘Anleitung’ erstmal fĂŒr mich selbst als Referenz geschrieben, aber evtl. hilft das auch jemand anderem ? Nachtrag (20.09.18): Und noch ein cooler Zusatz:
InfCloud
. Damit hat man dann auch noch ein Webinterface fĂŒr den Baikal Kalender und das Adressbuch, sogar noch schöner als das Google Zeug đ . Mit ein wenig Probieren ergab sich die richtige Konfiguration in der Datei config.js wie folgt:
var globalNetworkCheckSettings={
href: location.protocol+'//'+location.hostname+'/baikal/html/dav.php/principals/'+
(location.port ? ':'+location.port: ''),
timeOut: 90000,
lockTimeOut: 10000,
checkContentType: true,
settingsAccount: true,
delegation: true,
additionalResources: [],
hrefLabel: null,
forceReadOnly: null,
ignoreAlarms: false,
backgroundCalendars: []
}
Und noch eine Anmerkung - da mein Hosting Paket den Editor ’ed’ nicht beinhaltet, wohl aber den Stream Editor ‘sed’, ist folgende Anpassung am Cache-Update Script cache_update.sh notwendig:
#! /bin/bash
# Use this script every time you modify any file to force browsers to reload it (empty HTML5 cache).
#command -v ed &> /dev/null || { echo "Error: 'ed' not installed. Aborting." > /dev/stderr; exit 1; }
#printf ",s/#V.*/#V $(date '+%Y%m%d%H%M%S')/\nw\nq\n" | sed -s cache.manifest
command -v sed &> /dev/null || { echo "Error: 'sed' not installed. Aborting." > /dev/stderr; exit 1; }
newd=$(date '+%Y%m%d%H%M%S')
echo $newd | sed -i 's/#V.*/#V '$newd'/' cache.manifest