Inhaltsverzeichnis

Radicale

Quellen

Server für

Das System hat keine GUI zur Bearbeitung von einzelnen Terminen oder Kontakten. Hier werden lediglich Kalender oder Adressbücher angelegt. Die Bearbeitung erfolgt über Programme wie Thunderbird, Kalender auf dem Ipad oder dem Smartphone.

Die Kommunikation sollte über eine sichere SSL-Verbindung stattfinden. Der Port 5232 sollte nicht durch die Firewall freigegeben werden, da dann eine unsichere Verbindung über IP-Adresse und Port möglich wäre.

Webinterface: <DOMAIN>/x1)
Serveradresse für TBSync (Thunderbird): <DOMAIN>/x/<USER>/

Installation

sudo apt install radicale python3-bcrypt python3-passlib apache2-utils
sudo nano /etc/radicale/config
  [server]
  #für alle IPV4-Adressen
  hosts = 0.0.0.0:5232
  max_connections = 50
  # 100 Megabyte
  max_content_length = 100000000
  # 30 seconds
  timeout = 30
  
  [auth]
  type = htpasswd
  htpasswd_filename = /etc/radicale/users
  htpasswd_encryption = bcrypt
  # Average delay after failed login attempts in seconds
  delay = 1
  
  [rights]
  type = from_file
  file = /etc/radicale/rights
  
  [storage]
  #Default. Muss nicht aktiviert werden
  #filesystem_folder = /var/lib/radicale/collections

1. Benutzer anlegen → legt auch die Datei Users an

sudo htpasswd -c -B /etc/radicale/users <USER>

Rechte für den Zugriff auf Datei Users anpassen

sudo chown radicale:radicale /etc/radicale/users

Nur radicales darf hier lesen

sudo chmod o-r /etc/radicale/users

Weitere Benutzer anlegen

sudo htpasswd -B /etc/radicale/users <USER2>

Benutzer löschen

sudo htpasswd -D /etc/radicale/users <USER2>

Passwort eines Benutzers ändern:

sudo htpasswd -B /etc/radicale/users <USER2>

Zugriff für die Daten (Kalender und Kontakte) anpassen

sudo chown -R radicale:radicale /var/lib/radicale/collections
sudo chmod -R 775 /var/lib/radicale/collections

Start

sudo systemctl start radicale.service

Automatisch starten

sudo systemctl enable radicale.service

Automatisches starten deaktivieren

sudo systemctl disable radicale.service

ReStart

sudo systemctl restart radicale.service

Status

sudo systemctl status radicale.service

Netwerkstatus von Radicale:

sudo lsof -i | grep radicale

Apache als Reverse-Proxy

Benötigte Erweiterungen:

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

Domain registrieren und mit SSL-Zertifikat aktivieren: Apache Web-Server.

Hier werden zwei Varianten zur Nutzung des Proxy-Servers behandelt.

Erweiterung Domainname

Hier wird als Erweiterung das x genutzt, kann auch anders genannt werden2). Aufruf hier über <DOMAIN>/x

sudo nano  /etc/apache2/sites-available/<DOMAIN>.conf

Einfügen (in die SSL-Variante):

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ...
  ...
  RewriteEngine On
  RewriteRule ^/x$ /x/ [R,L]
  
  <Location "x/">
      ProxyPass        http://localhost:5232/ retry=0
      ProxyPassReverse http://localhost:5232/
      RequestHeader    set X-Script-Name /x
  </Location>
  ...
  ...
</VirtualHost>
</IfModule>
sudo apachectl configtest
sudo systemctl restart apache2

Verwendung einer Domain oder Subdomain

sudo nano  /etc/apache2/sites-available/<SUBDOMAIN>.conf

Einfügen (in die SSL-Variante):

<IfModule mod_ssl.c>
<VirtualHost *:443>
  ...
  ...
  ProxyPass        / http://localhost:5232/
  ProxyPassReverse / http://localhost:5232/
  ...
  ...
</VirtualHost>
</IfModule>

# DocumentRoot kann entfernt oder deaktiviert (#) werden

sudo apachectl configtest
sudo systemctl restart apache2

Collaboration

Benutzer <GRUPPE> anlegen (für gemeinsame Kalender und Adressbücher)

sudo htpasswd -B /etc/radicale/users <GRUPPE>

Indirekte Freigabe über symbolischen Link. Hier erhält <USER> die Freigabe für benannte <Geteilte-Ressource> der <GRUPPE>.

sudo ln -s /var/lib/radicale/collections/collection-root/<GRUPPE>/<Geteilte-Ressource>/ /var/lib/radicale/collections/collection-root/<USER>/<Geteilte-Ressource>

Freigabe für radicale auf den symbolischen Link

sudo chown -h radicale:radicale /var/lib/radicale/collections/collection-root/<USER>/<Geteilte-Ressource>

Backup

hier liegen die Daten:

1)
hier wurde das x verwendet, das ist änderbar
2)
Ändern an 4 Stellen