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 simple de commencer.
Dans ce didacticiel, vous apprendrez :
- 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
Catégorie | Exigences, conventions ou version du logiciel utilisée |
---|---|
Système | Debian 10 Buster |
Logiciel | Nginx, MariaDB et PHP |
Autre | Accès privilégié à votre système Linux en tant que root ou via le sudo commande. |
Conventions | # - nécessite que les commandes linux données soient exécutées avec les privilèges root soit directement en tant qu'utilisateur root, soit en utilisant sudo commande$ – nécessite que les commandes linux données soient exécutées en tant qu'utilisateur normal non privilégié |
Configurer MariaDB
Le meilleur point de départ pour configurer votre serveur LEMP est la base de données. Pour ce guide, MaraiDB servira de base de données. Puisqu'il s'agit d'un remplacement direct de MySQL, MariaDB est une excellente option. Avant de pouvoir utiliser MariaDB pour l'un de vos projets, vous devrez le configurer. Il ne faut pas grand-chose pour faire fonctionner une application comme WordPress, donc cela ne prendra pas longtemps.
Installer MariaDB
Commencez par installer réellement le serveur MariaDB.
$ sudo apt install mariadb-server
Configurer la base de données
Avec MariaDB installé, vous êtes prêt à préparer votre base de données pour fonctionner avec des applications Web. MariaDB a un script qui vous aidera à sécuriser automatiquement votre serveur de base de données, alors commencez par l'exécuter.
$ sudo mysql_secure_installation
Suivez 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 en utilisant le mysql
commande et en spécifiant la root
utilisateur.
# mysql -u root -p
Cré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; \q
Installer 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-mysql
Installer 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 nginx
Configurer Nginx
Nginx est un serveur Web puissant et offre une tonne d'options. Cela signifie également qu'il y a beaucoup de configuration nécessaire pour le faire fonctionner exactement comme vous le souhaitez. Ce guide vous fournira 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é à /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 de serveur pour indiquer à Nginx qu'il s'agit d'une nouvelle configuration de site.
server { }
Le reste de votre configuration ira dans ce bloc. Ensuite, ajoutez les adresses d'écoute. Ce sont les 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. Suivez cela 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 Nginx pour LEMP sur Debian 10.
Enfin, ce dernier bloc indique à Nginx de transmettre 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, associez-le à sites-enabled
.
$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site
Ensuite, redémarrez le serveur pour activer le site.
$ sudo systemctl restart nginx
Testez votre serveur
Le moyen le plus simple de vous assurer que votre serveur fonctionne correctement consiste à créer un nouveau fichier PHP dans votre racine Web pour exécuter du code PHP. Créer index.php
à /var/www/html/
, et ouvrez-le avec votre éditeur de texte. Placez 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 vous le faites, 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. Changez simplement le server_name
pointer vers un autre domaine.