Cómo instalar Radicale Calendar (CalDAV y CardDAV) en Ubuntu 20.04

Instale la biblioteca Python Pip y Passlib

Radicale es un servidor CalDAV (calendarios, listas de tareas) y CardDav (contactos) gratuito y de c√≥digo abierto. Su objetivo es ser una aplicaci√≥n de servidor peque√Īa y liviana (CalDAV y CardDav), pero potente y lista para usar. Radicale le permite compartir calendarios y listas de contactos a trav√©s de CalDAV, CardDAV y HTTPS. Y lo m√°s importante, puede ser seguro a trav√©s de la conexi√≥n y autenticaci√≥n TLS. Adem√°s, funciona con muchos clientes CalDAV y CardDAV como gnome-calendar, evolution, Mozilla thunderbird, DAVx (para android), etc.

Radicale viene con una configuración simple y es fácil de configurar e instalar. Radicale está escrito en Python, se ejecuta en sistemas operativos como Linux, BSD, macOS y Windows.

En este tutorial, aprenderá cómo instalar y configurar Radicale en Ubuntu 20.04.

requisitos previos

  • Un Ubuntu 20.04. Aseg√ļrese de que los paquetes y repositorios est√©n actualizados.
  • Un usuario root o un usuario con privilegios de root. Esto se usar√° para instalar nuevos paquetes y editar la configuraci√≥n del sistema.

Instalación de la biblioteca Passlib y Bcrypt

Al principio, instalará algunas dependencias de paquetes para la instalación de radicale. Instalará el módulo python-pip, python-passlib, luego instalará el módulo python bcrypt desde PyPI (repositorio de python).

1. Ejecute el siguiente comando apt para instalar el módulo python-pip y python-passlib en el sistema Ubuntu.

sudo apt install python3-pip python3-passlib

Escribe ‘Y‘ y presione ‘Ingresar‘ para instalar todos esos paquetes.

Instale la biblioteca Python Pip y Passlib

2. Si la instalación está completa, ejecute el comando pip a continuación para instalar el módulo bcrypt de Python.

sudo pip3 install bcrypt

Ahora ver√° el siguiente resultado.

Instalar la biblioteca Bcrypt

Instalación y configuración de Radicale

De forma predeterminada, los paquetes de radicale est√°n disponibles en el repositorio de Ubuntu.

1. Ejecute el comando apt a continuación para instalar radicale en el sistema Ubuntu.

sudo apt install radicale

Escribe ‘Y‘ y presione ‘Ingresar‘ para instalar paquetes radicales.

Instalar Calendario Radicale en Ubuntu

2. Una vez completada la instalaci√≥n, editar√° la configuraci√≥n radical predeterminada que est√° disponible en ‘/etc/radicale/config‘.

Edite la configuración radical usando el comando nano a continuación.

sudo nano /etc/radicale/config

3. En el [server] sección, cambie la configuración predeterminada usando la siguiente configuración.

[server]

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


El servidor Radicale se ejecutará solo en la dirección IP local porque colocaremos el servidor web Apache como un proxy inverso al frente.

4. A continuación, comente la configuración de SSL como se muestra a continuación, ya que el cifrado SSL se realizará a través del proxy inverso de 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. Despu√©s de eso, vaya a la ‘[auth]’ y cambie la configuraci√≥n predeterminada de la siguiente manera.

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

El tipo de autenticaci√≥n que estamos usando es ‘htcontrase√Īa‘ con el cifrado fuerte ‘cripta‘, y se almacenar√° una lista de usuarios en el ‘/etc/radicale/usuarios‘ expediente.

6. A continuaci√≥n, en la parte inferior de la configuraci√≥n ver√°s el ‘[storage]‘ secci√≥n. Cambie la configuraci√≥n como se muestra a continuaci√≥n para habilitar el backend de almacenamiento radicale.

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

El backend de almacenamiento predeterminado para radicale es ‘multifilesystem’, y todos los datos del usuario est√°n disponibles en el directorio ‘/var/lib/radicale/collections’.

Ahora presiona ‘Control+x‘ y escriba ‘y’luego presione el ‘Ingresar‘ para guardar y salir.

Generar Usuarios para Radicale

En esta etapa, se completa la configuraci√≥n de radicale. Y por ahora, crear√° un nuevo usuario y contrase√Īa para radicale, que se pueden generar usando el comando ‘htpasswd’ (parte del paquete ‘apache2-utils’).

1. Ejecute el comando apt a continuaci√≥n para instalar el ‘apache2-utils‘ paquete.

sudo apt install apache2-utils

Escribe ‘Y‘ y presione ‘Ingresar‘ para continuar con la instalaci√≥n.

Instalar el paquete de utilidades de Apache

2. A continuaci√≥n, genere un nuevo usuario (para este ejemplo, el usuario ‘johndoe’) y una contrase√Īa ejecutando el siguiente comando htpasswd.

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

Ahora escriba y repita la contrase√Īa para el usuario ‘johndoe‘.

Opciones importantes que debes conocer:

  • -B opci√≥n – esto obligar√° a usar el cifrado fuerte ‘bcrypt’, no el predeterminado ‘md5’.
  • opci√≥n -c – El archivo de contrase√Īas que desea crear. El nombre de usuario y las contrase√Īas est√°n disponibles en ese archivo.

Para agregar otro usuario, simplemente ejecute el comando en la parte superior y cambie el nombre de usuario por el suyo.

Opcionalmente, verifique el archivo de contrase√Īa generado ‘/etc/radicale/usuarios‘ usando el comando cat como se muestra a continuaci√≥n.

cat /etc/radicale/users

Generar usuarios y contrase√Īa htpasswd

3. Despu√©s de generar el archivo de usuario y contrase√Īa, habilite el servicio radicale para que se inicie autom√°ticamente en el arranque.

sudo systemctl enable radicale

4. Ahora inicie el servicio radicale y verifique el estado del servicio ejecutando el siguiente comando.

sudo systemctl start radicale
sudo systemctl status radicale

Si su servicio radicale est√° activo y en ejecuci√≥n, ver√° un resultado similar al siguiente. De lo contrario, ver√° el estado del servicio radicale como ‘fallido’ en la parte inferior de los mensajes de registro.

Inicie y verifique el estado del servicio radicale

Configure Apache como un proxy inverso para Radicale

En esta etapa, instalar√° y configurar√° Apache como un proxy inverso para radicale.

1. Instale los paquetes de Apache ejecutando el siguiente comando apt.

sudo apt install apache2

Ahora escriba ‘Y‘ y presione ‘Ingresar‘ para continuar con la instalaci√≥n.

Instalar el servidor web Apache

2. Una vez completada la instalaci√≥n, ejecute el siguiente comando para habilitar alg√ļn m√≥dulo proxy para Apache y habilitar el m√≥dulo mod_ssl.

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

3. Ahora cambie el directorio de trabajo a ‘/etc/apache2/sitios-disponibles‘ y crear una nueva configuraci√≥n de host virtual ‘radicale.conf‘.

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

Copie y pegue la siguiente configuraci√≥n y aseg√ļrese de cambiar el nombre de dominio por el suyo propio.

<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>


Guarde la configuraci√≥n presionando el bot√≥n ‘Control+x‘ y escriba ‘y‘, entonces presione ‘Ingresar‘.

Con esta configuraci√≥n, Radicale estar√° disponible en la ruta de dominio ‘domain.com/radicale’, no en la ruta ra√≠z del nombre de dominio.

4. A continuaci√≥n, ejecute el siguiente comando para activar la configuraci√≥n del host virtual ‘radicale.conf’.

sudo a2ensite radicale.conf

5. Despu√©s de eso, verifique la configuraci√≥n de Apache y aseg√ļrese de que no haya ning√ļn error, luego reinicie el servicio de Apache para aplicar la nueva configuraci√≥n de host virtual.

sudo apachectl configtest
sudo systemctl restart apache2

Si su configuraci√≥n de Apache es correcta, ver√° el mensaje ‘Sintaxis Aceptar‘ despu√©s de ejecutar el comando ‘apachectl’. Y debajo est√° el resultado similar que obtendr√°.

Configuración del host virtual de Apache para Radicale

Generar SSL Letsencrypt

Para esta etapa, asegurará la instalación de Radicale utilizando SSL Letsencrypt.

1. Ejecute el siguiente comando para instalar el complemento certbot y certbot-apache.

sudo apt install certbot python-certbot-apache

2. Una vez completada la instalación, genere un nuevo SSL Letsencrtypt para el nombre de dominio radicale usando el comando certbot a continuación.

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

Y se le harán algunas preguntas a continuación.

  • Una direcci√≥n de correo electr√≥nico: cuando caduque el certificado SSL, se le notificar√° a este correo electr√≥nico.
  • Letsencrypt TOS (T√©rminos de servicio): escriba ‘A‘ llegar a un acuerdo.
  • Compartir correo electr√≥nico con EFF: puede elegir ‘norte‘ por no.
  • Redirigir autom√°ticamente HTTP a HTTPS: elija el n√ļmero ‘2’ para habilitar la redirecci√≥n autom√°tica.

Una vez que se complete el proceso, ver√° que los certificados SSL est√°n disponibles en el directorio ‘/etc/letsencrypt/live/domain.com’. Y el host virtual de Apache ha cambiado con una configuraci√≥n adicional de letsencrypt.

Verificar instalación

Abra su navegador web y escriba la instalación de URL radicale en la barra de direcciones.

https://cal.nombre-de-dominio.io/radicale/

Ahora se le pedir√° el usuario y la contrase√Īa para la autenticaci√≥n b√°sica de Apache.

Autenticación básica de Radicale Apache

Escriba su usuario y contrase√Īa, luego haga clic en el ‘Iniciar sesi√≥n‘ bot√≥n.

Y obtendrá la página de inicio de sesión de Radicale como se muestra a continuación.

Página de inicio de sesión de Radicale

Escriba su usuario y contrase√Īa para Radicale y haga clic en el ‘pr√≥ximo‘ bot√≥n.

Una vez que haya iniciado sesi√≥n, haga clic en el enlace ‘Crear una nueva libreta de direcciones o calendario‘.

Crear nuevo calendario

Cambie el t√≠tulo, la descripci√≥n, el tipo y el color con los suyos, luego haga clic en el bot√≥n ‘Crear‘ bot√≥n.

Crear nuevo calendario

Ahora será redirigido al panel de usuario de radicale como se muestra a continuación.

Panel de usuario de Radicale

Conclusión

¡Felicidades! Ahora ha instalado Radicale con éxito en el servidor Ubuntu 20.04. Para la siguiente etapa, puede conectarse a su nuevo servidor radicale de forma segura utilizando los clientes CalDAV/CardDAV desde su computadora o teléfono inteligente Android.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *