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.
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.
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.
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.
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
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.
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.
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 webmaster@cal.domain-name.io 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.
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.
Gib deinen Benutzer und dein Passwort ein und klicke dann auf die Schaltfläche„Anmelden„.
Daraufhin wird die unten abgebildete Anmeldeseite von Radicale angezeigt.
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„.
Ändere den Titel, die Beschreibung, den Typ und die Farbe mit deinen eigenen Angaben und klicke dann auf die Schaltfläche„Erstellen„.
Jetzt wirst du zum Dashboard von radicale weitergeleitet (siehe unten).
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.