Configurer un serveur Ubuntu 20.04 avec Lighttpd, MySQL et PHP-FPM
Lighttpd est un serveur Web open source rapide et flexible dont les performances sont comparables à celles de Nginx. Pour héberger des applications PHP comme WordPress, Magento, etc. sur un serveur Lighttpd, vous devez configurer une pile LLMP sur votre serveur. LLMP signifie Linux, Lighttpd, MySQL et PHP.
Grâce aux performances de Lighttpd, une pile LLMP surpasse facilement une configuration LAMP (Apache) sur un volume de trafic donné. En ce qui concerne LLMP vs LEMP (Nginx), les performances sont pour la plupart similaires. Mais Nginx étant un choix plus populaire parmi les masses, il existe un excellent support communautaire pour les configurations LEMP.
Si vous recherchez un serveur pour gérer des charges de trafic avec une consommation de mémoire minimale, une configuration LLMP est un bon choix. Dans ce guide, nous verrons comment installer la pile LLMP sur une machine Ubuntu 20.04 LTS.
Conditions préalables
Vous aurez besoin d'un serveur Ubuntu 20.04 LTS et connecté en tant que sudo
utilisateur autorisé. Vous devrez également avoir une compréhension de base des commandes Linux.
Avant de commencer, mettez à jour et mettez à niveau les packages sur votre serveur Ubuntu 20.04 en exécutant la commande ci-dessous :
sudo apt-get update && apt-get upgrade
Installer le serveur Web Lighttpd
Pour installer le serveur Web Lighttpd sur votre machine Ubuntu 20.04, entrez simplement la commande suivante dans votre terminal.
sudo apt-installer lighttpd
Une fois le processus d'installation terminé, tapez les commandes suivantes pour démarrer et activer le serveur Web Lighttpd.
systemctl démarrer lighttpd systemctl activer lighttpd
Pour vérifier l'état du serveur Lighttpd, tapez la commande ci-dessous.
systemctl status lighttpd
Astuce : Pour supprimer la dernière ligne avec (END) écrit dessus, appuyez sur ESC
et q
pour pouvoir saisir d'autres commandes.
Nous allons maintenant configurer les services HTTP, HTTPS et SSH dans le pare-feu UFW. UFW est l'outil de configuration de pare-feu par défaut pour Ubuntu, également appelé pare-feu non compliqué. Tapez les commandes suivantes et appuyez sur Entrée une par une.
sudo ufw autoriser ssh sudo ufw autoriser http sudo ufw autoriser https
Activez le pare-feu UFW en exécutant la commande suivante :
sudo ufw activer
Si vous obtenez une invite pour "La commande peut perturber les connexions ssh existantes", tapez oui
et frappe Entrer
.
Pour vérifier l'installation de Lighttpd, accéder au serveur par son adresse IP dans un navigateur Web. S'il affiche l'écran suivant, cela signifie que votre serveur Web Lighttpd est installé avec succès sur votre machine Ubuntu 20.04.
Installer et configurer le serveur MySQL
MySQL est un système de gestion de base de données relationnelle basé sur un langage de requête structuré. Pour installer le serveur et le client MySQL sur Ubuntu 20.04, copiez/collez la commande suivante et appuyez sur Entrer
.
sudo apt-get install mysql-server mysql-client
Il vous demandera avec un message que cette opération prendra 247 Mo d'espace disque supplémentaire après l'installation. Alors, tapez oui
et frappe Entrer
.
Une fois le processus d'installation terminé, démarrez et activez le serveur MySQL et ajoutez-le au démarrage du système en exécutant les commandes suivantes une par une.
systemctl démarrer mysql systemctl activer mysql
Vous verrez le message suivant sur votre écran :
Pour vérifier l'état de votre service MySQL, tapez la commande suivante dans le terminal. le mysql.service
l'état doit indiquer « actif (en cours d'exécution).
état systemctl mysql
Pour configurer les paramètres de sécurité MySQL, nous exécuterons un script de sécurité fourni avec le package MySQL. Tapez la commande suivante et appuyez sur Entrée pour exécuter le script.
mysql_secure_installation
La commande ci-dessus vous posera quelques questions pour configurer le serveur MySQL.
Il vous demandera de configurer votre mot de passe en utilisant COMPOSANT VALIDER LE MOT DE PASSE
. Ce plugin vous aidera à mettre en place un mot de passe fort pour vos bases de données MySQL. presse oui
et appuyez sur Entrée pour activer ce plugin. Taper 0
, 1
, ou 2
pour choisir la politique de validation de mot de passe qui détermine le niveau de force de votre mot de passe.
Entrez un mot de passe fort, la VALIDER LE MOT DE PASSE
plugin vous indiquera la force estimée de votre mot de passe. presse oui
et frappe Entrer
.
Après avoir configuré un mot de passe sécurisé, configurez le reste de la configuration comme expliqué ci-dessous.
- Supprimer les utilisateurs anonymes - Entrer
y|O
Parce que MySQL contient par défaut un utilisateur anonyme qui permet à quiconque de se connecter au serveur MySQL sans avoir le compte utilisateur. Par conséquent, supprimez-le.
- Interdire la connexion root à distance - Entrer
y|O
Parce que root ne devrait être autorisé qu'à partir du "localhost". Cela garantit que quelqu'un ne peut pas se connecter en tant que root en dehors de votre réseau.
- Supprimer la base de données de test et y accéder ? - Entrer
y|O
Parce que MySQL est livré avec une base de données de test accessible à tous. Ainsi, supprimez-le avant de passer dans l'environnement de production.
- Recharger les tables de privilèges maintenant ? Entrer
y|O
Parce que cela garantira que les modifications que vous avez apportées jusqu'à présent prennent effet immédiatement.
Pour vérifier tous les utilisateurs qui peuvent accéder au serveur MySQL, commencez par vous connecter à MySQL en tant que root à l'aide de la commande ci-dessous :
mysql -u racine -p
Ensuite, exécutez la commande suivante pour obtenir la liste des utilisateurs sur votre serveur MySQL :
sélectionnez Utilisateur, Hôte à partir de mysql.user ;
Une fois que vous avez vérifié la liste des utilisateurs, tapez sortir
pour vous déconnecter du shell MySQL.
Installation de PHP – Gestionnaire de processus CGI rapide (PHP-FPM)
PHP-FPM permet à un serveur de gérer une charge énorme, même sur un serveur bas de gamme. Il prétend réduire le temps de chargement de 300 % sur certaines applications PHP.
Pour installer les derniers packages PHP-FPM, exécutez la commande suivante et appuyez sur Entrée.
sudo apt-install php-fpm php-cgi php-mysql
Affiner la configuration PHP-FPM en apportant quelques modifications au php.ini
déposer.
Pour ce faire, accédez d'abord au répertoire/etc/php/7.4/fpm
en utilisant le CD
commande comme indiqué ci-dessous.
cd /etc/php/7.4/fpm
Ensuite, utilisez la commande ci-dessous pour ouvrir php.ini
fichier dans l'éditeur vim.
vim php.ini
Décommenter le cgi.fix_pathinfo=1
ligne. Recherchez la ligne contenant 'cgi.fix_pathinfo=1
" dans l'éditeur. Pour ce faire, appuyez sur ‘Esc
' et tapez /cgi.fix_pathinfo=1
et frappe Entrer
.
Puis appuyez je
pour passer en mode insertion et supprimer le ;
(point-virgule) avant la ligne ou appuyez sur le X
bouton pour décommenter la ligne dans php.ini
déposer.
Une fois cela fait, enregistrez les modifications que vous avez apportées dans le fichier et quittez l'éditeur vim en appuyant sur Esc
pour entrer en mode commande puis tapez :wq
et frappe Entrer
pour quitter l'éditeur.
Démarrer et activer PHP-FPM en lançant les commandes suivantes :
systemctl démarrer php7.4-fpm systemctl activer php7.4-fpm
Pour vérifier l'état de PHP-FPM, exécutez la commande suivante :
état systemctl php7.4-fpm
Configuration de Lighttpd et PHP-FPM
Nous allons maintenant apporter quelques modifications au 15-fastcgi-php.conf
fichier de configuration pour configurer Lighttpd et PHP-FPM.
Accédez au répertoire adéquat en tapant cette commande et appuyez sur Entrée.
cd etc/lighttpd/conf-available/
Si vous souhaitez conserver une copie du « »15-fastcgi-php.conf
' puis utilisez la commande ci-dessous.
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
Maintenant, nous allons ouvrir et éditer ce fichier à l'aide de l'éditeur vim à l'aide de la commande ci-dessous :
vim 15-fastcgi-php.conf
Ici, remplacez le contenu de configuration PHP-CGI par défaut par le contenu affiché ci-dessous.
fastcgi.server += ( ".php" => (( "socket" => "/var/run/php/php7.4-fpm.sock", "broken-scriptfilename" => "enable" )))
Pour ce faire, suivez les étapes dans l'ordre indiqué ci-dessous.
- Presse '
Esc
' et 'je
' pour passer en mode insertion. - Naviguez maintenant vers les lignes que nous devons supprimer en utilisant le
en haut
ouvers le bas
touches fléchées (les touches fléchées haut et bas fonctionnent dans l'éditeur vim et non dans l'éditeur vi). - Pour supprimer une ligne spécifique, appuyez sur
jj
. Et pour supprimer un seul mot appuyez surX
. - Copiez/collez maintenant le code ci-dessus dans le fichier.
- Ensuite, enregistrez le fichier et quittez vim en appuyant sur
Esc
,:wq
, etEntrer
.
Désormais, Lighttpd fonctionnera correctement avec PHP-FPM et est correctement configuré.
Activer les modules FastCGI Lighttpd en utilisant les commandes ci-dessous :
lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php
Enfin, redémarrez le serveur Web Lighttpd pour appliquer les nouvelles configurations et paramètres.
systemctl redémarrer lighttpd
Test votre serveur LLMP
Pour tester votre serveur LLMP fraîchement créé, nous allons créer un fichier à la racine du répertoire public à l'adresse /var/www/html
.
Naviguez d'abord vers le répertoire en utilisant le CD
commande comme indiqué ci-dessous.
cd /var/www/html/
Créer un nouveau fichier Disonsfichier.php
comme indiqué ci-dessous en utilisant l'éditeur vim.
fichier vim.php
Tapez maintenant ce script simple dans l'éditeur en entrant dans le mode insertion en appuyant sur je
.
Enregistrez et quittez le fichier en appuyant sur Esc
et :wq
.
le phpinfo()
est une fonction qui invoque des informations liées à php. Ce script est juste pour tester s'il fonctionne ou non. Vous pouvez également utiliser d'autres scripts php de votre choix.
Enfin, pour tester votre serveur, ouvrez un navigateur web accédez au fichier que nous venons de créer en entrant l'adresse suivante //votre-serveur-ip/fichier.php
.
Si la page PHP Version apparaît en conséquence, nous pouvons dire en toute sécurité que la pile LLMP est installée avec succès sur votre machine Ubuntu 20.04. Vous pouvez maintenant installer les applications PHP que vous souhaitez exécuter sur le serveur.