Cómo instalar el servidor web Caddy en Debian 11

Página de información de PHP

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 caracter√≠sticas que son √ļtiles para alojar sitios web.

En este tutorial, explicaré cómo instalar el servidor web Caddy en Debian 11.

requisitos previos

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio v√°lido apuntado con la IP de su servidor.
  • Una contrase√Īa de root est√° configurada 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

Administrar servicio de carrito

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 el 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, luego reinicie el servicio PHP-FPM para aplicar los cambios: Anuncio

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/archivoCaddy.

Editar el /etc/caddy/archivoCaddy 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.ejemplo.com/info.php. Debería ver la página de PHP en la siguiente pantalla:

Página de información de PHP

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. No dude en preguntarme si tiene alguna pregunta.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *