No estás usando esta distribución?

Selecciona una versión o distribución diferente

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 9 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/caddy

Instalació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 caddy

Tambié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/caddyfile

Para 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 caddy

Tambié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

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación