Instalación de Software · 8 min read · Sep 08, 2025
Cómo instalar Radicale Calendar (CalDAV y CardDAV) en Ubuntu 20.04

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 ligera (CalDAV y CardDav), pero poderosa y que funcione de inmediato. Radicale te 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 una conexión TLS y autenticación. 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, y se ejecuta en sistemas operativos como Linux, BSD, macOS y Windows.
En este tutorial, aprenderás cómo instalar y configurar Radicale en Ubuntu 20.04.
Requisitos previos
- Un Ubuntu 20.04. Asegúrate de que los paquetes y repositorios estén actualizados.
- Un usuario root o un usuario con privilegios de root. Esto se utilizará para instalar nuevos paquetes y editar la configuración del sistema.
Instalando Passlib y la biblioteca Bcrypt
Al principio, estarás instalando algunas dependencias de paquetes para la instalación de radicale. Estarás instalando el python-pip, el módulo python-passlib, y luego instalando el módulo python bcrypt desde el PyPI (repositorio de python).
- Ejecuta el siguiente comando apt para instalar python-pip y el módulo python-passlib en el sistema Ubuntu.
sudo apt install python3-pip python3-passlibEscribe ‘ Y ‘ y presiona ‘ Enter ‘ para instalar todos esos paquetes.

- Si la instalación está completa, ejecuta el comando pip a continuación para instalar el módulo Python bcrypt.
sudo pip3 install bcryptAhora verás la siguiente salida.

Instalando y configurando Radicale
Por defecto, los paquetes radicale están disponibles en el repositorio de Ubuntu.
- Ejecuta el comando apt a continuación para instalar radicale en el sistema Ubuntu.
sudo apt install radicaleEscribe ‘ Y ‘ y presiona ‘ Enter ‘ para instalar los paquetes radicale.

- Después de que la instalación esté completa, estarás editando la configuración predeterminada de radicale que está disponible en ‘ /etc/radicale/config ‘.
Edita la configuración radical usando el comando nano a continuación.
sudo nano /etc/radicale/config- En la sección [server], cambia la configuración predeterminada usando la siguiente configuración.
[server]
host = 127.0.0.1:5232
max_connections = 20
max_content_length = 100000000
timout = 30El servidor radicale solo se ejecutará en la dirección IP local porque pondremos el servidor web Apache como un proxy inverso delante de él.
- A continuación, comenta la configuración SSL como a continuación, porque la encriptación 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- Después de eso, ve a la sección ‘[auth]’ y cambia la configuración predeterminada como sigue.
[auth]
type = htpasswd
htpasswd_filename = /etc/radicale/users
htpasswd_encryption = bcryptEl tipo de autenticación que estamos utilizando es ‘ htpasswd ‘ con la fuerte encriptación ‘ bcrypt ‘, y una lista de usuarios se almacenará en el archivo ‘ /etc/radicale/users ‘.
- A continuación, en la configuración inferior verás la sección ‘[storage] ‘. Cambia la configuración como a continuación para habilitar el backend de almacenamiento radicale.
[storage]
type = multifilysystem
filesystem_folder = /var/lib/radicale/collections
filesystem_locking = TrueEl backend de almacenamiento predeterminado para radicale es ‘multifilesystem’, y todos los datos de los usuarios están disponibles en el directorio ‘/var/lib/radicale/collections’.
Ahora presiona ‘ Ctrl+x ‘ y escribe ‘y’, luego presiona el botón ‘ Enter ‘ para guardar y salir.
Generar usuarios para Radicale
En esta etapa, la configuración de radicale está completa. Y por ahora, estarás creando un nuevo usuario y contraseña para radicale, que se puede generar usando el comando ‘htpasswd’ (parte del paquete ‘apache2-utils’).
- Ejecuta el comando apt a continuación para instalar el paquete ‘ apache2-utils ‘.
sudo apt install apache2-utilsEscribe ‘ Y ‘ y presiona ‘ Enter ‘ para continuar con la instalación.

- A continuación, genera un nuevo usuario (para este ejemplo es el usuario ‘johndoe’) y contraseña ejecutando el comando htpasswd a continuación.
sudo htpasswd -B -c /etc/radicale/users johndoeAhora escribe y repite la contraseña para el usuario ‘ johndoe ‘.
Opciones importantes que debes conocer:
- -B option - esto forzará a usar la fuerte encriptación ‘bcrypt’, no el ‘md5’ predeterminado.
- -c option - El archivo de contraseña que deseas crear. Los nombres de usuario y contraseñas están disponibles en ese archivo.
Para agregar otro usuario, simplemente ejecuta el comando anterior y cambia el nombre de usuario por el tuyo.
Opcionalmente, verifica el archivo de contraseñas generado ‘ /etc/radicale/users ‘ usando el comando cat como a continuación.
cat /etc/radicale/users
- Después de generar el archivo de usuario y contraseña, habilita el servicio radicale para que se inicie automáticamente al arrancar.
sudo systemctl enable radicale- Ahora inicia el servicio radicale y verifica el estado del servicio ejecutando el siguiente comando.
sudo systemctl start radicale
sudo systemctl status radicaleSi tu servicio radicale está activo y en ejecución, verás una salida similar a continuación. De lo contrario, verás el estado del servicio radicale como ‘failed’ en la parte inferior de los mensajes de registro.

Configurar Apache como un proxy inverso para Radicale
En esta etapa, estarás instalando y configurando Apache como un proxy inverso para radicale.
- Instala los paquetes de Apache ejecutando el comando apt a continuación.
sudo apt install apache2Ahora escribe ‘ Y ‘ y presiona ‘ Enter ‘ para continuar con la instalación.

- Después de que la instalación esté completa, ejecuta el siguiente comando para habilitar algunos módulos de 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- Ahora cambia el directorio de trabajo a ‘ /etc/apache2/sites-available ‘ y crea una nueva configuración de host virtual ‘ radicale.conf ‘.
cd /etc/apache2/sites-available/
sudo nano radicale.confCopia y pega la siguiente configuración y asegúrate de cambiar el nombre de dominio por el tuyo.
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
Order deny,allow
Allow from all
RewriteEngine On
RewriteRule ^/radicale$ /radicale/ [R,L]
AuthType Basic
AuthName "Radicale - Se requiere contraseña"
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}
Order allow,deny
Allow from all
Guarda la configuración presionando ‘ Ctrl+x ‘ y escribe ‘ y ‘, luego presiona ‘ Enter ‘.
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.
- A continuación, ejecuta el siguiente comando para activar la configuración del host virtual ‘radicale.conf’.
sudo a2ensite radicale.conf- Después de eso, verifica la configuración de Apache y asegúrate de que no haya errores, luego reinicia el servicio de Apache para aplicar la nueva configuración del host virtual.
sudo apachectl configtest
sudo systemctl restart apache2Si tu configuración de Apache es correcta, verás el mensaje ‘ Syntax OK ‘ después de ejecutar el comando ‘apachectl’. Y a continuación está la salida similar que obtendrás.

Generar SSL Letsencrypt
Para esta etapa, estarás asegurando la instalación de radicale usando SSL Letsencrypt.
- Ejecuta el siguiente comando para instalar certbot y el plugin certbot-apache.
sudo apt install certbot python-certbot-apache- Después de que la instalación esté completa, genera un nuevo SSL Letsencrypt para el nombre de dominio radicale usando el comando certbot a continuación.
sudo certbot --apache -d domain-name.io -d www.domain-name.ioY se te harán algunas preguntas a continuación.
- Una dirección de correo electrónico: cuando el certificado SSL expire, se te notificará a este correo.
- TOS de Letsencrypt (Términos de Servicio): escribe ‘ A ‘ para aceptar.
- Compartir correo con EFF: puedes elegir ‘ N ‘ para no.
- Redirigir automáticamente HTTP a HTTPS: elige el número ‘2’ para habilitar la redirección automática.
Una vez que el proceso esté completo, verás que los certificados SSL están disponibles en el directorio ‘/etc/letsencrypt/live/domain.com’. Y el host virtual de Apache ha cambiado con la configuración adicional de letsencrypt.
Verificar la instalación
Abre tu navegador web y escribe la URL de instalación de radicale en la barra de direcciones.
https://cal.domain-name.io/radicale/
Ahora se te pedirá el usuario y la contraseña para la autenticación básica de Apache.

Escribe tu usuario y contraseña, luego haz clic en el botón ‘ Iniciar sesión ‘.
Y obtendrás la página de inicio de sesión de Radicale como a continuación.

Escribe tu usuario y contraseña para Radicale y haz clic en el botón ‘ Siguiente ‘.
Una vez que hayas iniciado sesión, haz clic en el enlace ‘ Crear una nueva libreta de direcciones o calendario ‘.

Cambia el título, la descripción, el tipo y el color por los tuyos, luego haz clic en el botón ‘ Crear ‘.

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

Conclusión
¡Felicidades! Ahora has instalado Radicale con éxito en el servidor Ubuntu 20.04. Para la siguiente etapa, puedes conectarte a tu nuevo servidor radicale de forma segura utilizando los clientes CalDAV/CardDAV desde tu computadora o smartphone android.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.