Installation de Caddy et PHP 8 sur Rocky Linux 9/AlmaLinux 9
Ce guide étape par étape montre comment installer Caddy avec le support PHP 8 sur Rocky Linux 9/AlmaLinux 9 et obtenir un certificat SSL gratuit.
Caddy est un serveur Web gratuit, axé sur la sécurité, compatible HTTP/2, écrit en Go, conçu pour être simple, efficace et portable. Il offre des fonctionnalités modernes telles que la prise en charge des hôtes virtuels, la fonctionnalité de proxy inversé, etc. De plus, Caddy est le premier serveur Web à obtenir et renouveler automatiquement les certificats SSL/TLS à l'aide de Let's Encrypt.
La popularité de Caddy a grimpé en flèche au cours des dernières années en raison de sa facilité d'utilisation, de sa vitesse et de sa prise en charge native de SSL. Ainsi, il devient rapidement le serveur Web de choix pour de nombreux développeurs et administrateurs système.
Si vous débutez dans la configuration et la gestion de Caddy, ce processus peut sembler intimidant, mais ne vous inquiétez pas : nous vous avons facilité la tâche. En suivant les étapes de ce guide, vous pourrez rapidement et facilement faire fonctionner votre serveur Caddy avec la prise en charge de PHP 8 sur Rocky Linux 9 ou AlmaLinux 9 pour faciliter la configuration de votre site Web. Alors, mettons-nous au travail.
Conditions préalables
Vous aurez besoin d'accéder à un serveur Rocky Linux 9 ou AlmaLinux 9 pour terminer ce guide. De plus, toutes les commandes affichées sont exécutées par un utilisateur standard disposant des autorisations d'exécution sudo
. Par conséquent, vous devriez en posséder un.
Bien sûr, vous pouvez ignorer la partie sudo
des commandes et les exécuter directement en tant qu'utilisateur root. Le résultat sera le même dans les deux cas.
De plus, si vous utilisez un pare-feu sur le serveur, assurez-vous qu'il ne bloque pas les ports 80 et 443.
sudo firewall-cmd --permanent --add-service={http,https}
sudo firewall-cmd --reload
Si vous êtes préoccupé par la gestion de pare-feu, notre guide complet vous sera utile.
Étape 1 : Activer le référentiel COPR
Le serveur Web Caddy n'est pas disponible dans les référentiels Rocky ou Alma par défaut. Cependant, il peut être installé via le référentiel COPR (Cool Other Package Repo). Alors, ajoutons-le d’abord.
sudo dnf install 'dnf-command(copr)'
Activez-le ensuite en répondant « Y » après avoir exécuté la commande suivante :
sudo dnf copr enable @caddy/caddy
Étape 2 : Installer le serveur Web Caddy sur Rocky Linux 9/AlmaLinux 9
Installez le serveur web Caddy :
sudo dnf install caddy
Vous serez invité à accepter la clé GPG du référentiel COPR lors de l'installation. Répondez « O » et appuyez sur « Entrée ».
Étape 3 : Activer et démarrer le service Caddy
Une fois le Caddy installé, activez le démarrage automatique et démarrez le service.
sudo systemctl enable caddy
sudo systemctl start caddy
Vous pouvez vérifier l'état du service Caddy en exécutant la commande suivante :
sudo systemctl status caddy
Le résultat devrait être comme indiqué ci-dessous.
Maintenant, pointez votre navigateur vers le domaine que Caddy servira et la page Web par défaut de Caddy vous accueillera. Nous utiliserons le sous-domaine créé temporairement « caddy.tmplinux.com » pour ce guide. Bien entendu, remplacez-le par celui adapté à votre cas.
Vous serez accueilli par la page par défaut du serveur Web Caddy.
Comme vous pouvez le constater, Caddy est opérationnel et fonctionne comme prévu. Dans les étapes suivantes, nous ajouterons le support PHP, créerons un hôte virtuel pour notre domaine et obtiendrons automatiquement un certificat SSL Let's Encrypt gratuit.
Étape 4 : Installer PHP 8 sur Rocky Linux 9/AlmaLinux 9
Pour ajouter la prise en charge de PHP au serveur Web Caddy, vous devez installer et utiliser PHP-FPM pour exécuter les fichiers PHP. Ainsi, pour l'installer avec plusieurs modules PHP les plus utilisés, tapez la commande ci-dessous et, lorsque vous y êtes invité, saisissez « Y » pour confirmer.
sudo dnf install php-fpm php-mysqlnd php-gd php-cli php-curl php-mbstring php-bcmath php-zip php-opcache php-xml php-json php-intl
Ensuite, ouvrez le fichier « /etc/php-fpm.d/www.conf » :
sudo vim /etc/php-fpm.d/www.conf
Recherchez et modifiez les trois lignes suivantes :
user = apache
group = apache
listen.acl_users = apache,nginx
À ceci :
user = caddy
group = caddy
listen.acl_users = apache,nginx,caddy
Le résultat final devrait ressembler à ceci :
Enfin, enregistrez et quittez le fichier, puis activez le service PHP-FPM au démarrage du système et démarrez-le :
sudo systemctl enable php-fpm
sudo systemctl start php-fpm
Étape 5 : Configurer Caddy pour utiliser PHP et SSL
Avant de continuer, créez le répertoire dans lequel les fichiers de votre site Web seront hébergés. En d’autres termes, celui vers lequel vous indiquerez Caddy pour le répertoire racine de votre site Web. Par exemple, « /srv/www/caddy. »
sudo mkdir -p /srv/www/caddy
Si vous utilisez SELinux, vous devez modifier le contexte de sécurité des fichiers pour ce répertoire.
sudo chcon -t httpd_sys_content_t /srv/www/caddy -R
sudo chcon -t httpd_sys_rw_content_t /srv/www/caddy -R
Nous avons atteint la partie la plus agréable du processus, où le serveur Web Caddy brille dans toute sa splendeur : la configuration. Les administrateurs système habitués aux complexités des configurations Apache ou Nginx seront fascinés. De plus, la facilité avec laquelle vous pouvez configurer Caddy avec le support PHP et l'émission automatique de certificat SSL sur votre système Rocky Linux 9 ou AlmaLinux 9 est remarquable.
Ouvrez le fichier de configuration Caddy, « Caddyfile », à l'aide de votre éditeur de texte préféré, supprimez toutes les lignes et ajoutez les suivantes. Ne vous inquiétez pas si vous avez besoin d’aide pour comprendre à quoi ils servent. Je vais vous expliquer plus en détail ci-dessous.
sudo vim /etc/caddy/Caddyfile
caddy.tmplinux.com {
root * /srv/www/caddy
tls [email
encode gzip zstd
php_fastcgi unix//run/php-fpm/www.sock
}
Le résultat final devrait ressembler à ceci :
caddy.tmplinux.com
: Le nom de domaine que le serveur Web Caddy servira. Remplacez-le par celui que vous utilisez.root * /srv/www/caddy
: Le chemin complet vers le répertoire racine contenant les fichiers de votre site Web.tls [email
: demande à Caddy d'émettre automatiquement un certificat SSL Let's Encrypt gratuit, et l'adresse e-mail à laquelle les notifications destinées au propriétaire seront envoyées est spécifiée.encode gzip zstd
: Spécifie l'utilisation de la compression pour des performances rapides.php_fastcgi unix//run/php-fpm/www.sock
: Le chemin d'accès au fichier socket où le service PHP-FPM écoute.
Tout est prêt. Enregistrez le fichier et quittez. Il ne reste plus qu'à redémarrer le service Caddy pour appliquer les nouveaux paramètres de configuration.
sudo systemctl restart caddy
Étape 6 : Vérifiez la prise en charge de Caddy PHP et SSL
Vous avez terminé l'installation de Caddy avec support PHP et SSL sur Rocky Linux 9/AlmaLinux 9. Créons donc un fichier PHP de test pour vérifier que PHP-FPM fonctionne et est intégré avec succès à Caddy.
echo "<?php phpinfo(); ?>" | sudo tee /srv/www/caddy/index.php
Finalement, vous êtes arrivé à la partie la plus amusante du processus : profiter des résultats de vos efforts. Chargeons donc l'adresse du domaine dans un navigateur, dans notre cas, « caddy.tmplinux.com. »
Bon travail! Comme vous pouvez le voir, une page Web contenant des informations complètes sur l'installation de PHP apparaît. Caddy a également émis automatiquement un certificat SSL pour le domaine, sécurisant ainsi la communication avec le site Web. Mais dans quelle mesure la combinaison de Caddy et du certificat Let’s Encrypt est-elle sûre ? Vérifions-le chez Qualys SSL Labs. Oui, le score maximum possible !
Enfin, je voudrais apporter une précision nécessaire. Caddy ne peut pas émettre de certificat SSL si votre serveur se trouve derrière un service proxy fourni par Cloudflare, DigitalOcean ou des services similaires en raison des spécificités de la façon dont le trafic est proxy.
En d'autres termes, Caddy doit être précompilé avec des modules supplémentaires pour utiliser cette fonctionnalité. La procédure est simple, mais comme elle sort du cadre de cet article, elle sera détaillée dans un article séparé.
Conclusion
Ce guide vous a montré comment installer le serveur Web Caddy avec PHP 8 et prise en charge SSL sur Rocky Linux 9 ou AlmaLinux 9, afin que les applications Web basées sur PHP puissent s'exécuter sur votre serveur. L'outil certbot
est une autre option permettant d'obtenir un certificat SSL Let's Encrypt gratuit. Notre guide pratique vous montrera comment procéder.
Caddy est livré avec un solide support SSL intégré directement dans son noyau. De plus, il émet automatiquement des certificats SSL et configure en toute sécurité la configuration SSL. Veuillez donc consulter le site Web et la documentation du projet pour des informations supplémentaires et détaillées sur Caddy.
Dans l'ensemble, Caddy est une alternative fiable à Nginx. L'installer avec le support PHP 8 sur Rocky ou Alma et obtenir un certificat SSL Let's Encrypt est simple et efficace, ce qui en fait un excellent choix pour ceux qui cherchent à configurer un serveur Web rapide, sécurisé et fiable sur leur système Linux d'entreprise.