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 AlmaLinux 10 y como se tiene que hacer la configuración.
Paquetes necesarios
Existen al menos tres métodos para instalar Caddy. Podemos instalarlo simplemente descargando el binario ejecutable, instalarlo compilando el código fuente, o instalarlo desde el repositorio. En este artículo, instalaremos Caddy utilizando el repositorio.
Añadir repositorio
Tendremos que añadir el repositorio de Caddy de la siguiente forma:
dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddyInstalación de Caddy Web Server
Añadimos el repositorio en el paso anterior y actualizamos el índice de paquetes. Por último, podemos ejecutar este comando a continuación para instalar Caddy.
dnf install caddy
Tras la instalación, Caddy estará desactivado, por lo que podemos habilitarlo con este comando:
systemctl start caddy
Luego podemos comprobar el estado del servicio con este otro comando:
systemctl status caddyTambié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:
systemctl reload caddyTambié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