Caddy serveur + PHP sur Debian 12 bookworm
Caddy est un serveur Web open source écrit en Go. Il est connu pour sa simplicité et sa facilité d’utilisation, et il est particulièrement célèbre pour sa prise en charge automatique du HTTPS.
Caddy Debian
Installer et configurer le serveur Web Caddy sur Debian 12 Bookworm . Caddy est un serveur Web simple et sécurisé doté de fonctionnalités étonnantes utiles pour l’hébergement de sites Web. L’une des fonctionnalités étonnantes est qu’il peut obtenir et gérer automatiquement les certificats TLS de Let’s Encrypt pour activer HTTPS et inclut la prise en charge de HTTP/2.
Installez les clés requises et le transport HTTPS
Les packages debian-keyring
et debian-archive-keyring
contiennent les clés d’archive de l’archive Debian, garantissant l’authenticité des packages téléchargés à partir des référentiels Debian. Le package apt-transport-https
permet au gestionnaire de packages APT de récupérer des packages via HTTPS, garantissant une communication sécurisée.
1
sudo apt install curl debian-keyring debian-archive-keyring apt-transport-https
Ces commandes rafraîchiront la liste des paquets et installeront les outils nécessaires pour ajouter le dépôt Caddy et gérer les connexions HTTPS.
Installation de Caddy sur Debian 12.
Ensuite, nous ajouterons le dépôt officiel de Caddy à notre système. Cela garantit que nous avons accès à la dernière version de Caddy et peut facilement la mettre à jour à l’avenir. Suivez ces étapes :
1
2
3
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
curl -1sLf
: télécharge les données à partir d’une URL.- Les indicateurs
-1sLf
garantissent que l’opération suit les redirections ( L), échoue silencieusement en cas d’erreurs du serveur ( f) et utilise des connexions sécurisées ( 1s). - URL
'https://dl.cloudsmith.io/public/caddy/stable/gpg.key'
: Il s’agit de l’adresse où se trouve la clé GPG du référentiel Caddy. |
: redirige la clé téléchargée vers la commande suivante.
Mettre à jour l’index des paquets pour reconnaître le nouveau dépôt :
1
sudo apt update
Installez Caddy
Avec le dépôt ajouté, nous pouvons maintenant installer Caddy en utilisant le gestionnaire de paquets APT. Exécutez la commande suivante :
1
sudo apt install caddy
Cela installera le serveur Web Caddy sur votre système.
Pour vérifier si Caddy est correctement installé, vous pouvez exécuter : caddy version
1
v2.10.0 h1:fonubSaQKF1YANl8TXqGcn4IbIRUDdfAkpcsfI/vX5U=
L’installation de Caddy Web Server est maintenant terminée. Vous avez téléchargé et installé Caddy avec succès, et il est prêt à être configuré pour l’hébergement de sites Web.
Vérifier que le serveur Web Caddy est actif et fonctionne sur Debian 12
1
sudo systemctl status caddy
1
2
3
4
5
6
7
8
9
10
● caddy.service - Caddy
Loaded: loaded (/lib/systemd/system/caddy.service; enabled; preset: enabled)
Active: active (running) since Wed 2025-04-23 11:02:19 UTC; 6min ago
Docs: https://caddyserver.com/docs/
Main PID: 13259 (caddy)
Tasks: 6 (limit: 764)
Memory: 12.0M
CPU: 354ms
CGroup: /system.slice/caddy.service
└─13259 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile
Configurer Caddy.
Caddy utilise un fichier de configuration appelé Caddyfile pour définir comment il doit servir votre site Web. Laissez créer un fichier Caddyfile de base pour servir un site statique:
1
sudo mkdir /var/www/example.com
Créer un fichier index.html dans le répertoire :
1
echo "Hello, World!" | sudo tee /var/www/example.com/index.html
Ouvrez un nouveau fichier Caddy en utilisant un éditeur de texte (p. ex. nano):
1
sudo nano /etc/caddy/Caddyfile
Ajouter le contenu suivant au panier:
1
2
3
4
example.com {
root * /var/www/example.com
file_server
}
Enregistrer le fichier et démarrer Caddy:
1
sudo systemctl start caddy
Testez votre configuration en accédant à http://exemple.com dans votre navigateur Web. Vous devriez voir le message “Hello, World!”.
Autoriser les connexions HTTP et HTTPS dans le pare-feu UFW
Pour permettre à Caddy de servir des sites Web à l’aide des protocoles HTTP et HTTPS , vous devez accorder l’accès aux ports 80 et 443. Exécutez les commandes suivantes pour autoriser les ports requis dans le pare-feu UFW
1
sudo ufw allow proto tcp from any to any port 80,443
Configurer PHP pour le serveur Web Caddy
Pour installer la version de 8 de php, ajouter le dépôt sury.
1
2
3
sudo apt install -y lsb-release apt-transport-https ca-certificates wget
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" |sudo tee /etc/apt/sources.list.d/php.list
Mise à jour des dépôts :
1
sudo apt update && sudo apt upgrade -y
PHP8.2 requis pour nextcloud hub:
1
sudo apt -y install php8.2 php8.2-fpm php8.2-sqlite3 php8.2-cli php8.2-gd php8.2-imap php8.2-mysql php8.2-soap php8.2-apcu php8.2-common php8.2-gmp php8.2-intl php8.2-opcache php8.2-xml php8.2-curl php8.2-igbinary php8.2-readline php8.2-zip php8.2-bcmath php8.2-imagick php8.2-mbstring php8.2-redis imagemagick libmagickcore-6.q16-6-extra php8.2-bz2 php8.2-smbclient
Vérifiez votre installation PHP en vérifiant sa version :
1
php --version
Sortie
1
2
3
4
PHP 8.2.19 (cli) (built: May 14 2024 05:43:53) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.19, Copyright (c) Zend Technologies
with Zend OPcache v8.2.19, Copyright (c), by Zend Technologies
Ensuite, vous devez modifier le fichier de configuration PHP-FPM et modifier l’utilisateur et le groupe par défaut avec Caddy.
Ouvrez le fichier avec votre éditeur de texte préféré
1
sudo nano /etc/php/8.2/fpm/pool.d/www.conf
Dans le fichier, recherchez les lignes ci-dessous et changez leur valeur en Caddy :
1
2
3
4
user = caddy
group = caddy
listen.owner = caddy
listen.group = caddy
Redémarrer PHP-FPM pour appliquer les modifications :
1
sudo systemctl restart php8.2-fpm
Configuration Caddy PHP
modifier 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 à l’adresse /etc/caddy/Caddyfile
1
sudo nano /etc/caddy/Caddyfile
Supprimez les lignes du fichier et ajoutez les lignes suivantes au fichier avec votre nom de domaine
1
2
3
4
5
icevps.xyz:80 {
root * /usr/share/caddy/
encode gzip zstd
php_fastcgi unix//run/php/php8.2-fpm.sock
}
Redémarrez le service Caddy sur Debian 12 pour appliquer les modifications :
1
sudo systemctl restart caddy
Ensuite, créez un exemple de fichier PHP pour Caddy avec la commande suivante :
1
sudo nano /usr/share/caddy/info.php
Ajoutez le contenu suivant au fichier :
1
2
3
<?php
phpinfo();
?>
Vous pouvez accéder au site Caddy en tapant votre nom de domaine dans votre navigateur web suivi de info.php :
http://icevps.xyz/info.php
Vous devriez voir vos informations PHP sur Debian 12.
Lorsque vous avez fini de lire vos informations PHP, il est préférable de supprimer votre fichier PHP pour plus de sécurité.
1
sudo rm -rf /usr/share/caddy/info.php
Pour plus d’informations, vous pouvez visiter la documentation Caddy