Guía: Instalar y Configurar Caddy Server en Ubuntu 24.04
Si alguna vez has peleado configurando certificados SSL con Nginx o Apache, te va a encantar Caddy. Es un servidor web moderno y un proxy inverso increíblemente rápido que incluye una característica estrella: HTTPS automático y renovaciones automáticas por defecto.
En este tutorial, vamos a instalar la versión oficial de Caddy en nuestro servidor Ubuntu 24.04 (previamente securizado) y lo dejaremos listo para servir nuestra primera web o aplicación.
Paso 1: Instalar dependencias necesarias
Conéctate a tu servidor por SSH con tu usuario administrador (con permisos sudo) y asegúrate de tener instalados los paquetes básicos para poder descargar repositorios externos de forma segura:
sudo apt update
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
Paso 2: Añadir el repositorio oficial de Caddy
Para asegurarnos de tener siempre la última versión estable, vamos a descargar e instalar la llave GPG oficial de Caddy y a añadir su repositorio a nuestro sistema.
Primero, descarga la llave GPG:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
Luego, añade el repositorio a tu lista de fuentes (sources.list):
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
Paso 3: Instalar Caddy
Ahora que el sistema sabe de dónde descargar Caddy, simplemente actualiza la lista de paquetes e instálalo:
sudo apt update
sudo apt install caddy -y
Una vez terminada la instalación, Caddy se inicia automáticamente como un servicio del sistema. Puedes verificar que está corriendo felizmente con:
sudo systemctl status caddy
Paso 4: Abrir los puertos en el Firewall (UFW)
Si seguiste nuestra guía de seguridad anterior, recordarás que cerramos todos los puertos excepto el del SSH. Para que el mundo pueda ver tus páginas web, necesitamos abrir los puertos HTTP (80) y HTTPS (443):
sudo ufw allow 80,443/tcp
sudo ufw reload
Si ahora introduces la IP pública de tu servidor en tu navegador web, verás la página de bienvenida por defecto de Caddy. ¡Funciona!
Paso 5: Conociendo el Caddyfile
Toda la magia de Caddy ocurre en un único archivo de configuración llamado Caddyfile. Se encuentra en la ruta /etc/caddy/Caddyfile.
Para editarlo, usa tu editor de texto favorito:
sudo nano /etc/caddy/Caddyfile
Un ejemplo básico para servir una web estática o hacer un proxy inverso hacia una aplicación (como un bot o una API) sería tan simple como esto:
tudominio.com {
reverse_proxy localhost:3000
}
Con esas tres simples líneas, Caddy generará el certificado SSL gratis, forzará la conexión a HTTPS y redirigirá el tráfico al puerto interno 3000 de tu servidor.
Siempre que modifiques el Caddyfile, recuerda recargar el servicio para aplicar los cambios sin apagar el servidor:
sudo systemctl reload caddy
¡Y eso es todo! Tienes un servidor web de última generación funcionando de forma segura. Adiós a las renovaciones manuales de certificados y a las configuraciones interminables.