GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et configurer Caddy Web Server avec PHP sur Rocky Linux 8

Caddy est un serveur Web gratuit, open-source, léger et moderne écrit en langage Go. Vous pouvez utiliser Caddy comme serveur de fichiers, serveur dynamique et proxy inverse évolutif. Vous pouvez étendre les fonctionnalités du serveur via des plugins. Caddy est livré avec un large éventail de fonctionnalités, dont certaines sont répertoriées ci-dessous :

  • Hébergement virtuel
  • HTTPS automatique via Let's Encrypt
  • Prend en charge HTTP/2
  • Extensible avec des plugins
  • Fonctionne sans aucune dépendance externe

Dans cet article, nous vous montrerons comment installer le serveur Web Caddy avec prise en charge de PHP sur Rocky Linux 8.

Prérequis

  • Un serveur exécutant Rocky Linux 8 sur la plate-forme cloud Atlantic.Net
  • Un mot de passe root configuré sur votre serveur

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Rocky Linux 8 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois connecté à votre serveur, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

dnf update -y

Étape 2 - Installer le serveur Web Caddy

dnf install 'dnf-command(copr)'
dnf copr enable @caddy/caddy

Une fois le référentiel activé, vous pouvez installer le serveur Web Caddy avec la commande suivante :

dnf install caddy -y

Une fois le Caddy installé, vérifiez la version du Caddy à l'aide de la commande suivante :

caddy version

Exemple de sortie :

v2.4.6 h1:HGkGICFGvyrodcqOOclHKfvJC0qTU7vny/7FhYp9hNw=

Ensuite, démarrez le service Caddy et activez-le pour qu'il démarre au redémarrage du système :

systemctl start caddy
systemctl enable caddy

Maintenant, ouvrez votre navigateur Web et accédez au serveur Web Caddy en utilisant l'URL http://your-server-ip . Vous devriez voir la page de test du Caddie sur l'écran suivant :

Étape 3 - Créer un nouveau site sur Caddy

Commencez par créer une structure de répertoires pour le nouveau site Web à l'aide de la commande suivante :

mkdir -p /var/www/example.com
mkdir /var/log/caddy

Ensuite, définissez la propriété appropriée sur le nouveau site Web :

chown caddy:caddy /var/www/example.com
chown caddy:caddy /var/log/caddy

Créez ensuite une page index.html pour le nouveau site Web :

nano /var/www/example.com/index.html

Ajoutez les lignes suivantes :

<!DOCTYPE html>
<html>
<head>
<title>Caddy Web Server</title>
</head>
<body>
<h1>This is my first web page on Caddy!</h1>
</body>
</html>

Enregistrez et fermez le fichier lorsque vous avez terminé.

Étape 4 - Créer un fichier de configuration d'hôte virtuel

Ensuite, vous devrez modifier le fichier de configuration de Caddy pour héberger le nouveau site Web. Vous pouvez le modifier avec la commande suivante :

nano /etc/caddy/Caddyfile

Supprimez toutes les lignes et ajoutez les lignes suivantes :

test.example.com:80 {
        root * /var/www/example.com
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, validez le fichier de configuration de Caddy :

caddy validate --adapter caddyfile --config /etc/caddy/Caddyfile

Vous devriez voir le résultat suivant :

2021/11/17 09:59:04.997	INFO	using provided configuration	{"config_file": "/etc/caddy/Caddyfile", "config_adapter": "caddyfile"}
2021/11/17 09:59:05.000	WARN	input is not formatted with 'caddy fmt'	{"adapter": "caddyfile", "file": "/etc/caddy/Caddyfile", "line": 27}
2021/11/17 09:59:05.000	INFO	http	server is listening only on the HTTPS port but has no TLS connection policies; adding one to enable TLS	{"server_name": "srv0", "https_port": 443}
2021/11/17 09:59:05.001	INFO	http	enabling automatic HTTP->HTTPS redirects	{"server_name": "srv0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	started background certificate maintenance	{"cache": "0xc00057a8c0"}
2021/11/17 09:59:05.001	INFO	tls.cache.maintenance	stopped background certificate maintenance	{"cache": "0xc00057a8c0"}
Valid configuration

Ensuite, redémarrez le service Caddy pour appliquer les modifications :

systemctl restart caddy

Vous pouvez également vérifier le service Caddy à l'aide de la commande suivante :

systemctl status caddy

Vous obtiendrez le résultat suivant :

● caddy.service - Caddy
   Loaded: loaded (/usr/lib/systemd/system/caddy.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2021-11-17 10:00:23 UTC; 4s ago
     Docs: https://caddyserver.com/docs/
 Main PID: 20077 (caddy)
    Tasks: 6 (limit: 11411)
   Memory: 24.9M
   CGroup: /system.slice/caddy.service
           └─20077 /usr/bin/caddy run --environ --config /etc/caddy/Caddyfile

Nov 17 10:00:23 rockylinux systemd[1]: Started Caddy.
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054335,"logger":"tls.cache.maintenance","msg":"started background c>
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8054764,"logger":"tls","msg":"cleaning storage unit","description":">
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8055048,"logger":"tls","msg":"finished cleaning storage units"}
Nov 17 10:00:23 rockylinux caddy[20077]: {"level":"info","ts":1637143223.8060036,"logger":"tls.obtain","msg":"lock acquired","identifier":"ex>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"error","ts":1637143224.0880945,"logger":"tls.obtain","msg":"could not get certificate from>
Nov 17 10:00:24 rockylinux caddy[20077]: {"level":"info","ts":1637143224.4512274,"logger":"tls.issuance.zerossl","msg":"generated EAB credent>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.7558215,"logger":"tls.issuance.acme","msg":"waiting on internal rate>
Nov 17 10:00:25 rockylinux caddy[20077]: {"level":"info","ts":1637143225.755876,"logger":"tls.issuance.acme","msg":"done waiting on internal >
Nov 17 10:00:27 rockylinux caddy[20077]: {"level":"info","ts":1637143227.8956456,"logger":"tls.issuance.acme.acme_client","msg":"trying to so

Maintenant, ouvrez votre navigateur Web et accédez au site Web de Caddy à l'aide de l'URL http://test.example.com . Vous devriez voir votre site Web sur l'écran suivant :

Étape 5 - Activer la prise en charge de PHP sur le serveur Web Caddy

Tout d'abord, vous devrez installer PHP et les autres extensions requises sur votre serveur. Vous pouvez tous les installer avec la commande suivante :

dnf install php-fpm php-cli php-gd -y

Une fois tous les packages installés, modifiez le fichier de configuration de Caddy :

nano /etc/caddy/Caddyfile

Définissez l'emplacement php_fastcgi comme indiqué ci-dessous :

test.example.com:80 {
        root * /var/www/example.com
	php_fastcgi unix//run/php-fpm/www.sock
        file_server
        encode gzip

        log {
             	output file /var/log/caddy/example.access.log
        }

	@static {
                file
                path *.ico *.css *.js *.gif *.jpg *.jpeg *.png *.svg *.woff *.pdf *.webp
        }
	header @static Cache-Control max-age=5184000

}

Enregistrez et fermez le fichier, puis modifiez le fichier PHP-FPM :

nano /etc/php-fpm.d/www.conf

Modifiez les lignes suivantes :

user = caddy
group = caddy
listen.acl_users = apache,nginx,caddy

Enregistrez et fermez le fichier, puis démarrez le service PHP-FPM et activez-le au redémarrage du système :

systemctl start php-fpm
systemctl enable php-fpm

Ensuite, créez un exemple de page info.php :

nano /var/www/example.com/info.php

Ajoutez la ligne suivante :

<?php phpinfo();
?>

Enregistrez et fermez le fichier, puis ouvrez votre navigateur Web et accédez à la page info.php en utilisant l'URL http://test.example.com/info.php . Vous obtiendrez la page suivante :

Conclusion

Dans le guide ci-dessus, nous avons expliqué comment installer Caddy avec PHP sur Rocky Linux 8. Caddy est une très bonne alternative à Apache et Nginx. Vous devriez l'essayer dans l'environnement de production - lancez-vous sur votre serveur privé virtuel d'Atlantic.Net !


Linux
  1. Comment installer et configurer Arch Linux en tant que serveur

  2. Comment installer et configurer Caddy Web Server avec PHP et MariaDB sur Ubuntu 20.04

  3. Comment installer et configurer Squid Proxy sur Rocky Linux/Alma Linux 8

  4. Comment installer et configurer Elasticsearch sur Rocky Linux 8

  5. Comment installer et configurer le serveur et le client Linux NTP

Comment installer OpenLiteSpeed ​​Web Server avec MariaDB et PHP

Comment installer et configurer Apache Webserver sur Oracle Linux 8

Comment installer et configurer le serveur Web Nginx sur Oracle Linux 8

Comment installer et configurer Django sur Linux VPS et Serveur Dédié ?

Comment installer et configurer Memcached avec Apache et PHP

Comment installer et configurer le serveur DNS sous Linux