Le serveur Web Caddy ou Caddy est un serveur Web open source compatible HTTP/2 écrit en Go. Caddy peut fonctionner sur divers systèmes, y compris ceux exécutant les systèmes d'exploitation Linux, Windows, Mac OS, Android et BSD. Caddy possède de nombreuses fonctionnalités et peut être installé en tant que serveur Web et en tant que proxy inverse pour votre application. Les fonctionnalités les plus notables du serveur Web Caddy sont le HTTPS automatique activé par défaut sans configuration supplémentaire.
Dans ce tutoriel, je vais vous montrer étape par étape comment installer et configurer le serveur Web Caddy avec PHP-FPM 7.x sur Ubuntu 16.04. Nous allons installer caddy dans l'environnement local, puis configurer PHP-FPM pour les applications basées sur PHP.
Prérequis
- Serveur Ubuntu 16.04
- Privilèges root
Ce que nous allons faire
- Installer le serveur Web Caddy
- Configurer le serveur Web Caddie
- Exécuter Caddy en tant que service sur Systemd Ubuntu 16.04
- Installer PHP et PHP-FPM 7.0
- Configurer le serveur Web Caddy avec PHP-FPM
- Test
Étape 1 - Installer le serveur Web Caddy
Dans cette étape, nous allons installer le serveur Web Caddy à l'aide du script d'installation. Le script téléchargera automatiquement le fichier binaire et l'extraira dans le répertoire bin.
Téléchargez le script d'installation et rendez-le exécutable.
wget https://getcaddy.com -O getcaddy
chmod +x getcaddy
Exécutez maintenant le script d'installation avec sudo.
sudo ./getcaddy personal http.ipfilter,http.ratelimit
Remarque :
- getcaddie =script d'installation du caddie.
- personnel =licence pour notre installation.
- http.ipfileter ... =inclure l'installation des plugins caddy.
Attendez l'installation du serveur Web Caddie et vous obtiendrez le résultat ci-dessous.
Le serveur Web Caddy a été installé sur Ubuntu 16.04.
Étape 2 - Configuration de base du serveur Web Caddy
Dans cette étape, nous allons configurer le serveur Web Caddy. Nous allons créer un nouvel utilisateur nommé 'caddie', créer un nouveau répertoire pour le fichier de configuration du caddy, un nouveau répertoire pour les fichiers journaux du caddy et un nouveau répertoire pour le répertoire racine du caddy web.
Créez un nouvel utilisateur 'caddy' en utilisant l'option '/bin/false' comme indiqué ci-dessous.
useradd -M -s /bin/false caddy
Exécutez maintenant les commandes mkdir suivantes pour créer le répertoire caddy.
mkdir -p /etc/caddy
mkdir -p /var/log/caddy
mkdir -p /var/www/html
Et changez la propriété en utilisateur du caddy.
chown -R caddy:root /etc/caddy /var/log/caddy
Ensuite, nous allons créer un nouveau fichier de configuration de caddie nommé 'Caddyfile'. Accédez au répertoire '/etc/caddy' et créez la configuration avec la commande vim.
cd /etc/caddy/
vim Caddyfile
Collez-y la configuration de base du chariot.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
tls off
gzip
}
Enregistrez et quittez.
Remarque :
- tls off =nous exécutons caddy sur le serveur local, si vous êtes sur le serveur en direct, activez l'option.
La configuration de base du serveur Web Caddy est terminée.
Étape 3 - Exécuter Caddy en tant que service sur Systemd Ubuntu 16.04
Dans cette étape, nous allons exécuter le serveur Web Caddie en tant que service sur le système systemd et créer le fichier index.html pour notre serveur Web Caddie.
Créez un nouveau fichier de service nommé 'caddy.service' à l'aide de vim.
vim /etc/systemd/system/caddy.service
Collez-y la configuration suivante.
[Unit]
Description=Caddy HTTP/2 web server
[Service]
User=caddy
Group=caddy
Environment=CADDYPATH=/etc/caddy
ExecStart=/usr/local/bin/caddy -agree=true -log=/var/log/caddy/caddy.log -conf=/etc/caddy/Caddyfile -root=/dev/null
ExecReload=/bin/kill -USR1 $MAINPID
LimitNOFILE=1048576
LimitNPROC=64
[Install]
WantedBy=multi-user.target
Enregistrez et quittez.
Maintenant, rechargez le système systemd et démarrez le service caddy à l'aide de la commande systemctl comme indiqué ci-dessous.
systemctl daemon-reload
systemctl start caddy
Activez-le pour qu'il se lance à chaque démarrage du système.
systemctl enable caddy
Le serveur Web Caddy fonctionne maintenant en tant que service sur Ubuntu 16.04.
Ensuite, nous allons créer un nouveau fichier index.html sous le répertoire racine Web '/var/www/html'.
Accédez à ce répertoire et créez le fichier index.html à l'aide des commandes ci-dessous.
cd /var/www/html
echo '<h1><center>Caddy web server</center></h1>' > index.html
Remplacez maintenant le propriétaire du fichier par l'utilisateur et le groupe "caddy".
chown -R caddy:caddy /var/www/html
Le fichier index.html a été créé. Ouvrez le navigateur Web et tapez l'adresse du nom de domaine que vous avez tapé sur la configuration 'Caddyfile', la mienne est :
http://hakase-labs.co/
Et vous obtiendrez la page d'index que nous avons créée.
Étape 4 - Installer PHP et PHP-FPM 7.0
Dans cette étape, nous allons installer les packages PHP-FPM à partir du référentiel Ubuntu.
Exécutez la commande apt ci-dessous.
sudo apt install -y php7.0-fpm php7.0-cli curl
Une fois l'installation terminée, nous allons configurer le fichier de configuration pour PHP-FPM.
Allez dans le répertoire '/etc/php/7.0/fpm' et modifiez le fichier de configuration du pool 'www'conf' à l'aide de vim.
cd /etc/php/7.0/fpm
vim pool.d/www.conf
Décommentez les lignes ci-dessous.
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
Enregistrez et quittez.
Ajoutez maintenant l'utilisateur 'caddy' au groupe 'www-data'.
usermod -a -G www-data caddy
Démarrez le service PHP-FPM et activez-le pour qu'il se lance à chaque démarrage du système.
systemctl start php7.0-fpm
systemctl enable php7.0-fpm
L'installation et la configuration de PHP-FPM pour l'installation de notre serveur Web Caddy sont terminées.
Vérifiez le processus du fichier de socket PHP-FPM à l'aide de la commande netstat ci-dessous.
netstat -pl | grep php
Étape 5 - Configurer le serveur Web Caddy avec PHP-FPM
Après l'installation et la configuration de PHP-FPM, nous ajouterons la prise en charge de PHP-FPM au serveur Web Caddy.
Allez dans le répertoire de configuration '/etc/caddy' et modifiez le fichier de configuration 'Caddyfile' à l'aide de vim.
cd /etc/caddy
vim Caddyfile
Ajoutez maintenant la configuration PHP-FPM suivante pour caddy sous votre support de nom de domaine comme ci-dessous.
http://hakase-labs.co {
root /var/www/html
log /var/log/caddy/hakase-labs.log
errors /var/log/caddy/errors.log
tls off
gzip
# PHP-FPM Configuration for Caddy
fastcgi / /run/php/php7.0-fpm.sock php {
ext .php
split .php
index index.php
}
}
Enregistrez et quittez.
Redémarrez le serveur Web caddy et le service PHP-FPM.
systemctl restart caddy
systemctl restart php7.0-fpm
La configuration du serveur Web Caddy avec PHP-FPM est terminée.
Étape 6 - Tester
Accédez au répertoire racine Web '/var/ww/html' et créez le fichier phpinfo 'info.php'.
cd /var/www/html
echo '<?php phpinfo(); ?>' > info.php
Ouvrez votre navigateur Web et tapez l'installation de l'URL du serveur Web Caddy comme ci-dessous.
http://hakase-labs.co/info.php
Et vous obtiendrez la page d'informations PHP comme indiqué ci-dessous.
L'installation du serveur Web Caddy avec PHP-FPM sur Ubuntu 16.04 s'est terminée avec succès.