updated: | 2024 11. September |
published: | 2024 21. August |
Radicale
Ein eigener Kalender und Adressbuchserver.- Erfolgreich getestet mit folgender Version:
- radicale 3.1.8
- Debian 12 Bookworm 64bit
Grundkonfiguration
In der Datei /etc/radicale/config
werden Einstellungen vorgenommen. Die wichtigsten sind die IP-Adresse und der Port des Servers im Abschnitt [server]
und das Authentifizierungsverfahren im Abschnitt [auth].
[server]
hosts = xx.xxx.xxx.xx:5232
[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt
Benutzerkonfiguration
Das Anlegen und löschen eines Benutzers erfolgt durch das Programm htpasswd
aus dem Debianpaket apache2-utils
.
Der Benutzer muss nicht auf dem System mit einem eigenen Home-Verzeichnis existieren.
# Benutzer und Dateien löschen
htpasswd -D /etc/radicale/users <UserName>
rm -rf /var/lib/radicale/collections/collection-root/<UserName>
# Benutzer anlegen und Passwortdatei erzeugen
htpasswd -B -C10 -c /etc/radicale/users <UserName01>
# Weiteren Benutzer anlegen oder Passwort ändern
htpasswd -B -C10 /etc/radicale/users <UserName02>
Option | Usage |
---|---|
-B | erzeugt Hashwert durch bcrypt-Algorithmus |
-c | Passwortdatei anlegen oder überschreiben |
-C <number> | Rundenanzahl für bcrypt-Algorithums - max. 17 |
-D <UserName> | löscht den Benutzers |
Und letztlich müssen Dateibenutzer, Gruppen (chown) und Dateizugriffsbit (chmod) geändert werden.
chown radicale:radicale /etc/radicale/users
chown -R root:radicale /var/lib/radicale
chmod -R g=rwx /var/lib/radicale
Server starten und Test
Debiantypisch wird der Server gestartet mit dem Befehl: systemctl restart radicale
.
In einem beliebigen Browser wird in der Adresszeile die IP-Adresse des radicale-Servers wie folgt eingegeben: http//:xxx.xxx.xxx.xxx:5232
.
Auf der Konsole kann getestet werden ob der Server gestartet ist und auf dem Port 5232 lauscht, mit:
netstat -tulpen | grep 5232
Datenübertragung absichern mit TLS
Für eine verschlüsselte Übertragung wird TLS (OpenSSL)
verwendet. Zur Vereinfachung verwenden wir das mit dem Packet ssl-cert
installierte Zertifikat und den Schlüssel.
[server]
ssl = true
certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem
key = /etc/ssl/private/ssl-cert-snakeoil.key
Der Nutzer radicale muss der Gruppe ssl-cert hinzugefügt werden.
sudo usermod -aG ssl-cert radicale
Nach einem Neustart des radicale-Servers kann die Bereitstellung des Zertifikats auf dem Client mit OpenSSL getestet werden.
openssl s_client -connect <IP-Adresse>:5232 -tls1_3
Unter Umständen kann es sein, das das Zertifikat nicht automatisch von einem Client geladen wird. Gegebenenfalls muss es dann von Hand integriert werden. Zum Beispiel in Thunderbird unter
, dann IP-Adresse eingeben und Zertifikat herunterladen.Zur Sicherheit sollte man den Fingerabdruck des heruntergeladenen Zertifkats mit dem auf dem radicale-Server vergleichen. Auf dem Server wird der Fingerabdruck des Zertifkat mit folgendem Befehl angezeigt:
openssl x509 -in ssl-cert-snakeoil.pem -noout -fingerprint -sha256
Weblinks
Radicale Wiki by Ubuntu
raspberry