Comment installer Lighttpd avec PHP-FPM et MariaDB sur CentOS 8

Lighttpd est un serveur Web open source axé sur la simplicité et les hautes performances. C’est un serveur Web léger qui consomme peu de mémoire, mais qui reste conforme aux normes, sécurisé et flexible. Le serveur Web Lighttpd fait partie de la pile LLMP, qui signifie Linux, Lighttpd, MySQL/MariaDB et PHP/PHP-FPM.

Dans ce tutoriel, nous allons te montrer comment installer et configurer la pile LLMP sur le serveur CentOS 8. Nous installerons le serveur Web Lighttpd avec le serveur de base de données MariaDB, et le PHP-FPM sur la dernière version du serveur CentOS 8.

Prérequis

  • Serveur CentOS 8
  • Privilèges de racine
  • Comprendre les bases du serveur CentOS

Que ferons-nous ?

  • Installer le serveur Web Lighttpd
  • Installer le serveur de bases de données MariaDB
  • Installer PHP-FPM
  • Configurer Lighttpd et PHP-FPM
  • Tester

Étape 1 – Installer le serveur Web Lighttpd

Tout d’abord, nous allons ajouter le dépôt EPEL et installer le serveur Web Lighttpd sur notre système CentOS 8. Par défaut, Lighttpd est disponible sur le référentiel EPEL (Extract Packages for Enterprise Linux).

Ajoute le dépôt EPEL au système CentOS 8 à l’aide de la commande DNF ci-dessous.

sudo dnf install epel-release

Ensuite, vérifie tous les dépôts disponibles à l’aide de la commande suivante.

dnf repolist

Assure-toi que le dépôt EPEL figure dans le résultat.

Installer le référentiel EPEL CentOS 8

Ensuite, installe les paquets Lighttpd à l’aide de la commande ci-dessous.

sudo dnf install lighttpd -y

Une fois l’installation terminée, démarre le service Lighttpd et ajoute-le au démarrage du système.

systemctl start lighttpd
systemctl enable lighttpd

Vérifie maintenant l’état du service Lighttpd à l’aide de la commande suivante.

systemctl status lighttpd

Voici le résultat que tu obtiendras.

Installer Lighttpd sur CentOS 8

Le service Lighttpd est donc en place et fonctionne sur le système CentOS 8.

Ensuite, ajoute le service HTTP à la liste de règles de firewalld à l’aide de la commande ‘firewall-cmd’ ci-dessous.

firewall-cmd --add-service=http --permanent
firewall-cmd --reload

Ouvre maintenant ton navigateur Web et tape l’adresse IP du serveur dans la barre d’adresse.

http://192.168.1.50/

Tu obtiendras ainsi l’adresse par défaut ‘index.html’ du serveur Web Lighttpd.

Lighttpd index.html

Étape 2 – Installe le serveur de base de données MariaDB

Dans cette étape, nous allons installer le serveur de base de données MariaDB et configurer le mot de passe root par défaut pour le serveur MariaDB.

Pour installer le serveur de base de données MariaDB, exécute la commande dnf ci-dessous.

sudo dnf install mariadb-server -y

Une fois l’installation terminée, démarre le service MariaDB et ajoute-le au démarrage du système.

systemctl start mariadb
systemctl enable mariadb

Vérifie maintenant le service MariaDB à l’aide de la commande ci-dessous.

systemctl status mariadb

Voici le résultat que tu obtiendras.

Start MySQL Service

Le service MariaDB est donc en place et fonctionne sur le système CentOS 8.

Ensuite, exécute la commande ‘mysql_secure_installation’ ci-dessous pour configurer le mot de passe root par défaut.

mysql_secure_installation

Tape maintenant le nouveau mot de passe pour ton serveur MariaDB et tape ‘Y’ pour toutes les configurations.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

Set a root password? [Y/n] Y
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Le mot de passe racine MariaDB a été configuré.

Ensuite, connecte-toi au shell MySQL en utilisant l’utilisateur root par défaut et ton mot de passe.

mysql -u root -p

Une fois que tu t’es connecté, vérifie tous les utilisateurs disponibles sur le serveur MariaDB à l’aide des requêtes suivantes.

select User,Host from mysql.user;

Et tu obtiendras tous les utilisateurs par défaut du serveur MySQL. Tape maintenant ‘exit’ pour te déconnecter du shell MySQL.

Ainsi, l’installation et la configuration du serveur de base de données MariaDB sur le système CentOS 8 sont terminées.

Étape 3 – Installation et configuration de PHP-FPM

Pour cette étape, nous allons installer et configurer le serveur Web PHP-FPM pour Lighttpd.

Installe les paquets PHP et PHP-FPM à l’aide de la commande dnf ci-dessous.

sudo dnf install php php-fpm lighttpd-fastcgi php-mysqlnd php-pdo php-gd php-mbstring

Une fois l’installation terminée, modifie la configuration ‘/etc/php-fpm.d/www.conf’ à l’aide de l’éditeur vim.

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

Change l’utilisateur et le groupe par défaut en Lighttpd comme ci-dessous.

user = lighttpd
group = lighttpd

Change l’écoute par défaut de PHP-FPM en utilisant l’adresse IP locale avec le port ‘9000’.

listen = 127.0.0.1:9000

Sauvegarde et ferme.

Ensuite, modifie la configuration PHP ‘/etc/php.ini’ en utilisant l’éditeur vim.

vim /etc/php.ini

Décommente la ligne suivante pour obtenir une assistance avec le PHP-CGI pour le serveur Web Lighttpd.

cgi.fix_pathinfo=1

Sauvegarde et ferme.

Ensuite, démarre le service PHP-FPM et ajoute-le au démarrage du système.

systemctl start php-fpm
systemctl enable php-fpm

Configure PHP-FPM Service

Le service PHP-FPM est en place et fonctionne, vérifie-le à l’aide de la commande suivante.

ss -plnt
systemctl status php-fpm

Voici le résultat que tu obtiendras.

Vérifier le service PHP-FPM

Le service PHP-FPM est donc opérationnel sur le serveur CentOS 8 avec l’adresse IP locale et le port ‘9000’.

Étape 4 – Configurer Lighttpd et PHP-FPM

Dans cette étape, nous allons configurer Lighttpd pour qu’il fonctionne avec notre installation PHP-FPM.

Par défaut, Lighttpd peut être utilisé pour servir une application Web PHP de deux manières :

  1. Servir via le service PHP-FPM
  2. Servir par l’intermédiaire de PHP-CI auto-généré

Pour cela, nous devons activer le module FastCGI sur le serveur Web Lighttpd et ajouter notre configuration au fichier de configuration du module FastCGI.

– Activer le module FastCGI

Avant d’aller plus loin, va dans le répertoire ‘/etc/lighttpd/’ et modifie la configuration ‘modules.conf’ à l’aide de l’éditeur vim.

cd /etc/lighttpd/
vim modules.conf

Décommente le module ‘FastCGI’ comme ci-dessous.

##
## FastCGI (mod_fastcgi)
##
include "conf.d/fastcgi.conf"

Sauvegarde et ferme.

Ensuite, nous devons ajouter notre configuration PHP au fichier de configuration ‘conf.d/fastcgi.conf’.

Dans le répertoire ‘/etc/lighttpd’, modifie la configuration FastCGI ‘conf.d/fastcgi.conf’ à l’aide de l’éditeur vim.

vim conf.d/fastcgi.conf

– Utilisation avec le service PHP-FPM

Si tu veux utiliser le service PHP-FPM, qui fonctionne déjà sur l’adresse IP locale avec le port TCP ‘9000’, colle la configuration suivante.

fastcgi.server += ( ".php" =>
        ((
                "host" => "127.0.0.1",
                "port" => "9000",
                "broken-scriptfilename" => "enable"
        ))
)

Sauvegarde et ferme.

– Utilisation du service PHP auto-généré

Ensuite, si tu veux utiliser le service PHP-CGI auto-généré pour Lighttpd, colle la configuration suivante.

fastcgi.server = ( ".php" => 
        ((
                "bin-path" => "/usr/bin/php-cgi",
                "socket" => "/var/run/lighttpd/php.socket",
                "max-procs" => 4,
                "bin-environment" => (
                "PHP_FCGI_CHILDREN" => "",
                "PHP_FCGI_MAX_REQUESTS" => "500"
                    ),
                "broken-scriptfilename" => "enable"
        ))
)

Sauvegarde et ferme.

Ensuite, crée un nouveau répertoire ‘/var/run/lighttpd’ et change la propriété de ce répertoire pour l’utilisateur ‘lighttpd’.

mkdir -p /var/run/lighttpd
sudo chown -R lighttpd:lighttpd /var/run/lighttpd

Redémarre maintenant le service Lighttpd pour appliquer la nouvelle configuration.

systemctl restart lighttpd

Assure-toi qu’il n’y a pas d’erreur et que la configuration de Lighttpd avec le service PHP-FPM ou en utilisant le spawning PHP-CGI a été effectuée avec succès.

Configurer Lighttpd avec PHP-FPM

Étape 5 – Test

Pour tester notre installation de PLMT, nous allons créer un nouveau fichier phpinfo dans le répertoire racine du document Lighttpd par défaut.

Va dans le répertoire ‘/var/www/lighttpd’ et crée un nouveau fichier php ‘info.php’ en utilisant l’éditeur vim.

cd /var/www/lighttpd/
vim info.php

Colle le script suivant dans ce fichier.

<?php
phpinfo();
?>

Sauvegarde et ferme.

Crée le fichier PHPINFO pour tester l'installation de la pile LLMP

Ensuite, ouvre ton navigateur Web et tape l’adresse IP du serveur puis le fichier ‘info.php’ comme ci-dessous.

http://192.168.1.50/info.php

Tu obtiendras maintenant le résultat ci-dessous.

phpinfo

Comme tu peux le voir, le PHP-FPM fonctionne avec le serveur Web Lighttpd.

Par conséquent, l’installation de la pile LLMP (Linux, Lighttpd, MariaDB et PHP-FPM) sur le serveur CentOS 8 a été effectuée avec succès.

Étape 6 – Supplémentaire : Vérification des services PHP et Lighttpd

Si tu exécutes le service Lighttpd avec slef-spawned PHP en utilisant l’ocnfiguration ci-dessous.

Lighttpd avec service PHP auto-spawné

Tu peux vérifier le service PHP à l’aide de la commande ci-dessous.

ss -pl | grep php
systemctl status php-fpm

Voici le résultat que tu obtiendras.

Lighttpd avec service PHP auto-spawné

Comme tu peux le voir, le processus PHP auto-spawné fonctionne sous 4 fichiers socket. Même si le service PHP-FPM est hors service, Lighttpd fonctionne toujours pour traiter les applications PHP.

Vous aimerez aussi...