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 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 update

Y después instalar:

apk add caddy

Para que Caddy se inicie automáticamente al arrancar el servidor con OpenRC, debemos añadirlo al inicio con el siguiente comando:

apk add caddy-openrc

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:

rc-service caddy restart

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