DAViCal

Aus DebianforumWiki
Zur Navigation springen Zur Suche springen
Wiki ‹ Weitere Dienste ‹ DAViCal


Getestet.png 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.png 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:

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: Debianpackage.png davical (optional: Debianpackage.png 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.png 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.

DAViCal Anmeldefenster.

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/