CalDAV-/CardDAV-Server mit Radicale unter Debian 9

Radicale ist in Python 3 geschrieben und benötigt ein paar Abhängigkeiten:

sudo apt-get install python3 python3-pip python3-setuptools python3-wheel python3-passlib python3-bcrypt apache2-utils

Für Radicale wird ein eigener Nutzer angelegt. Dadurch müllt man sich das System nicht zu, weil die gesamte Installation und Konfiguration unterhalb des Home-Verzeichnis des Nutzers liegt. Und Security-technisch macht das sowieso Sinn..

sudo adduser radicale

Soweit nicht anders angegeben, werden alle nachfolgenden Schritte mit diesem Nutzer ausgeführt.

python3 -m pip install --user --upgrade radicale

Verzeichnisse für die Konfiguration anlegen:

mkdir -p ~/.config/radicale
mkdir -p ~/.var/lib/radicale/collections

Nutzer anlegen, user1 dabei durch den gewünschten Nutzernamen ersetzen:

htpasswd -B -c ~/.config/radicale/users user1

Weitere Nutzer können mit dem gleichen Befehl angelegt werden. Für die Absicherung des Passworts wird bcrypt verwendet.

Danach wird die Konfigurationsdatei angelegt:

$EDITOR ~/.config/radicale/config
config
# For available options, check
# https://radicale.org/configuration/
 
[server]
hosts = 0.0.0.0:5232
 
[auth]
type = htpasswd
htpasswd_filename = ~/.config/radicale/users
 
[storage]
filesystem_folder = ~/.var/lib/radicale/collections

Gezeigt wird hier die Einrichtung als Dienst mit systemd.

Zuerst muss das Verzeichnis für die Konfigurationsdatei angelegt werden, anschliessend wird die Datei selbst angelegt:

mkdir -p ~/.config/systemd/user
$EDITOR .config/systemd/user/radicale.service
radicale.service
[Unit]
Description=A simple CalDAV (calendar) and CardDAV (contact) server
 
[Service]
ExecStart=/usr/bin/env python3 -m radicale
Restart=on-failure
 
[Install]
WantedBy=default.target

Anschließend wird Radicale als Dienst aktiviert und gestartet:

systemctl --user enable radicale
systemctl --user start radicale

Folgende Befehle muss als root (dann natürlich ohne sudo) oder mit einem Nutzer mit Sudo-Rechten ausgeführt werden.

Damit wird das System so konfiguriert, dass Radicale beim Hochfahren des Rechners gestartet wird:

sudo loginctl enable-linger radicale

Mit folgendem Befehl kann man sich den Status ansehen:

sudo loginctl user-status radicale
  1. In einem Browser http://<hostname>:5232 öffnen
  2. Mit oben angelegtem Nutzer anmelden
  3. „Create new addressbook or calendar“ anklicken
  4. Namen, Beschreibung, Typ und Farbe auswählen, dann „Create“ klicken
  1. Kalenderansicht über „Termine und Aufgaben“ > „Kalender“ öffnen
  2. Rechts-Klick in der Liste der Kalender > „Neuer Kalender“ auswählen
  3. In dem Dialog:
    1. „Im Netzwerk“ auswählen und auf „Weiter“ klicken
    2. In der nächsten Ansicht:
      1. „CalDAV“ als Format auswählen
      2. Adresse im folgenden Format angeben: <Schema>://<Nutzer>@<Server>:<Port>/<Nutzer>/<UUID>/
      3. „Weiter“ klicken
    3. In der nächsten Ansicht einen Namen für den Kalender angeben und auf „Weiter“ klicken
    4. Im letzen Dialog auf „Fertigstellen“ klicken
  • Zuletzt geändert: 2019-04-12 19:27