Caddy es un servidor web gratuito, de código abierto y moderno escrito en lenguaje GO. Es un servidor web ligero y compatible comercialmente que admite los protocolos HTTP/2 y HTTP/3 experimental. Puede ejecutarse en cualquier lugar sin dependencias externas y se expande a través de complementos. Está diseñado teniendo en cuenta la seguridad y proporciona una serie de funciones que son útiles para alojar sitios web.
En este tutorial, explicaré cómo instalar el servidor web Caddy en Debian 11.
Requisitos
- Un servidor que ejecuta Debian 11.
- Un nombre de dominio válido apuntado con la IP de su servidor.
- Se configura una contraseña raíz en el servidor.
Instalar Caddy en Debian 11
De forma predeterminada, el paquete Caddy no está incluido en el repositorio predeterminado de Debian 11. Por lo tanto, deberá agregar el repositorio de Caddy a su sistema.
Primero, instale todas las dependencias requeridas usando el siguiente comando:
apt-get install -y curl debian-keyring debian-archive-keyring apt-transport-https
A continuación, descargue y agregue la clave GPG con el siguiente comando:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add -
Luego, agregue un repositorio de Caddy a la APT usando el siguiente comando:
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
A continuación, actualice el repositorio e instale el servidor web Caddy ejecutando el siguiente comando:
apt-get update
apt-get install caddy -y
Una vez que se haya instalado Caddy, verifique la versión de Caddy usando el siguiente comando:
caddy version
Obtendrá el siguiente resultado:
v2.4.5 h1:P1mRs6V2cMcagSPn+NWpD+OEYUYLIf6ecOa48cFGeUg=
Para permitir que caddy binary se conecte a puertos privilegiados como 80 y 443, ejecute el siguiente comando:
setcap 'cap_net_bind_service=+ep' /usr/bin/caddy
Gestionar servicio Caddy
Puede administrar el servicio Caddy usando systemd.
Para iniciar el servicio Caddy, ejecute el siguiente comando:
systemctl start caddy
Para detener el servicio Caddy, ejecute el siguiente comando:
systemctl stop caddy
Para permitir que el servicio Caddy se inicie al reiniciar el sistema, ejecute el siguiente comando:
systemctl enable caddy
Para verificar el estado del servicio Caddy, ejecute el siguiente comando:
systemctl status caddy
Obtendrá el siguiente resultado:
? caddy.service - Caddy Loaded: loaded (/lib/systemd/system/caddy.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2021-10-16 14:34:44 UTC; 2min 30s ago Docs: https://caddyserver.com/docs/ Main PID: 2370 (caddy) Tasks: 7 (limit: 2341) Memory: 17.5M CPU: 30ms CGroup: /system.slice/caddy.service ??2370 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile Oct 16 14:34:44 debian11 caddy[2370]: JOURNAL_STREAM=8:16308 Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.658216,"msg":"using provided configuration","config_file":"/etc/caddy/Ca> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6623824,"logger":"admin","msg":"admin endpoint started","address":"tcp/l> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6626618,"logger":"http","msg":"server is listening only on the HTTP port> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.663054,"msg":"autosaved config (load with --resume flag)","file":"/var/l> Oct 16 14:34:44 debian11 systemd[1]: Started Caddy. Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6655433,"msg":"serving initial configuration"} Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6656897,"logger":"tls","msg":"cleaning storage unit","description":"File> Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6657932,"logger":"tls","msg":"finished cleaning storage units"} Oct 16 14:34:44 debian11 caddy[2370]: {"level":"info","ts":1634394884.6694443,"logger":"tls.cache.maintenance","msg":"started background certi>
Habilitar soporte de PHP en Caddy
Primero, instale PHP y otras extensiones necesarias usando el siguiente comando:
apt-get install php-fpm php-mysql php-curl php-gd php-mbstring php-common php-xml php-xmlrpc -y
Después de instalar PHP, edite el archivo de configuración de PHP-FPM y cambie el usuario y el grupo predeterminados con caddy:
nano /etc/php/7.4/fpm/pool.d/www.conf
Busque y reemplace el nombre de usuario y grupo de www-data a caddy:
user = caddy group = caddy listen.owner = caddy listen.group = caddy
Guarde y cierre el archivo y luego reinicie el servicio PHP-FPM para aplicar los cambios:
systemctl restart php7.4-fpm
Crear archivo de configuración de host virtual de Caddy
El archivo de configuración de host virtual predeterminado de Caddy se encuentra en /etc/caddy/Caddyfile .
Edite el archivo /etc/caddy/Caddy archivo con el siguiente comando:
nano /etc/caddy/Caddyfile
Elimine todas las líneas y agregue las siguientes líneas:
caddy.example.com:80 { root * /usr/share/caddy/ encode gzip zstd php_fastcgi unix//run/php/php7.4-fpm.sock }
Guarde y cierre el archivo, luego reinicie el servicio Caddy para aplicar los cambios:
systemctl restart caddy
A continuación, cree un archivo PHP de muestra para Caddy con el siguiente comando:
nano /usr/share/caddy/info.php
Agregue las siguientes líneas:
<?php phpinfo(); ?>
Guarde y cierre el archivo cuando haya terminado.
Acceder al sitio web de Caddy
Ahora, abra su navegador web y acceda al sitio web de Caddy usando la URL http://caddy.example.com/info.php . Debería ver la página de PHP en la siguiente pantalla:
Conclusión
¡Felicidades! ha instalado con éxito el servidor web Caddy en Debian 11. Ahora puede crear su propio sitio web utilizando el servidor web Caddy. Siéntase libre de preguntarme si tiene alguna pregunta.