Recherche de site Web

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 de plusieurs sites Web. Selon l'enquête de NetCraft.com réalisée en février 2016 auprès du 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'une sorte de contenu dynamique soit servi ainsi qu'une sorte de base de données back-end pour les sites Web, la possibilité pour un administrateur de pouvoir configurer des serveurs LEMP est très bénéfique pour les demandeurs d’emploi et les employeurs !

Ce didacticiel présentera les bases de l'installation et de la configuration d'un serveur Linux (en particulier Debian 8 Jessie) pour fonctionner comme un serveur LEMP.

Qu'est-ce que le serveur LEMP ?

Excellente question ! Comme pour la plupart des choses dans le monde 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 didacticiel présentera d'abord la configuration de LEMP, en particulier MySQL et PHP.

Avant de passer aux 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 informatique a commencé à réaliser 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éé de toutes pièces pour résoudre ce problème.

Installer et configurer MySQL et PHP

1. Cette première section couvrira Debian en tant que serveur MySQL et PHP. La partie Linux du serveur LEMP devrait déjà être réalisée en installant Debian ! Cependant, si vous avez besoin d'un guide sur la façon d'installer Debian, veuillez lire l'article suivant sur TecMint :

  1. Installation de Debian 8 Jessie

Une fois que Debian est prête à démarrer, le processus d'installation du reste des logiciels nécessaires peut être complété par une seule commande rapide à l'aide du méta-packager « apt ».

apt-get install mysql-server-5.5 php5-mysql php5

En fonction du matériel du 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 référentiels (pas si mal compte tenu de ce que fera le serveur une fois les choses terminées) ! Pendant le processus d'installation, le système peut demander à l'utilisateur de définir un mot de passe d'utilisateur root SQL. Celui-ci est différent du mot de passe réel de l’utilisateur root et, pour des raisons de sécurité, devrait probablement rester différent.

2. Une fois apt terminé l'installation de tous les logiciels, les services de base seront opérationnels. Cependant, s’arrêter ici reviendrait à un tutoriel très court ! Plongeons donc un peu plus dans la configuration de chacun des logiciels installés à commencer par MySQL.

3. Après l'installation de MySQL, il est souvent recommandé que le serveur SQL effectue une maintenance de base lors de l'installation par défaut. Ceci est facilement réalisé avec l'utilitaire mysql_secure_installation.

Cette commande est simplement exécutée à partir de la ligne de commande et invitera l'utilisateur à supprimer des éléments tels que les utilisateurs anonymes, à tester les bases de données et à supprimer la possibilité de connexion d'un utilisateur root distant à la base de données SQL.

mysql_secure_installation

Cette commande lancera une invite interactive qui posera des questions sur les sujets ci-dessus. Étant donné que apt a déjà demandé un mot de passe root MySQL, ce mot de passe devra être saisi pour pouvoir apporter des modifications. Puisque le mot de passe root a déjà été défini, Non 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, sauf s'il existe une raison particulière pour laquelle l'installation nécessiterait qu'une de ces options soit laissée 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 ou peut ne pas exister 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 lors de l'installation du logiciel. Cela dépend cependant beaucoup du logiciel et nécessiterait un rapide coup d’œil sur les fichiers README ou les instructions d’installation du logiciel.

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 pouvant être manipulés pour PHP, seuls quelques paramètres de base 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 en a besoin de plus, cette ligne peut être modifiée pour répondre aux exigences.

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 davantage, 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 nécessaire, recherchez la chaîne « error_log = », puis décommentez la ligne en supprimant le point-virgule qui est généralement présent par défaut.

À ce stade, une valeur pour le fichier journal peut être ajoutée à la fin de la ligne. Assurez-vous que le chemin existe sur le système. Une fois que vous avez terminé d'apporter les modifications nécessaires au fichier php.ini, enregistrez les modifications 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 didacticiel explique comment configurer une page Web que Nginx doit héberger. La première étape pour configurer Nginx consiste à installer les packages nécessaires à l'aide de l'utilitaire « apt ».

apt-get install nginx

En supposant que toutes les dépendances soient satisfaites, la navigation vers l'adresse IP du serveur dans un navigateur Web devrait donner le site Web Nginx par défaut.

REMARQUE : Dans certains cas, après l'installation de Nginx, le serveur ne démarre pas 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 flashy, la plupart des utilisateurs souhaiteront héberger quelque chose de personnalisé.

7. Les prochaines étapes passeront par la configuration de Nginx pour héberger un autre site Web. Nginx, tout comme Apache 2, possède son propre répertoire de configurations situé dans /etc/nginx. Accédez à ce répertoire à l'aide de l'utilitaire cd.

cd /etc/nginx

Pour ce didacticiel, il existe plusieurs fichiers et répertoires importants pour la configuration d'un site Web à l'aide de Nginx. Les deux premiers répertoires importants sont les répertoires « sites disponibles » et « sites activés ». 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 les sites activés.

rm sites-enabled/default

8. Maintenant, un nouveau fichier de configuration du 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 par lequel Nginx servira les fichiers.

nano sites-available tecmint-test

Dans ce fichier, il existe plusieurs options importantes à modifier pour que Nginx puisse desservir 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 le laissera par défaut sur « /var/www/html » et placera simplement les fichiers html à servir dans ce répertoire. Assurez-vous cependant de modifier ce chemin s'il doit y avoir plusieurs sites ou une configuration personnalisée sur ce serveur.

La prochaine ligne importante 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, ajoutez simplement « index.php » à la fin de la liste d'index des fichiers.

Avant d'activer le nouveau site, il doit y avoir quelque chose que Nginx puisse servir. 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 que vous venez de créer au répertoire sites-enabled. Ceci est facilement réalisable 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 proposer 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 des configurations très simples de LEMP. La plupart des sites nécessiteraient une configuration supplémentaire pour toutes les pièces impliquées, mais les options de configuration pourraient se compter par milliers ! Bonne chance dans la configuration choisie pour héberger des sites Web.