Comment configurer un serveur LEMP sur Debian 10 Buster
LEMP est une excellente alternative aux serveurs LAMP traditionnels. Nginx est plus léger et plus rapide qu’Apache dans certaines situations. Il peut également être configuré pour faire d’autres choses utiles, comme servir de proxy inverse. Tout comme avec LAMP, Debian est une excellente plate-forme pour les serveurs LEMP. Tout ce dont vous avez besoin est disponible dans les dépôts Debian, il est donc facile de commencer.
Dans ce tutoriel, vous allez apprendre :
- Comment configurer MariaDB
- Comment installer PHP
- Comment installer Nginx
- Comment configurer Nginx
- Comment tester votre serveur
PHPinfo sur LEMP sur Debian 10.
Configuration logicielle requise et conventions utilisées
Configurer MariaDB
Le meilleur endroit pour commencer dans la configuration de votre serveur LEMP est la base de données. Pour ce guide, MaraiDB servira de base de données. Comme il s’agit d’un remplacement immédiat de MySQL, MariaDB est une excellente option. Avant de pouvoir utiliser MariaDB pour l’un de vos projets, vous allez devoir le configurer. Il n’est pas nécessaire de faire fonctionner une application comme WordPress, donc cela ne prendra pas longtemps.
Installer MariaDB
Commencez par installer le serveur MariaDB.
sudo apt install mariadb-serverConfigurer la base de données
Avec MariaDB installé, vous êtes prêt à préparer votre base de données pour fonctionner avec les applications web. MariaDB dispose d’un script qui vous aidera à sécuriser automatiquement votre serveur de base de données, alors commencez par l’exécuter.
sudo mysql_secure_installationSuivez les instructions du script. Configurez un mot de passe root, lorsque vous y êtes invité. Les valeurs par défaut sont bonnes pour tout le reste.
Maintenant, connectez-vous à MariaDB à l’aide de la commande mysql et en spécifiant l’utilisateur root.
mysql -u root -pCréez une base de données pour votre projet.
CREATE DATABASE newdb;Ensuite, créez un utilisateur qui se connectera à la base de données et la gérera.
CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';Cet utilisateur aura besoin d’un contrôle total de la base de données pour pouvoir exécuter une application Web. Accordez-lui tous les privilèges sur la base de données et ses tables.
GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';Tout est configuré et prêt à l’emploi. Videz vos privilèges et quittez MariaDB.
FLUSH PRIVILEGES;
\qInstaller PHP
PHP est la prochaine pièce du puzzle. Vous n’aurez pas besoin de tout le paquet PHP de Debian, seulement de PHP-FPM. Installez-le avec le module MySQL.
sudo apt install php-fpm php-mysqlInstaller Nginx
Presque tout est en place. Il vous suffit de configurer le serveur Web, Nginx. Pour commencer, installez Nginx sur votre système à partir des dépôts Debian.
sudo apt install nginxConfigurer Nginx
Nginx est un serveur Web puissant, et il offre une tonne d’options. Cela signifie également qu’il y a beaucoup de configuration nécessaire pour qu’il fonctionne exactement comme vous le souhaitez. Ce guide va vous fournir une configuration de travail de base, mais vous pouvez faire beaucoup plus avec Nginx.
Les configurations de site Nginx sont stockées dans /etc/nginx/sites-available et liées à /etc/nginx/sites-enabled. Créez un nouveau fichier pour la configuration de votre serveur dans /etc/nginx/sites-available et ouvrez-le dans votre éditeur de texte.
Commencez par créer un bloc serveur pour indiquer à Nginx qu’il s’agit d’une nouvelle configuration de site.
server {
}Le reste de votre configuration va aller dans ce bloc. Ensuite, ajoutez les adresses d’écoute. Il s’agit des numéros de port suivis des attributs importants de votre site. S’il s’agit de votre site unique ou par défaut, ajoutez-default_server après le numéro de port.
server {
listen 80 default_server;
listen [::]:80 default_server;
}Ajoutez dans le dossier racine web où vous souhaitez placer votre site. /var/www/html est la valeur par défaut habituelle. Poursuivez en indiquant à Nginx le nom de l’index de votre site, mieux connu sous le nom de page d’accueil.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /ver/www/html;
index index.php index.html;
}Maintenant, ajoutez le nom de domaine de votre site en tant que server_name. S’il ne s’agit que d’un serveur local, utilisez _ à la place d’un domaine.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /ver/www/html;
index index.php index.html;
server_name yourwebsite.com;
}Ce bloc de configuration suivant indique à Nginx de vérifier les fichiers correspondant à l’adresse Web actuelle.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /ver/www/html;
index index.php index.html;
server_name yourwebsite.com;
location / {
try_files $uri $uri/ =404;
}
}Configuration de Nginx pour LEMP sur Debian 10.
Enfin, ce dernier bloc indique à Nginx de passer les fichiers PHP à PHP-FPM. C’est là que le gros du travail va être fait.
server {
listen 80 default_server;
listen [::]:80 default_server;
root /ver/www/html;
index index.php index.html;
server_name yourwebsite.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
}
}Lorsque vous avez terminé, enregistrez votre configuration et quittez. Maintenant, liez-le à sites-enabled.
sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-siteEnsuite, redémarrez le serveur pour activer le site.
sudo systemctl restart nginxTestez votre serveur
Le moyen le plus simple de s’assurer que votre serveur fonctionne correctement est de créer un nouveau fichier PHP dans votre racine Web pour exécuter du code PHP. Créez index.php dans /var/www/html/, et ouvrez-le avec votre éditeur de texte. Mettez la ligne de code suivante dans le fichier et enregistrez-la.
<?php phpinfo(); ?>Ouvrez votre navigateur et accédez à votre serveur. Vous devriez voir un tableau d’informations PHP sur votre serveur. Si c’est le cas, votre serveur fonctionne normalement et il est prêt pour votre application PHP, comme WordPress.
Conclusion
À partir de là, vous pouvez faire à peu près n’importe quoi. La configuration du serveur restera en place, et tout devrait rester fonctionnel, à moins que vous ne le changiez. Vous pouvez également ajouter plusieurs autres sites au même serveur Nginx avec des configurations similaires. Il suffit de modifier le server_name pour qu’il pointe vers un autre domaine.

