Vielleicht kennen einige das Problem. Man hat einen Kalender der ueber den Browser erreichbar ist, einen auf dem lokalen Rechner und einem im Handy. Schoener waere es doch, eine einzige Ressource zu haben, in dem unsere Termine und Aufgaben stehen. Aber nicht nur das. Man hat vielleicht Freunde, Familie oder Partner denen man Zugriff auf seinen Kalender geben moechte, damit man leichter Terminabsprachen treffen kann. Diese wollen dieses System vielleicht auch nutzen, so dass man auch deren Termine im Ueberblick hat. Ich erklaere euch hier, wie ihr dies mit einfachen mitteln und dem iCalendar Standard hinbekommt.
Ich gehe hierbei davon aus, dass ihr auf einem zentralen Debian lenny Server der erreichbar ist, einen apache2 installiert und konfiguriert habt. Am besten mit HTTPS, da ihr eure Termine bestimmt nicht unverschluesselt ueber das Netz transportieren wollt.
Wir nutzen fuer den Austausch der iCalendar Datei, in der unsere Termine und Aufgaben stehen, den WebDAV Dienst. Hierzu aktivieren wir auf unserem Server erst einmal die benoetigten Module.
Wenn wir nun den Ordner erstellt haben, alle Rechte vergeben haben, legen wir einen Nutzer an, mit dem wir auf unsere Kalender zugreifen koennen. Denn wir wollen ja nicht, dass jeder aus dem Internet darauf Zugriff hat.
Nun geben wir noch unser Passwort ein, wenn wir dannach gefragt werden und bestaetigen dieses. Jetzt haben wir den Nutzer "tux" erstellt. Nun muessen wir noch unsere Konfigurationsdatei des apache2 anpassen, unter dem der Kalender erreichbar sein soll. Ich gehe in dieser Beschreibung davon aus, dass eine Konfigurationsdatei "beispiel.de" existiert, die ueber die Domain "beispiel.de" erreichbar ist. Diese ist fuer den HTTPS Betrieb konfiguriert. Dann fuegen wir nun folgende Zeilen der Datei /etc/apache2/sites-available/beispiel.de hinzu:
[...]
Alias /calendar "/home/tux/webdav/calendar"
<Directory /home/tux/webdav/calendar>
Options MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
Wenn wir dieses getan haben, starten wir unseren apache2 neu.
zentralerserver:~# /etc/init.d/apache2 restart
Nun koennen wir unser Webdav Verzeichnis ueber https://beispiel.de/calendar erreichen. Wir werden, wenn wir dieses im Browser eingeben, nach Nutzername und Passwort gefragt. Hier koennt ihr die Zugangsdaten eures eben erstellten Nutzers eingeben und ihr erlangt Zugriff. Nun ist euer WebDAV erfolgreich eingerichtet.
Nun ladet ihr euch die aktuelle Version von Sunbird herunter (zur Zeit des Tutorials war dieses die Version 0.9) und installiert es auf eurem Rechner. Wenn ihr dieses getan habt, startet ihr Sunbird. Ihr erstellt nun einen neuen Kalender und gebt an, dass dieser im Netzwerk sein soll. Hier waehlt ihr iCalendar aus und gebt die Adresse "https://beispiel.de/calendar/test.ics" ein. Anschliessend werdet ihr nach einem Nutzernamen und Passwort gefragt. Hier gebt ihr die Zugangsdaten eures vorher angelegten Nutzers an. Und schon ist der Kalender, der zentral gespeichert wird, fertig.
Solltet ihr diesen Kalender an mehreren Rechnern mit Sunbird nutzen, koennt ihr mit "Subscribe to Remote Calendar" und der Angabe der Adresse auf diesen Zugreifen. Achtet hier bei darauf, dass ein gleichzeitiges Arbeiten an einer Kalenderdatei von mehreren Personen zu Fehlern bzw Datenverlust fuehren kann. Erstellt fuer jeden Nutzer am besten eine eigene Kalenderdatei. Weitere Informationen ueber Sunbird und iCalendar findet ihr hier.
Der Caching Modus ist in der Version 0.9 von Sunbird noch experimentell und hat bei meinen Tests zu sehr vielen Fehlern gefuehrt (der Laptop sollte auch Offline auf den Kalender zugreifen koennen). Dies kann man leicht umgehen, in dem ein lokaler iCalender erstellt wird und dieser dann nach Bearbeitung mit der Option "Publish Calendar" auf den WebDAV Server geladen wird. Hierbei werden allerdings alle Aenderungen die waehrend dessen Online an der Kalenderdatei gemacht wurden verloren. Deshalb solltet ihr die zentrale Kalenderdatei in diesem Fall nur als Read-Only benutzen.
Horde ist ein sehr gutes Framework und eine sehr starke PHP-Groupware. Wenn ihr diese nutzt und eingerichtet habt, koennt ihr den Kalender von Horde namens Kronolith so einrichten, dass dieser Read-Only auf eure Kalenderdatei zugreift. Hierzu koennt ihr wenn ihr den Kalender aufgerufen habt auf der rechten Seite auf "Kalender verwalten" klicken und einen neuen externen Kalender abonnieren. Hier gebt ihr auch wieder als Adresse "https://beispiel.de/calendar/test.ics" ein und euren Nutzernamen und Passwort. Wenn ihr dieses getan habt, zeigt euch Kronolith den externen Kalender an. Nun habt ihr auch ein Portal ueber welches ihr mit dem Browser auf eure Termine zugreifen koennt.