So installierst du den Radicale Kalender (CalDAV und CardDAV) unter Ubuntu 20.04

Radicale ist ein freier und quelloffener CalDAV- (Kalender, Aufgabenlisten) und CardDav-Server (Kontakte). Radicale ist eine kleine und leichtgewichtige (CalDAV und CardDav) Serveranwendung, die dennoch leistungsstark und sofort einsatzbereit ist. Mit Radicale kannst du Kalender und Kontaktlisten über CalDAV, CardDAV und HTTPS freigeben. Und das Wichtigste: Es kann durch TLS-Verbindung und Authentifizierung sicher sein. Außerdem funktioniert es mit vielen CalDAV- und CardDAV-Clients wie gnome-calendar, evolution, Mozilla thunderbird, DAVx (für Android), etc.

Radicale wird mit einer einfachen Konfiguration geliefert und ist leicht zu konfigurieren und zu installieren. Radicale ist in Python geschrieben und läuft auf Betriebssystemen wie Linux, BSD, macOS und Windows.

In diesem Lernprogramm erfährst du, wie du Radicale unter Ubuntu 20.04 installierst und konfigurierst.

Voraussetzungen

  • Ein Ubuntu 20.04. Stelle sicher, dass die Pakete und Repositories aktualisiert sind.
  • Ein Root-Benutzer oder ein Benutzer mit Root-Rechten. Dieser wird für die Installation neuer Pakete und die Bearbeitung der Systemkonfiguration verwendet.

Installation von Passlib und der Bcrypt-Bibliothek

Zu Beginn wirst du einige Pakete installieren, die für die Installation von radicale erforderlich sind. Du installierst die Module python-pip und python-passlib und anschließend das Modul python bcrypt aus dem PyPI (Python-Repository).

1. Führe den folgenden apt-Befehl aus, um python-pip und das python-passlib Modul auf dem Ubuntu-System zu installieren.

sudo apt install python3-pip python3-passlib

Gib„Y“ ein und drücke„Enter„, um alle Pakete zu installieren.

Python Pip und Passlib-Bibliothek installieren

2. Wenn die Installation abgeschlossen ist, führe den folgenden pip-Befehl aus, um das Python bcrypt-Modul zu installieren.

sudo pip3 install bcrypt

Jetzt siehst du die folgende Ausgabe.

Bcrypt-Bibliothek installieren

Installieren und Konfigurieren von Radicale

Standardmäßig sind die Radicale-Pakete im Ubuntu-Repository verfügbar.

1. Führe den folgenden apt-Befehl aus, um radicale auf dem Ubuntu-System zu installieren.

sudo apt install radicale

Gib„Y“ ein und drücke„Enter„, um die Radicale-Pakete zu installieren.

Radicale Kalender unter Ubuntu installieren

2. Nachdem die Installation abgeschlossen ist, bearbeitest du die Standardkonfiguration von radicale, die du unter„/etc/radicale/config“ findest.

Bearbeite die Radicale-Konfiguration mit dem unten stehenden nano-Befehl.

sudo nano /etc/radicale/config

3. Im Abschnitt [server] änderst du die Standardkonfiguration mit der folgenden Konfiguration.

[server]

host = 127.0.0.1:5232
max_connections = 20
max_content_length = 100000000
timout = 30

Der radicale-Server wird nur auf der lokalen IP-Adresse laufen, weil wir den Apache-Webserver als Reverse-Proxy davor setzen.

4. Als Nächstes kommentierst du die SSL-Konfiguration wie unten beschrieben, da die SSL-Verschlüsselung über den Apache-Reverse-Proxy erfolgt.

# SSL flag, enable HTTPS protocol
#ssl = False

# SSL certificate path
#certificate = /etc/ssl/certs/ssl-cert-snakeoil.pem

# SSL private key
#key = /etc/ssl/private/ssl-cert-snakeoil.key

5. Danach gehst du zum Abschnitt ‚[auth]‘ und änderst die Standardkonfiguration wie folgt.

[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcrypt

Der Authentifizierungstyp, den wir verwenden, ist„htpasswd“ mit der starken Verschlüsselung„bcrypt„, und eine Liste der Benutzer wird in der ‚/etc/radicale/users‚ Datei gespeichert.

6. Als Nächstes siehst du in der unteren Konfiguration den Abschnitt „[storage]„. Ändere die Konfiguration wie unten beschrieben, um das Speicher-Backend von radicale zu aktivieren.

[storage]
type = multifilysystem
filesystem_folder = /var/lib/radicale/collections
filesystem_locking = True

Das Standard-Speicher-Backend für radicale ist „multifilesystem“, und alle Benutzerdaten befinden sich im Verzeichnis „/var/lib/radicale/collections“.

Drücke nun„Strg+x“ und gib „y“ ein, dann drücke die„Enter„-Taste zum Speichern und Beenden.

Benutzer für Radicale generieren

An dieser Stelle ist die Konfiguration von Radicale abgeschlossen. Jetzt erstellst du einen neuen Benutzer und ein Passwort für radicale, die du mit dem Befehl „htpasswd“ (Teil des Pakets „apache2-utils“) generieren kannst.

1. Führe den folgenden apt-Befehl aus, um das Paket„apache2-utils“ zu installieren.

sudo apt install apache2-utils

Gib„Y“ ein und drücke„Enter„, um die Installation fortzusetzen.

Installiere das Apache utils Paket

2. Als Nächstes erstellst du einen neuen Benutzer (in diesem Beispiel den Benutzer „johndoe“) und ein Passwort, indem du den Befehl htpasswd ausführst.

sudo htpasswd -B -c /etc/radicale/users johndoe

Gib nun das Passwort für den Benutzer„johndoe“ ein und wiederhole es.

Wichtige Optionen, die du kennen musst:

  • Option -B – Dies erzwingt die Verwendung der starken Verschlüsselung „bcrypt“, nicht der Standardverschlüsselung „md5“.
  • -c Option – Die Passwortdatei, die du erstellen willst. Benutzername und Kennwörter sind in dieser Datei verfügbar.

Um einen weiteren Benutzer hinzuzufügen, führe einfach den Befehl oben aus und ändere den Benutzernamen durch deinen eigenen.

Optional kannst du die erzeugte Passwortdatei„/etc/radicale/users“ mit dem cat-Befehl überprüfen (siehe unten).

cat /etc/radicale/users

Generiere htpasswd Benutzer und Passwort

3. Nachdem du die Benutzer- und Passwortdatei erstellt hast, aktiviere den radicale-Dienst, damit er beim Booten automatisch startet.

sudo systemctl enable radicale

4. Starte nun den radicale-Dienst und überprüfe den Status des Dienstes, indem du den folgenden Befehl ausführst.

sudo systemctl start radicale
sudo systemctl status radicale

Wenn der radicale-Dienst aktiv ist und läuft, siehst du eine ähnliche Ausgabe wie unten. Andernfalls siehst du den Status des Radicale-Dienstes als „fehlgeschlagen“ am Ende der Logmeldungen.

Starte und überprüfe den Status des Radicale-Dienstes

Apache als Reverse Proxy für Radicale einrichten

In diesem Schritt installierst und konfigurierst du den Apache als Reverse-Proxy für Radicale.

1. Installiere die Apache-Pakete, indem du den unten stehenden apt-Befehl ausführst.

sudo apt install apache2

Gib jetzt„Y“ ein und drücke„Enter„, um die Installation fortzusetzen.

Install Apache Web Server

2. Nachdem die Installation abgeschlossen ist, führe den folgenden Befehl aus, um einige Proxy-Module für Apache zu aktivieren und das Modul mod_ssl zu aktivieren.

sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html ssl

3. Wechsle nun das Arbeitsverzeichnis zu„/etc/apache2/sites-available“ und erstelle eine neue Konfiguration für den virtuellen Host„radicale.conf„.

cd /etc/apache2/sites-available/
sudo nano radicale.conf

Kopiere die folgende Konfiguration und füge sie ein. Achte darauf, dass du den Domainnamen durch deinen eigenen ersetzt.

<VirtualHost *:80>
        
    ServerName cal.domain-name.io
    ServerAdmin [email protected]

ErrorLog ${APACHE_LOG_DIR}/cal-dmain-name.io.error.log
CustomLog ${APACHE_LOG_DIR}/cal-dmain-name.io.access.log combined

ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>

RewriteEngine On
RewriteRule ^/radicale$ /radicale/ [R,L]

<Location „/radicale/“>
AuthType     Basic
AuthName     „Radicale – Password Required“
AuthUserFile „/etc/radicale/users“
Require      valid-user

ProxyPass        http://localhost:5232/ retry=0
ProxyPassReverse http://localhost:5232/
RequestHeader    set X-Script-Name /radicale
RequestHeader    set X-Remote-User expr=%{REMOTE_USER}
</Location>

<Location />
Order allow,deny
Allow from all
</Location>

</VirtualHost>

Speichere die Konfiguration, indem du die Tastenkombination„Strg+x“ drückst,„y“ eingibst und dann„Enter“ drückst.

Mit dieser Konfiguration ist radicale unter dem Domainpfad „domain.com/radicale“ verfügbar, nicht unter dem Stammverzeichnis des Domainnamens.

4. Als Nächstes führst du den folgenden Befehl aus, um die Konfiguration des virtuellen Hosts „radicale.conf“ zu aktivieren.

sudo a2ensite radicale.conf

5. Überprüfe danach die Apache-Konfiguration und stelle sicher, dass kein Fehler vorliegt. Starte dann den Apache-Dienst neu, um die neue virtuelle Host-Konfiguration zu übernehmen.

sudo apachectl configtest
sudo systemctl restart apache2

Wenn deine Apache-Konfiguration korrekt ist, siehst du die Meldung„Syntax OK„, nachdem du den Befehl „apachectl“ ausgeführt hast. Unten siehst du eine ähnliche Ausgabe.

Einrichten des virtuellen Apache-Hosts für Radicale

SSL Letsencrypt generieren

In diesem Schritt wirst du die Radicale-Installation mit SSL Letsencrypt sichern.

1. Führe den folgenden Befehl aus, um das certbot und certbot-apache Plugin zu installieren.

sudo apt install certbot python-certbot-apache

2. Nachdem die Installation abgeschlossen ist, generierst du mit dem folgenden certbot-Befehl ein neues SSL-Letsencrtypt für die radicale-Domain.

sudo certbot --apache -d domain-name.io -d www.domain-name.io

Dabei werden dir einige Fragen gestellt.

  • Eine E-Mail-Adresse: Wenn das SSL-Zertifikat abläuft, wirst du an diese E-Mail benachrichtigt.
  • Letsencrypt TOS (Terms of Service): Gib„A“ ein, um zuzustimmen.
  • E-Mail mit der EFF teilen: Du kannst„N“ für nein wählen.
  • HTTP automatisch auf HTTPS umleiten: Wähle die Zahl „2“, um die automatische Umleitung zu aktivieren.

Sobald der Vorgang abgeschlossen ist, siehst du, dass die SSL-Zertifikate im Verzeichnis „/etc/letsencrypt/live/domain.com“ verfügbar sind. Und der virtuelle Apache-Host hat sich mit der zusätzlichen Konfiguration von letsencrypt geändert.

Überprüfe die Installation

Öffne deinen Webbrowser und gib die Installations-URL von radicale in die Adressleiste ein.

https://cal.domain-name.io/radicale/

Nun wirst du nach dem Benutzer und dem Passwort für die Apache-Basisauthentifizierung gefragt.

Radicale Apache Basic Authentication

Gib deinen Benutzer und dein Passwort ein und klicke dann auf die Schaltfläche„Anmelden„.

Daraufhin wird die unten abgebildete Anmeldeseite von Radicale angezeigt.

Radical Anmeldeseite

Gib deinen Benutzer und dein Passwort für Radicale ein und klicke auf die Schaltfläche„Weiter„.

Sobald du eingeloggt bist, klickst du auf den Link„Neues Adressbuch oder Kalender erstellen„.

Neuen Kalender erstellen

Ändere den Titel, die Beschreibung, den Typ und die Farbe mit deinen eigenen Angaben und klicke dann auf die Schaltfläche„Erstellen„.

Neuen Kalender erstellen

Jetzt wirst du zum Dashboard von radicale weitergeleitet (siehe unten).

Radicale Benutzer-Armaturenbrett

Fazit

Herzlichen Glückwunsch! Jetzt hast du Radicale erfolgreich auf dem Ubuntu 20.04 Server installiert. Im nächsten Schritt kannst du dich über die CalDAV/CardDAV-Clients von deinem Computer oder deinem Android-Smartphone aus sicher mit deinem neuen Radicale-Server verbinden.

Das könnte dich auch interessieren …