Caddy est un serveur Web gratuit, open-source et moderne écrit en langage GO. Il s'agit d'un serveur Web léger et pris en charge commercialement qui prend en charge les protocoles HTTP/2 et HTTP/3 expérimental. Il peut fonctionner n'importe où sans dépendances externes 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 vous expliquer comment installer le serveur web Caddy sur Debian 11.
Prérequis
- Un serveur exécutant Debian 11.
- Un nom de domaine valide pointé vers l'adresse IP de votre 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 référentiel par défaut de Debian 11. Vous devrez donc ajouter le référentiel Caddy à votre système.
Tout d'abord, installez toutes les dépendances requises à l'aide de la commande suivante :
apt-get install -y curl debian-keyring debian-archive-keyring apt-transport-https
Ensuite, téléchargez et ajoutez la clé GPG avec la commande suivante :
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | apt-key add -
Ensuite, ajoutez 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, mettez à jour le référentiel et installez le serveur Web Caddy en exécutant la commande suivante :
apt-get update
apt-get install caddy -y
Une fois le Caddy installé, vérifiez la version du Caddy à l'aide de la commande suivante :
caddy version
Vous obtiendrez le résultat suivant :
v2.4.5 h1:P1mRs6V2cMcagSPn+NWpD+OEYUYLIf6ecOa48cFGeUg=
Pour permettre à caddy binary de se connecter à des ports privilégiés tels que 80 et 443, exécutez la commande suivante :
setcap 'cap_net_bind_service=+ep' /usr/bin/caddy
Gérer le service Caddie
Vous pouvez gérer le service Caddy à l'aide de systemd.
Pour démarrer le service Caddy, exécutez la commande suivante :
systemctl start caddy
Pour arrêter le service Caddy, exécutez la commande suivante :
systemctl stop caddy
Pour permettre au service Caddy de démarrer au redémarrage du système, exécutez la commande suivante :
systemctl enable caddy
Pour vérifier l'état du service Caddy, exécutez la commande suivante :
systemctl status caddy
Vous obtiendrez 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, installez 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, éditez le fichier de configuration PHP-FPM et changez l'utilisateur et le groupe par défaut avec caddy :
nano /etc/php/7.4/fpm/pool.d/www.conf
Recherchez et remplacez le nom d'utilisateur et de groupe de www-data par caddy :
user = caddy group = caddy listen.owner = caddy listen.group = caddy
Enregistrez et fermez le fichier puis redémarrez le service PHP-FPM pour appliquer les modifications :
systemctl restart php7.4-fpm
Créer un fichier de configuration d'hôte virtuel Caddy
Le fichier de configuration de l'hôte virtuel par défaut de Caddy se trouve dans /etc/caddy/Caddyfile .
Modifiez le /etc/caddy/Caddyfile fichier avec la commande suivante :
nano /etc/caddy/Caddyfile
Supprimez toutes les lignes et ajoutez les lignes suivantes :
caddy.example.com:80 { root * /usr/share/caddy/ encode gzip zstd php_fastcgi unix//run/php/php7.4-fpm.sock }
Enregistrez et fermez le fichier puis redémarrez le service Caddy pour appliquer les modifications :
systemctl restart caddy
Créez ensuite un exemple de fichier PHP pour Caddy à l'aide de la commande suivante :
nano /usr/share/caddy/info.php
Ajoutez les lignes suivantes :
<?php phpinfo(); ?>
Enregistrez et fermez le fichier lorsque vous avez terminé.
Accéder au site Web de Caddie
Maintenant, ouvrez votre navigateur Web et accédez au site Web de Caddy en utilisant l'URL http://caddy.example.com/info.php . Vous devriez voir la page PHP sur l'écran suivant :
Conclusion
Toutes nos félicitations! vous avez installé avec succès le serveur Web Caddy sur Debian 11. Vous pouvez maintenant créer votre propre site Web en utilisant le serveur Web Caddy. N'hésitez pas à me demander si vous avez des questions.