Comment installer le serveur Web Caddy sur Debian 11

Caddy est un serveur Web gratuit, open-source et moderne écrit en langage GO. C’est un serveur Web léger et commercial qui prend en charge les protocoles HTTP/2 et HTTP/3 expérimental. Il peut fonctionner n’importe où sans aucune dépendance externe et est étendu via des plugins. Il est conçu dans un souci de sécurité et offre un certain nombre de fonctionnalités utiles pour l’hébergement de sites Web.

Dans ce tutoriel, je vais t’expliquer comment installer le serveur Web Caddy sur Debian 11.

Conditions préalables

  • Un serveur fonctionnant sous Debian 11.
  • Un nom de domaine valide pointé avec l’IP de ton serveur.
  • Un mot de passe root est configuré sur le serveur.

Installer Caddy sur Debian 11

Par défaut, le paquet Caddy n’est pas inclus dans le dépôt par défaut de Debian 11. Tu devras donc ajouter le dépôt Caddy à ton système.

Tout d’abord, installe toutes les dépendances nécessaires à l’aide de la commande suivante :

apt-get install -y curl debian-keyring debian-archive-keyring apt-transport-https

Ensuite, télécharge et ajoute la clé GPG à l’aide de la commande suivante :

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add -

Ensuite, ajoute un référentiel Caddy à l’APT à l’aide de la commande suivante :

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list

Ensuite, mets à jour le référentiel et installe le serveur Web Caddy en exécutant la commande suivante :

apt-get update
apt-get install caddy -y

Une fois que le Caddy a été installé, vérifie la version de Caddy à l’aide de la commande suivante :

caddy version

Tu obtiendras la sortie suivante :

v2.4.5 h1:P1mRs6V2cMcagSPn+NWpD+OEYUYLIf6ecOa48cFGeUg=

Pour permettre au binaire Caddy de se connecter à des ports privilégiés comme 80 et 443, exécute la commande suivante :

setcap 'cap_net_bind_service=+ep' /usr/bin/caddy

Gérer le service Caddy

Tu peux gérer le service Caddy à l’aide de systemd.

Pour démarrer le service Caddy, exécute la commande suivante :

systemctl start caddy

Pour arrêter le service Caddy, exécute la commande suivante :

systemctl stop caddy

Pour permettre au service Caddy de démarrer au redémarrage du système, exécute la commande suivante :

systemctl enable caddy

Pour vérifier l’état du service Caddy, exécute la commande suivante :

systemctl status caddy

Tu obtiendras le résultat suivant :

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

Activer la prise en charge de PHP dans Caddy

Tout d’abord, installe PHP et les autres extensions nécessaires à l’aide de la commande suivante :

apt-get install php-fpm php-mysql php-curl php-gd php-mbstring php-common php-xml php-xmlrpc -y

Après avoir installé PHP, modifie le fichier de configuration de PHP-FPM et change l’utilisateur et le groupe par défaut avec caddy :

nano /etc/php/7.4/fpm/pool.d/www.conf

Cherche et remplace le nom de l’utilisateur et du groupe de www-data par caddy :

user = caddy
group = caddy
listen.owner = caddy
listen.group = caddy

Enregistre et ferme le fichier puis redémarre le service PHP-FPM pour appliquer les modifications :

systemctl restart php7.4-fpm

Créer le fichier de configuration de l’hôte virtuel Caddy

Le fichier de configuration de l’hôte virtuel par défaut de Caddy se trouve dans /etc/caddy/Caddyfile.

Modifie le fichier /etc/caddy/Caddyfile avec la commande suivante :

nano /etc/caddy/Caddyfile

Supprime toutes les lignes et ajoute les lignes suivantes :

caddy.example.com:80 {
    root * /usr/share/caddy/
    encode gzip zstd
    php_fastcgi unix//run/php/php7.4-fpm.sock
}

Enregistre et ferme le fichier puis redémarre le service Caddy pour appliquer les modifications :

systemctl restart caddy

Ensuite, crée un fichier PHP type pour Caddy à l’aide de la commande suivante :

nano /usr/share/caddy/info.php

Ajoute les lignes suivantes :

<?php

phpinfo();
?>

Sauvegarde et ferme le fichier lorsque tu as terminé.

Accède au site Web de Caddy

Maintenant, ouvre ton navigateur Web et accède au site Web de Caddy en utilisant l’URL http://caddy.example.com/info.php. Tu devrais voir la page PHP sur l’écran suivant :

PHP Info page

Conclusion

Félicitations ! Tu as réussi à installer le serveur Web Caddy sur Debian 11. Tu peux maintenant comment ton propre site Web en utilisant le serveur Web Caddy. N’hésite pas à me demander si tu as des questions.

Vous aimerez aussi...