Radicale

Radicale. CardDAV und CalDAV Server.

Installation

Aus AUR:

yaourt -S -A radicale

User erstellen

useradd -d /home/radicale/ -U -m -s /usr/bin/nologin radicale

Systemd Startskript

[Unit]
Description=RadiCAL Server
After=syslog.target network.target

[Service]
Type=simple
ExecStart=/usr/bin/radicale -f
User=radicale
Group=radicale

[Install]
WantedBy=multi-user.target

Danach Start und Stop des Servers:

systemctl start|stop|restart radicale

Konfiguration

Radicale wird hier hinter einem Apache installiert. Zugriff nur gesichert über den Apache. Verzeichnis für die Dateien ist /home/radicale. Jeder User hat nur Zugriff auf seine Daten.

Konfigurationsdatei ist /etc/radicale/config.

Radicale hinter Apache

In Radicales Konfiguration

[server]

hosts = 127.0.0.1:5232
dns_lookup = False
daemon = True
base_prefix = /

[rights]

type = owner_only
file = /etc/radicale/rights

[storage]

type = filesystem
filesystem_folder = /home/radicale

In Apache Konfiguration:

<VirtualHost *:80>
       ServerName [url]
       RewriteEngine On
       RewriteCond %{HTTPS} off
       RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</VirtualHost>
<VirtualHost *:443>
       ServerName [url]
       ProxyRequests Off
       ProxyPreserveHost On
       ProxyPass / http://localhost:5232/
       SSLEngine on
       <Proxy *>
            AuthType Basic
            AuthName "Sync"
            AuthUserFile /etc/httpd/conf/radicale.passwords
            Require valid-user
       </Proxy>
</VirtualHost>

Logging

In der Konfiguration die Loggingkonfigurationsdatei angeben

[logging]

config = /etc/radicale/logging
debug = False
full_environment = False

und erstellen:

# Loggers, handlers and formatters keys

[loggers]
# Loggers names, main configuration slots
keys = root

[handlers]
# Logging handlers, defining logging output methods
keys = console,file

[formatters]
# Logging formatters
keys = simple,full


# Loggers

[logger_root]
# Root logger
level = DEBUG
handlers = file
# Enable the following instead if you also want console logging
#handlers = console,file


# Handlers

[handler_console]
# Console handler
class = StreamHandler
level = DEBUG
args = (sys.stdout,)
formatter = simple

[handler_file]
# File handler
class = FileHandler
args = ('/etc/radicale/radicale.log',)
level = INFO
formatter = full


# Formatters

[formatter_simple]
# Simple output format
format = %(message)s

[formatter_full]
# Full output format
format = %(asctime)s - %(levelname)s: %(message)s

Test der Installation

Radicale im Debugmodus starten:

radicale -D

Mit der Standardkonfiguration horcht der Server auf Port 5232:

nmap localhost -p5232
...
PORT     STATE SERVICE
5232/tcp open  sgi-dgl

Die Request für Kalender sollten die Form

[url]/[user]/[name].ics/

haben und für die Adressbücher analog:

[url]/[user]/[name].vcf/

Clients

Outlook

Thunderbird

Thunderbird benötigt für CalDAV die Lightning Extension und für CardDAV den SOGo Connector. Letztere als Datei herunterladen und installieren.

Hilfe http://www.rz.uni-greifswald.de/dienste/groupware/synchronisation/carddav-thunderbird.html