Ricerca nel sito web

Come installare Radicale Calendar (CalDAV e CardDAV) su Ubuntu 20.04


Su questa pagina

  1. Prerequisiti
  2. Installazione della libreria Passlib e Bcrypt
  3. Installazione e configurazione di Radicale
  4. Genera utenti per Radicale
  5. Imposta Apache come proxy inverso per Radicale
  6. Genera SSL Letsencrypt
  7. Verifica l'installazione
  8. Conclusione

Radicale è un server gratuito e open source CalDAV (calendari, liste di cose da fare) e CardDav (contatti). Mira a essere un'applicazione server piccola e leggera (CalDAV e CardDav), ma potente e funzionante immediatamente. Radicale ti consente di condividere calendari ed elenchi di contatti tramite CalDAV, CardDAV e HTTPS. E, soprattutto, può essere protetto tramite connessione e autenticazione TLS. Inoltre, funziona con molti client CalDAV e CardDAV come gnome-calendar, evolution, Mozilla thunderbird, DAVx (per Android), ecc.

Radicale viene fornito con una semplice configurazione ed è facile da configurare e installare. Radicale è scritto in Python, funziona su sistemi operativi come Linux, BSD, macOS e Windows.

In questo tutorial imparerai come installare e configurare Radicale su Ubuntu 20.04.

Prerequisiti

  • Un Ubuntu 20.04. Assicurati che i pacchetti e i repository siano aggiornati.
  • Un utente root o un utente con i privilegi di root. Questo verrà utilizzato per l'installazione di nuovi pacchetti e la modifica della configurazione del sistema.

Installazione della libreria Passlib e Bcrypt

All'inizio, installerai alcune dipendenze dei pacchetti per l'installazione radicale. Installerai il modulo python-pip, python-passlib, quindi installerai il modulo python bcrypt dal PyPI (repository python).

1. Eseguire il seguente comando apt per installare i moduli python-pip e python-passlib nel sistema Ubuntu.

sudo apt install python3-pip python3-passlib

Digita Y e premi Invio per installare tutti quei pacchetti.

2. Se l'installazione è completa, eseguire il comando pip di seguito per installare il modulo Python bcrypt.

sudo pip3 install bcrypt

Ora vedrai il seguente output.

Installazione e configurazione di Radicale

Per impostazione predefinita, i pacchetti radicale sono disponibili nel repository di Ubuntu.

1. Esegui il comando apt qui sotto per installare radicale sul sistema Ubuntu.

sudo apt install radicale

Digita Y e premi Invio per installare i pacchetti radicale.

2. Al termine dell'installazione, modificherai la configurazione predefinita di radicale disponibile in /etc/radicale/config.

Modifica la configurazione radicale usando il comando nano di seguito.

sudo nano /etc/radicale/config

3. Nella sezione [server], modificare la configurazione predefinita utilizzando la seguente configurazione.

[server]

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

Il server radicale funzionerà solo sull'indirizzo IP locale perché metteremo il server Web Apache come proxy inverso nella parte anteriore di esso.

4. Successivamente, commentare la configurazione SSL come di seguito, poiché la crittografia SSL verrà eseguita tramite il proxy inverso Apache.

# 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. Successivamente, passare alla sezione [auth] e modificare la configurazione predefinita come segue.

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

Il tipo di autenticazione utilizzato è htpasswd con la crittografia avanzata bcrypt e un elenco di utenti verrà archiviato nel file /etc/radicale/users.

6. Successivamente, nella configurazione in basso vedrai la sezione [storage]. Modificare la configurazione come di seguito per abilitare il backend di archiviazione radicale.

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

Il backend di archiviazione predefinito per radicale è multifilesystem e tutti i dati degli utenti sono disponibili nella directory /var/lib/radicale/collections.

Ora premi Ctrl+x e digita y, quindi premi il pulsante Invio per salvare e uscire.

Genera Utenti per Radicale

A questo punto la configurazione di radicale è completata. E per ora, creerai un nuovo utente e password per radicale, che può essere generato usando il comando htpasswd (parte del pacchetto apache2-utils).

1. Eseguire il comando apt di seguito per installare il pacchetto apache2-utils.

sudo apt install apache2-utils

Digitare Y e premere Invio per continuare l'installazione.

2. Successivamente, genera un nuovo utente (per questo esempio è l'utente johndoe) e una password eseguendo il comando htpasswd di seguito.

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

Ora digita e ripeti la password per l'utente johndoe.

Opzioni importanti che devi conoscere:

  • -B opzione - questo costringerà a utilizzare la crittografia avanzata bcrypt, non il md5 predefinito.
  • -c option - Il file delle password che vuoi creare. Nome utente e password sono disponibili su quel file.

Per aggiungere un altro utente, basta eseguire il comando in alto e cambiare il nome utente con il proprio.

Facoltativamente, controllare il file della password generato /etc/radicale/users utilizzando il comando cat come di seguito.

cat /etc/radicale/users

3. Dopo aver generato il file utente e password, abilitare il servizio radicale per l'avvio automatico all'avvio.

sudo systemctl enable radicale

4. Ora avvia il servizio radicale e controlla lo stato del servizio eseguendo il seguente comando.

sudo systemctl start radicale
sudo systemctl status radicale

Se il tuo servizio radicale è attivo e in esecuzione, vedrai un output simile al seguente. In caso contrario, vedrai lo stato del servizio radicale come non riuscito nella parte inferiore dei messaggi di registro.

Imposta Apache come proxy inverso per Radicale

A questo punto, installerai e configurerai Apache come proxy inverso per radicale.

1. Installa i pacchetti Apache eseguendo il comando apt di seguito.

sudo apt install apache2

Ora digita Y e premi Invio per continuare l'installazione.

2. Al termine dell'installazione, eseguire il seguente comando per abilitare alcuni moduli proxy per Apache e abilitare il modulo mod_ssl.

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

3. Ora cambia la directory di lavoro in /etc/apache2/sites-available e crea una nuova configurazione dell'host virtuale radicale.conf.

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

Copia e incolla la seguente configurazione e assicurati di cambiare il nome di dominio con il tuo.

<VirtualHost *:80>
        
    ServerName cal.domain-name.io
    ServerAdmin

    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>

Salvare la configurazione premendo Ctrl+x e digitare y, quindi premere Invio.

Utilizzando questa configurazione, il radicale sarà disponibile nel percorso di dominio domain.com/radicale, non nel percorso root del nome di dominio.

4. Successivamente, eseguire il seguente comando per attivare la configurazione dell'host virtuale radicale.conf.

sudo a2ensite radicale.conf

5. Successivamente, verifica la configurazione di Apache e assicurati che non ci siano errori, quindi riavvia il servizio Apache per applicare la nuova configurazione dell'host virtuale.

sudo apachectl configtest
sudo systemctl restart apache2

Se la tua configurazione di Apache è corretta, vedrai il messaggio Sintassi OK dopo aver eseguito il comando apachectl. E sotto c'è l'output simile che otterrai.

Genera SSL Letsencrypt

Per questa fase, proteggerai l'installazione radicale utilizzando SSL Letsencrypt.

1. Eseguire il seguente comando per installare il plug-in certbot e certbot-apache.

sudo apt install certbot python-certbot-apache

2. Al termine dell'installazione, generare un nuovo Letsencrtypt SSL per il nome di dominio radicale utilizzando il comando certbot riportato di seguito.

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

E ti verranno poste alcune domande di seguito.

  • Un indirizzo email: quando il certificato SSL scade, sarai avvisato di questa email.
  • Letsencrypt TOS (Termini di servizio): digitare A per accettare.
  • Condivisione email con EFF: puoi scegliere N per no.
  • Reindirizza automaticamente HTTP a HTTPS: scegli il numero 2 per abilitare il reindirizzamento automatico.

Una volta completato il processo, vedrai che i certificati SSL sono disponibili nella directory /etc/letsencrypt/live/domain.com. E l'host virtuale Apache è cambiato con una configurazione aggiuntiva da letsencrypt.

Verificare l'installazione

Apri il tuo browser web e digita l'URL di installazione radicale nella barra degli indirizzi.

Ora ti verrà chiesto l'utente e la password per l'autenticazione di base di Apache.

Digita utente e password, quindi fai clic sul pulsante Accedi.

E otterrai la pagina di accesso di Radicale come di seguito.

Digita utente e password per Radicale e clicca sul pulsante Avanti.

Una volta effettuato l'accesso, fai clic sul link Crea una nuova rubrica o calendario.

Modifica il titolo, la descrizione, il tipo e il colore con i tuoi, quindi fai clic sul pulsante Crea.

Ora verrai reindirizzato alla dashboard dell'utente radicale come di seguito.

Conclusione

Congratulazioni! Ora hai installato con successo Radicale su Ubuntu 20.04 Server. Per la fase successiva, puoi connetterti al tuo nuovo server radicale in modo sicuro utilizzando i client CalDAV/CardDAV dal tuo computer o smartphone Android.