RadicaleCalDAVServer

Aus Hostsharing Wiki
Version vom 28. Dezember 2011, 11:32 Uhr von Hsh00-peh (Diskussion | Beiträge) (Installationanleitung)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen

Radicale CalDAV Server

CalDAV ist eine Erweiterung des WebDAV (und damit des HTTP-Protokolls), um Kalenderdaten (Termine und Aufgaben) auf einem Server zu speichern.

Apple nutzt diese Protokoll für seine Clients (iCal-Anwendung und Kalender-App auf dem iPhone) und bietet einen entsprechenden Server an. Dadurch gewinnt CalDAV zunehmende Bedeutung.

Wenn man freie Software einsetzen will, bieten sich folgende Anwendungen an:

In diesem Artikel wird die Installation eines CalDAV-Server in einem normalen Hostsharing-Paket beschrieben, als leichtgewichtigen Server nutze ich den Radicale CalDAV Server. Der Server kann mit Hilfe von Flup als FastCGI Server betrieben werden.

Installation

Vorbereitung

Ich lege mit HSAdmin einen User xyz00-cal an und schalte eine Domain cal.example.org auf.

Download und Entpacken der Pakete

  • Radicale Download: [1], die aktuelle Version beim Schreiben des Artikel: 0.6.3
  • Flup Download: [2], aktuell ist heute: 1.0.2

als User xyz00-cal:

 wget http://www.saddi.com/software/flup/dist/flup-1.0.2.tar.gz
 wget http://pypi.python.org/packages/source/R/Radicale/Radicale-0.6.3.tar.gz
 tar xzf flup-1.0.2.tar.gz
 tar xzf Radicale-0.6.3.tar.gz

Installation der Python Eggs

Die Eggs sollen jeweils im Verzeichnis des aktuellen Users installiert werden. Der Aufruf des Setup-Skripts dazu:

 cd ~/flup-1.0.2
 python setup.py install --user
 cd ~/Radicale-0.6.3
 python setup.py install --user

Danach sollten sich im Unterverzeichnis ~/.local/ die entsprechenden Python-Skripte finden:

 ls -l ~/.local/bin/ ~/.local/lib/python2.6/site-packages/
/home/pacs/xyz00/users/cal/.local/bin/:
total 4
-rwxr-xr-x 1 xyz00-cal xyz00 1001 Dec 28 12:04 radicale

/home/pacs/xyz00/users/cal/.local/lib/python2.6/site-packages/:
total 12
-rw-r--r-- 1 xyz00-cal xyz00 1797 Dec 28 12:04 Radicale-0.6.3.egg-info
-rw-r--r-- 1 xyz00-cal xyz00  208 Dec 28 12:01 easy-install.pth
drwxr-xr-x 4 xyz00-cal xyz00   32 Dec 28 12:01 flup-1.0.2-py2.6.egg
drwxr-xr-x 3 xyz00-cal xyz00 4096 Dec 28 12:04 radicale

FastCGI Konfiguration

Wir wechseln in das Domain-Verzeichnis ~/doms/cal.example.org/. Dort legen wir folgende Dateien an:

~/doms/cal.example.org/fastcgi/radicale.fcgi bzw. ~/doms/cal.example.org/fastcgi-ssl/radicale.fcgi

#!/usr/bin/env python
from flup.server.fcgi import WSGIServer
import radicale
radicale.log.start()
app = radicale.Application()
WSGIServer(app).run()

~/doms/cal.example.org/htdocs/.htaccess bzw. ~/doms/cal.example.org/htdocs-ssl/.htaccess

AuthType Basic
AuthName "Radicale Calendar Server"
require valid-user
AuthUserFile /home/pacs/xyz00/users/cal/.htpasswd
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_FILENAME} radicale.fcgi$
RewriteRule ^(.*)$ /fastcgi-bin/radicale.fcgi [QSA,L]

Es fehlt noch das Anlegen der ~/.htpasswd-Datei mit den verschlüsselten Passworten der User. Dazu rufen wir (für die User hans und franz) folgendes Kommando auf (htpasswd -c erzeugt die Datei):

 htpasswd -c ~/.htpasswd hans
 htpasswd ~/.htpasswd hans
 ...

An dieser Stelle sollte ein Aufruf von http://cal.example.org im Browser nach Eingabe des Passwortes für hans oder franz die folgende Seite liefern: Radicale works!