como instalar y configurar caddy web server en ubuntu 16.04 18.04 01

Como Instalar y Configurar Caddy Web Server en Ubuntu 16.04 | 18.04

¿Qué es Caddy Web Server?

Caddy es un servidor web escrito en el lenguaje de programación Go. Su diseño se centra en la facilidad de uso y en la configuración automática de HTTPS mediante Let’s Encrypt. El archivo de configuración principal se llama Caddyfile y utiliza una sintaxis legible que permite definir sitios, redirecciones y otras directivas en pocas líneas.

Como Instalar y Configurar Caddy Web Server en Ubuntu 16.04 | 18.04
Como Instalar y Configurar Caddy Web Server en Ubuntu 16.04 | 18.04

Características principales

  • Obtención y renovación automática de certificados TLS con Let’s Encrypt (u otras AC).
  • Soporte nativo de HTTP/2.
  • Servicio de archivos estáticos desde el directorio de trabajo actual.
  • Modularidad: funciones como compresión, encabezados personalizados, autenticación y proveedores de DNS se añaden mediante módulos.
  • Posibilidad de usar Caddy como biblioteca dentro de aplicaciones Go.
  • Ejecutable único que depende únicamente de las bibliotecas estándar del sistema (glibc, etc.).

Instalación en Ubuntu 22.04 o 24.04 LTS

El método recomendado es utilizar el script oficial de instalación, que descarga el binario más reciente de Caddy y lo coloca en /usr/local/bin.

  1. Abra una terminal y ejecute:

    curl -1sSfL https://getcaddy.com | bash
    
  2. El script solicitará su contraseña para copiar el binario a una ubicación con privilegios de root. Al finalizar, verá algo similar a:

    Downloading Caddy for linux/amd64...
    Download verification OK
    Extracting...
    Putting caddy in /usr/local/bin (may require password)
    Successfully installed
    
  3. Después de la instalación, el binario está disponible como caddy en la ruta del sistema.

Configuración básica

Crear la estructura de directorios

Caddy espera ciertos directorios para su funcionamiento como servicio. Los crearemos y ajustaremos sus permisos.

sudo mkdir -p /etc/caddy
sudo chown -R root:www-data /etc/caddy

sudo mkdir -p /etc/ssl/caddy
sudo chown -R www-data:www-data /etc/ssl/caddy
sudo chmod 0770 /etc/ssl/caddy

sudo mkdir -p /var/www
sudo chown www-data:www-data /var/www

Descargar la unidad systemd

El proyecto Caddy proporciona un archivo de unidad para que el servidor se ejecute como servicio.

sudo curl -s https://raw.githubusercontent.com/caddyserver/dist/master/init/caddy.service -o /etc/systemd/system/caddy.service

En este archivo se definen variables importantes:

  • Environment=CADDYPATH=/etc/ssl/caddy indica dónde se almacenarán los certificados.
  • ExecStart=/usr/local/bin/caddy run --environ --config=/etc/caddy/Caddyfile lanza el proceso usando el Caddyfile ubicado en /etc/caddy.

Crear un Caddyfile inicial

Crearemos un archivo de configuración vacío y luego lo poblaremos con un ejemplo básico.

sudo touch /etc/caddy/Caddyfile

Recargar systemd y habilitar el servicio

sudo systemctl daemon-reload
sudo systemctl enable caddy

Abrir puertos en el firewall (ufw)

Si utiliza ufw, permita el tráfico HTTP y HTTPS:

sudo ufw allow http/tcp
sudo ufw allow https/tcp

Editar el Caddyfile para un sitio de prueba

Abra el archivo con su editor favorito y añada el siguiente bloque, sustituyendo example.com por el dominio que intente usar (o localhost para pruebas locales).

example.com {
    root /var/www
    encode gzip
    tls [email protected]
}

La directiva tls indica a Caddy que solicite y renueve automáticamente un certificado Let's Encrypt usando la dirección de correo electrónico proporcionada. Si prefiere no especificar un correo, puede usar simplemente tls {} y Caddy utilizará el registro predeterminado de Let's Encrypt.

Iniciar el servicio

sudo systemctl start caddy

Compruebe su estado:

sudo systemctl status caddy

Debería mostrar active (running).

Crear una página de prueba

Para verificar que Caddy sirve contenido, coloque un archivo HTML en el directorio raíz definido anteriormente.

echo '<h1>Sitio de prueba con Caddy</h1>' | sudo tee /var/www/index.html

Abra un navegador y navegue a https://example.com (o http://localhost:2015 si ejecuta Caddy manualmente sin TLS). Debería ver el mensaje “Sitio de prueba con Caddy”.

Notas sobre versiones antiguas de Ubuntu

Ubuntu 16.04 y 18.04 alcanzaron su fin de vida (EOL) en abril de 2024. En esas versiones pueden faltar bibliotecas del sistema necesarias para ejecutar el binario actual de Caddy 2.x. Se recomienda utilizar Ubuntu 22.04 LTS o una versión más reciente para garantizar compatibilidad y recibir actualizaciones de seguridad.

Fuentes consultadas


Publicado

en

por

Etiquetas: