DAViCal
Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.
|
Review: Dieser Artikel ist für das Review freigegeben.
|
DAViCal (ehemals "Really Simple CalDAV Store" bzw. RSCDS) ist ein Kalenderserver, welcher das CalDAV-Protokoll implementiert. Das CalDAV-Protokoll erweitert das HTTP- bzw. das WebDAV-Protokoll um Zugriffsicherungs- und Auswertungsfunktionen für das Kalenderaustauschformat iCalendar. Der Server selbst ist in PHP 5 programmiert und verwendet für die Verwaltung der Daten eine PostgreSQL-Datenbank.
Es können verschiedene Arten von Nutzern definiert werden, welche Kalender schreiben, lesen oder auch nur freie Termine einer anderen Person einsehen dürfen. Die Kalender können mit diversen Programmen abgerufen und modifiziert werden. Auch Mobilgeräte und Telefone sind teilweise in der Lage, sich mit den (online) veröffentlichten Kalendern zu synchronisieren. Unter anderem können die folgenden Client-Programme bzw. Geräte mit DAViCal verwendet werden:
- Evolution
- Icedove mit der Erweiterung Iceowl
- Kontact
- Rainlendar
- Mulberry
- iCal
- iPhone
- DAVDroid
- CalDAV Sync Adapter
- aCal
Installation
Vorraussetzungen
Zur korrekten Funktion wird Apache, PHP 5 und PostgreSQL benötigt. Diese werden jedoch durch die Abhängigkeit von DAViCal automatisch mitinstalliert.
Paketquelle
DAViCal ist in den offiziellen Paketquellen enthalten. Folgendes Paket muss installiert werden: davical (optional: davical-doc)
root@debian:~# apt-get install davical
Konfiguration
Apache
DAViCal kann mit verschiedenen Webservern und PHP ab 5.1 arbeiten. Die Webserver können dann die Daten als Virtueller Host oder als simuliertes Unterverzeichnis zurück liefern. Die letztere, auch als Alias bezeichnete Variante wird im folgenden betrachtet.
Apache 2.2 (Wheezy)
Für Apache Version 2.2 kann eine Konfigurationsdatei als /etc/apache2/conf.d/davical.conf abgespeichert werden. Dazu die folgenden Zeilen entsprechend anpassen:
## /etc/apache2/conf.d/davical.conf
# <IfModule mod_ssl.c> Alias /davical /usr/share/davical/htdocs <Directory /usr/share/davical/htdocs>
Options Indexes DirectoryIndex index.php php_flag magic_quotes_gpc Off php_flag register_globals Off php_value include_path /usr/share/awl/inc </Directory> # </IfModule>
Apache 2.4 (Jessie)
Für Apache Version 2.4 liegt die Konfigurationsdatei in /etc/apache2/conf-available/ und wird mit einem symbolischen Link in /etc/apache2/conf-enabled/ gespiegelt. Sie lautet:
## /etc/apache2/conf-available/davical.conf
# <IfModule mod_ssl.c> Alias /davical /usr/share/davical/htdocs <Directory /usr/share/davical/htdocs>
Require all granted Options Indexes DirectoryIndex index.php php_flag magic_quotes_gpc Off php_flag register_globals Off </Directory> # </IfModule>
Der symbolische Link wird erzeugt mit
root@debian:~# ln -s /etc/apache2/conf-available/davical.conf /etc/apache2/conf-enabled/davical.conf
Nach Änderungen in den Konfigurationsdateien muss der Webserver (Apache) neu gestartet werden.
root@debian:~# /etc/init.d/apache2 restart
Wer nur SSL-verschlüsselte Verbindungen erlauben will, kann die #-Kommentarzeichen vor den Zeilen mit <IfModule ...> und </IfModule> entfernen.
DAViCal
Im Verzeichnis /etc/davical/ wird eine Datei mit dem Namen config.php erstellt und der folgende Inhalt mit einem Texteditor eingetragen:
<?php $c->default_locale = "de_DE"; // Diesen String verwenden, wenn die Datenbank auf dem gleichen Host betrieben // wird, wie das Webinterface. $c->pg_connect[] = 'dbname=davical user=davical_app'; // Wenn der Datenbankserver auf einer anderen Maschine läuft, diesen String verwenden. // $c->pg_connect[] = 'dbname=davical user=davical_app host=HOSTNAME port=5432'; ?>
Die Konfigurationsdatei muss für den Apache lesbar sein. Diese erreicht man, indem man die Leserechte für andere Benutzer setzt.
root@debian:~# chmod 644 /etc/davical/config.php
PostgreSQL
Zuerst müssen in der PostgreSQL-Datenbank die Benutzer für DAViCal angelegt werden. Dafür wird ein Terminal mit geöffnet und der folgende Befehl eingegeben:
root@debian:~# su - postgres
dann sieht die Shell wie folgt aus:
postgres@$DEIN:COMPUTER_NAME:~$
Nun muss man den Befehl
psql
eingeben und erhält dann eine Shell, die so anfängt
psql (9.4beta3) Geben Sie „help“ für Hilfe ein.
postgres=#
Jetzt gibt man die Befehle
postgres createuser davical_app postgres createuser davical_dba
Und beendet danach diese "postgres-Shell" mit
\q
Und melden den Benutzer "postgres" mit
exit
ab. Jetzt müssen noch die Zugriffsrechte der beiden Nutzer für die PostgreSQL-Datenbank eingerichtet werden. Dazu wird die Konfigurationsdatei /etc/postgresql/9.4/main/pg_hba.conf mit einem Editor und Root-Rechten geöffnet
root@debian:~# nano /etc/postgresql/9.6/main/pg_hba.conf
und die folgenden Zeilen ganz am Anfang der Datei eigefügt.
# TYPE DATABASE USER CIDR-ADDRESS METHOD ## DAViCal darf sich lokal OHNE passwort anmelden. local davical davical_dba trust local davical davical_app trust
Damit die Änderungen wirksam werden, muss der Datenbankserver neu gestartet werden:
root@debian:~# /etc/init.d/postgresql restart
Anschließend wird mit einem Skript die DAViCal-Datenbank angelegt: {{RootShell|su postgres -s /usr/share/davical/dba/create-database.sh
Hinweis: Dieses Passwort sollte man sich notieren. Andernfalls muss man die Datenbank nochmal löschen und neu anlegen. Es kann und sollte später über das Webinterface geändert werden. Das Passwort steht in jedem Fall auch als Klartext in der Datenbank. Bei entsprechender Konfiguration und Verwendung von SSL-Verschlüsselung (https://) ist dies jedoch vernachlässigbar. |
Damit ist die Grundkonfiguration abgeschlossen und man kann sich mit der Erstellung von Benutzern und Ressourcen beschäftigen.
Anwendung
Administration
Man erreicht die Weboberfläche unter der Adresse:
oder
- http://<IP-Adresse>/davical/
auf die Verwaltung zugreifen und Benutzer und deren Rechte einrichten. Der Anmeldename ist admin und das Passwort ist das Passwort aus der Datenbankerstellung. Als Erstes sollte das Passwort geändert werden. Für einen schnellen Funktionstest ist es ausreichend, einen neuen Benutzer nur mit Benutzername und Passwort anzulegen.
Empfehlenswert ist auf jeden Fall ein Blick in die umfangreiche Dokumentation, um z.B. Gruppen festzulegen, damit Benutzer auch untereinander Kalenderdaten austauschen können (siehe auch Clarification of user types and relationships.
Clients
Der Zugriff mit einem geeignetem Clientprogramm erfolgt grundsätzlich über die Adresse (URL) des DAViCal-Servers:
http://<IP-Adresse-des-DAVical-Servers>/davical/caldav.php/<Benutzername>/home/
Das Verzeichnis /home ist der Standardkalender. Konfigurationsanleitungen mit Bildern für einzelnen Clients gibt es auf der Webseite Client Configuration.
Ab Version 0.9.9.5 (Wheezy) ist der Kalender über folgende URL erreichbar:
http://<IP-Adresse-des-DAVical-Servers>/davical/caldav.php/<Benutzername>/calendar/