Table of Contents

calendar and addressbook server

Application of choice is radicale. Lightweight, filesystembased storage and localusers. Well suited for large but also for small environments. Implements only the serverside part of the functionality.

install

Use a minimal debian-8 (jessie). This version has the latest version 0.8 of radicale in the repository.

Install the software with:

apt-get install  radicale python-radicale

This creates also an operatingsystem user and group radicale, a convenient start-script, and a subdir /var/log/radicale for the logfile.

Edit /etc/default/radicale to enable automatic start at boot.

Make a directory (filesystem) for the calendar and addressbook datastore:

mkdir /data/radicale
chown radicale:radicale /data/radicale

Edit the main config-file for radicale /etc/radicale/config

[server]
hosts = 0.0.0.0:5232
daemon = True
pid =
ssl = True
certificate = /etc/radicale/ssl_caldav.example.com_pub-cert.pem
key = /etc/radicale/ssl_caldav.example.com_priv-key.pem

[encoding]
request = utf-8
stock = utf-8

[auth]
type = htpasswd
private_users = fred,dough,michelle
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = crypt

[rights]
type = owner_only

[storage]
type = filesystem
filesystem_folder = /data/radicale/collections

[logging]
config = /etc/radicale/logging
debug = False
full_environment = True

Set the debug parameter to True during installation and testing to get more information.

Create a username-password file for radicale. This /etc/radicale/users and in the format of a .htpasswd file used by the apache-httpd. The htpasswd-tool is not installed as a dependency. By default radicale is only capable of using sha1 or crypt, so use the -d flag when using the htpasswd-tool.

dough:0123456789aBc
fred:0123456789Abc
michelle:0123456789abC

See this howto for using the better bcrypt http://evilshit.wordpress.com/2013/11/19/how-to-install-a-caldav-and-carddav-server-using-radicale/.

using the service

The client-config will be something like this:

For the calendar of Fred:

https://caldav.example.com:5232/fred/calendar.ics

username = fred
pw       = verysecret

For the addressbook of Fred change the url to:

https://carddav.example.com:5232/fred/AddressBook.vcf