Comment installer et configurer LEMP sur Debian 8 (Jessie)
L’une des raisons les plus courantes de configurer un système Linux est l’hébergement d’un ou plusieurs sites Web. Selon l’enquête de février 2016 de NetCraft.com sur le million de sites Web les plus fréquentés au monde, environ 15,60 % d’entre eux fonctionnent sur Nginx.
Associé à la forte probabilité qu’il y ait une sorte de contenu dynamique servi ainsi qu’une sorte de base de données pour les sites Web, la possibilité pour un administrateur de pouvoir configurer des serveurs LEMP est très bénéfique pour les chercheurs d’emploi et les employeurs !
Ce tutoriel présente les bases de l’installation et de la configuration d’un serveur Linux (en particulier Debian 8 Jessie) pour qu’il fonctionne comme un serveur LEMP.
Qu’est-ce que LEMP Server ?
Excellente question ! Comme pour la plupart des choses dans le monde de l’informatique, LEMP est l’acronyme de Linux, Nginx, MySQL et PHP.
Cet acronyme est couramment utilisé pour référencer des collections de logiciels sur un serveur Web. Ce tutoriel va d’abord expliquer la configuration de LEMP, en particulier MySQL et PHP.
Avant de séparer les aspects de configuration des systèmes, il est important de connaître Nginx.
Qu’est-ce que Nginx ?
Nginx a vu le jour en 2002 lorsque le monde de l’informatique a commencé à se rendre compte que les sites Web avec dix mille connexions simultanées ou plus étaient une possibilité très réelle et, par conséquent, Nginx a été créé à partir de zéro pour résoudre ce problème.
Installation et configuration d’un MySQL et d’un PHP
1. Cette première section couvrira Debian en tant que serveur MySQL et PHP. La partie Linux du serveur LEMP devrait déjà se faire en installant Debian ! Cependant, s’il y a besoin d’un guide sur la façon d’installer Debian, veuillez lire l’article suivant sur TecMint :
- Installation de Debian 8 Jessie
Une fois que Debian est prêt à fonctionner, le processus d’installation du reste du logiciel nécessaire peut être complété par une commande rapide à l’aide du méta-empaqueteur 'apt.
# apt-get install mysql-server-5.5 php5-mysql php5
En fonction du matériel système et de la connexion Internet, ce processus peut prendre un certain temps. Au moment d’écrire ces lignes, une nouvelle installation de Debian Jessie avec toutes les mises à jour appliquées nécessitait environ 70 Mo d’archives des dépôts (pas si mal compte tenu de ce que le serveur fera lorsque les choses seront faites) ! Au cours du processus d’installation, le système peut demander à l’utilisateur de définir un mot de passe utilisateur racine SQL. Il est différent du mot de passe de l’utilisateur root et, pour des raisons de sécurité, devrait probablement rester différent.
2. Une fois qu’apt aura terminé l’installation de tous les logiciels, les services de base seront opérationnels. Cependant, s’arrêter ici ferait un tutoriel très court ! Plongeons donc un peu plus dans la configuration de chacun des logiciels installés en commençant par MySQL.
3. Après l’installation de MySQL, il est souvent recommandé que le serveur SQL fasse un peu de ménage de base sur l’installation par défaut. Ceci est facilement accompli avec l’utilitaire mysql_secure_installation.
Cette commande est simplement exécutée à partir de la ligne de commande et invite l’utilisateur à supprimer des éléments tels que les utilisateurs anonymes, les bases de données de test et la possibilité de connexion de l’utilisateur racine distant à la base de données SQL.
# mysql_secure_installation
Cette commande lancera une invite interactive qui posera des questions concernant les sujets ci-dessus. Étant donné qu’apt a déjà demandé un mot de passe root MySQL, ce mot de passe devra être saisi afin d’apporter des modifications. Étant donné que le mot de passe root a déjà été défini, No peut être la réponse à l’invite concernant la modification du mot de passe root sur le serveur MySQL.
4. La prochaine série de questions portera sur les utilisateurs anonymes, la base de données « test » et l’accès root à la base de données à distance. Il est généralement prudent de répondre Oui à toutes ces invites, à moins qu’il n’y ait une raison particulière pour laquelle la configuration nécessiterait que l’une de ces options reste intacte.
REMARQUE : Il peut y avoir une erreur concernant l’échec de la suppression d’une base de données appelée 'test', ne vous inquiétez pas car la base de données peut exister ou non et quoi qu’il en soit, le script continuera à faire ce qui est nécessaire.
À ce stade, MySQL est prêt à fonctionner. Sans savoir quelles bases de données ou quels utilisateurs seront nécessaires, il est difficile de faire beaucoup plus de configuration. Cependant, la plupart des sites Web créent souvent automatiquement les bases de données et les utilisateurs nécessaires lorsque le logiciel est installé. Cependant, cela dépend beaucoup du logiciel et nécessiterait un rapide coup d’œil aux fichiers README du logiciel ou aux instructions d’installation.
5. Maintenant que MySQL est configuré, allons de l’avant et configurons quelques paramètres PHP de base pour ce serveur particulier. Bien qu’il existe des tonnes de paramètres qui peuvent être manipulés pour PHP, il n’y en a que quelques-uns de base qui doivent presque toujours être modifiés. Le fichier de configuration php se trouve dans /etc/php5/fpm/php.ini. Ouvrez ce fichier avec n’importe quel éditeur de texte.
# nano /etc/php5/fpm/php.ini
En utilisant les capacités de recherche de nano ctrl+w, recherchez la chaîne « memory_limit " (en omettant les guillemets). Lors d’une installation par défaut, cette ligne sera déjà définie sur 128M, mais si une application a besoin de plus, cette ligne peut être modifiée pour répondre aux besoins.
Une autre option importante à vérifier est le « max_execution_time » et encore une fois par défaut, il sera défini sur 30. Si une application nécessite plus de choses, cette option peut être modifiée. Certaines personnes préfèrent également configurer la journalisation php dans un fichier/répertoire spécial. Si cela est une exigence, recherchez la chaîne « error_log = « , puis décommentez la ligne en supprimant le point-virgule qui est généralement là par défaut.
À ce stade, une valeur du fichier journal peut être ajoutée à la fin de la ligne. Assurez-vous que le chemin d’accès existe sur le système. Une fois que vous avez terminé d’apporter les modifications nécessaires au fichier php.ini, enregistrez-les et quittez l’éditeur de texte. À ce stade, MySQL et PHP5 sont prêts à commencer à héberger des sites. Il est maintenant temps de configurer Nginx.
Installation et configuration de Nginx
6. Nginx (moteur X) est un serveur web alternatif et très puissant. Cette section de ce tutoriel vous guidera dans la configuration d’une page Web que Nginx pourra héberger. La première étape de la configuration de Nginx est d’installer les paquets nécessaires à l’aide de l’utilitaire 'apt'.
# apt-get install nginx
En supposant que toutes les dépendances sont satisfaites, la navigation vers l’adresse IP du serveur dans un navigateur Web devrait donner le site Web Nginx par défaut.
REMARQUE : Il y a des cas où après l’installation de Nginx, le serveur n’est pas démarré automatiquement. Si la navigation vers l’adresse IP du serveur dans un navigateur Web ne donne pas la page ci-dessous, exécutez la commande suivante pour vous assurer que Nginx est démarré.
# service nginx start
Nginx héberge désormais avec succès la page par défaut. Bien que la page par défaut de Debian soit un site web tape-à-l’œil, la plupart des utilisateurs voudront héberger quelque chose de personnalisé.
7. Les prochaines étapes consisteront à configurer Nginx pour héberger un autre site Web. Nginx, tout comme Apache 2, a son propre répertoire de configurations situé dans /etc/nginx. Basculez dans ce répertoire à l’aide de l’utilitaire cd.
# cd /etc/nginx
Pour ce tutoriel, il existe plusieurs fichiers et répertoires importants pour la configuration d’un site web à l’aide de Nginx. Les deux premiers répertoires qui sont importants sont les répertoires 'sites-enabled' et les répertoires 'sites-enabled'. Tout comme Apache 2, Nginx utilise des fichiers de configuration pour chaque site dans le répertoire sites-available qui, lorsqu’ils sont actifs, sont symboliquement liés dans le répertoire sites-enabled.
La première chose à faire pour se débarrasser du site par défaut est de supprimer le lien symbolique dans sites-enabled.
# rm sites-enabled/default
8. Maintenant, un nouveau fichier de configuration de site doit être créé et lié pour que Nginx puisse servir la page. La création du fichier de configuration du site peut être simplifiée en copiant et en modifiant la configuration des sites par défaut.
# cp sites-available/default sites-available/tecmint-test
Cela créera un nouveau fichier de configuration de site avec lequel travailler. Ouvrez ce fichier dans un éditeur de texte pour modifier le chemin d’accès auquel Nginx servira les fichiers.
# nano sites-available tecmint-test
Dans ce fichier, il y a plusieurs options importantes à modifier pour que Nginx puisse servir un site. La première est la ligne qui commence par 'root' car cette ligne définit où Nginx doit servir les fichiers pour ce site particulier.
Ce tutoriel laissera la valeur par défaut de '/var/www/html' et placera simplement les fichiers html à servir dans ce répertoire. Toutefois, veillez à modifier ce chemin d’accès s’il doit y avoir plusieurs sites ou une configuration personnalisée sur ce serveur.
La ligne d’importance suivante est la ligne « index ». Étant donné que cet article concerne l’installation de LEMP et qu’un site pourrait potentiellement servir des pages php, Nginx doit être informé que la page par défaut peut être une page php. Pour ce faire, il suffit d’ajouter 'index.php' à la fin de la liste d’index des fichiers.
Avant d’activer le nouveau site, il doit y avoir quelque chose à servir pour Nginx. La page d’index par défaut existe déjà, mais pour confirmer qu’un autre site fonctionne, remplaçons le contenu de la page par défaut par autre chose.
# echo “It's ALIVE!” > /var/www/html/index.html
9. L’étape suivante consiste à activer le nouveau site en liant le fichier de configuration qui vient d’être créé au répertoire des sites. Cela se fait facilement en utilisant la commande ln, puis en rechargeant la configuration de Nginx avec l’utilitaire de service.
# ln -s /etc/nginx/sites-available/tecmint-test sites-enabled/tecmint-test
service nginx reload
À ce stade, Nginx devrait servir la nouvelle page Web « simple ». Cela peut être confirmé en accédant à l’adresse IP du serveur via un navigateur Web !
Encore une fois, cet article se voulait être des configurations très simples de LEMP. La plupart des sites nécessiteraient une configuration supplémentaire pour toutes les parties concernées, mais les options de configuration pourraient se compter par milliers ! Bonne chance dans quelle que soit la configuration choisie pour héberger des sites Web.




