Caddy es una alternativa relativamente nueva a Apache y Nginx aunque fue lanzado inicialmente en 2015. Es un servidor web de código abierto construido con lenguaje Go y utiliza HTTPS por defecto.
Como cualquier otro servidor web, Caddy se puede utilizar como un servidor web que sirve tanto sitios web estáticos como dinámicos. Caddy ofrece un servidor de archivos estáticos versátil y eficiente. También se puede utilizar como un Proxy Inverso robusto y escalable.
A continuación explicaremos como instalar Caddy en Alpine Linux y como se tiene que hacer la configuración.
Instalación de Caddy Web Server
Caddy está disponible por defecto en los repositorios de Alpine Linux, así que no es necesario realizar pasos adicionales para añadirlo. Aun así, antes de instalar cualquier paquete, siempre es recomendable actualizar los repositorios:
apk updateY después instalar:
apk add caddyPara que Caddy se inicie automáticamente al arrancar el servidor con OpenRC, debemos añadirlo al inicio con el siguiente comando:
apk add caddy-openrcTambién puedes verificar que Caddy está funcionando intentando acceder a él en tu navegador web favorito. En la barra de direcciones de nuestro navegador pondremos a http://IP_SERVIDOR y verá lo siguiente:

Configuración de Caddy Web Server
La configuración de Caddy es bastante sencilla y lo que tenemos que tener en cuenta es que el fichero de configuración se encuentra en /etc/caddy/Caddyfile:
# The Caddyfile is an easy way to configure your Caddy web server.
#
# Unless the file starts with a global options block, the first
# uncommented line is always the address of your site.
#
# To use your own domain name (with automatic HTTPS), first make
# sure your domain's A/AAAA DNS records are properly pointed to
# this machine's public IP, then replace ":80" below with your
# domain name.
:80 {
# Set this path to your site's directory.
root * /usr/share/caddy
# Enable the static file server.
file_server
# Another common task is to set up a reverse proxy:
# reverse_proxy localhost:8080
# Or serve a PHP site through php-fpm:
# php_fastcgi localhost:9000
}
# Refer to the Caddy docs for more information:
# https://caddyserver.com/docs/caddyfilePara configurar un dominio en esta configuración únicamente tendremos que reemplazar :80 por nuestro dominio. Además, si queremos cambiar la ruta de nuestra web tendremos que modificar el parámetro root.
voidnull.es {
root * /var/www/html/voidnull
file_server
}Para recargar la configuración tenemos que reiniciar el servicio:
rc-service caddy restartTambién si queremos podemos configurar los logs para el acceso:
voidnull.es {
root * /var/www/html/voidnull
file_server
log {
output file /var/log/caddy/access.log
format console
}
}Por otro lado, si tenemos una web que está funcionando con PHP la configuración debería de ser similar a esta:
voidnull.es {
root * /var/www/html/voidnull
file_server
encode zstd gzip
php_fastcgi unix//run/php/php8.3-fpm.sock
log {
output file /var/log/caddy/access.log
format console
}
}O si por ejemplo queremos configurar Caddy para usarlo de Proxy Reverse, podemos usarlo de esta otra manera:
voidnull.es {
root * /var/www/html/voidnull
file_server
encode zstd gzip
reverse_proxy localhost:3000
log {
output file /var/log/caddy/access.log
format console
}
}Más sobre ./voidNull
- 📖 Aprende todos sobre los comandos de GNU/Linux en nuestro Diccionario "De la A a la Z: Los comandos de GNU/Linux"
- 💪 ¡Forma parte de la Comunidad de ./voidNull!
- 🤖 Disfruta de todos nuestros Cursos sobre Ansible, Proxmox, Home Assistant entre otros.
- 📩 Mantente actualizado con lo último en GNU/Linux y Software Libre. Recibe nuestra Newsletter mensual.
Comentarios