Dans ce guide de démarrage rapide, nous allons installer une pile LEMP sur un serveur Ubuntu 20.04.
Pour une version plus détaillée de ce tutoriel, avec plus d'explications sur chaque étape, veuillez vous référer à Comment installer Linux, Nginx, MySQL, PHP (pile LEMP) sur Ubuntu 20.0
Pour suivre ce guide, vous devrez avoir accès à un serveur Ubuntu 20.04 en tant qu'utilisateur sudo
.
Mettez à jour le cache de votre gestionnaire de packages et installez ensuite Nginx avec :
Une fois l'installation terminée, vous devrez ajuster les paramètres de votre pare-feu pour autoriser le trafic HTTP sur votre serveur. Exécutez la commande suivante pour autoriser l'accès externe sur le port 80
(HTTP) :
(Correction Léolios )
Avec l'ajout de la nouvelle règle de pare-feu, vous pouvez vérifier si le serveur est opérationnel en accédant à l'adresse IP publique ou au nom de domaine de votre serveur depuis votre navigateur web. Vous verrez une page comme celle-ci :
Nous allons maintenant installer MySQL, un système de gestion de base de données populaire utilisé dans les environnements PHP.
Là encore, utilisez apt
pour acquérir et installer ce logiciel :
Une fois l'installation terminée, il est recommandé d'exécuter un script de sécurité qui vient préinstallé avec MySQL. Lancez le script interactif en exécutant :
Il vous sera demandé si vous souhaitez configurer le VALIDATE PASSWORD PLUGIN
. Répondez Y
pour oui, ou tout autre chose pour continuer sans activer. Si vous répondez « oui », il vous sera demandé de choisir un niveau de validation du mot de passe.
Votre serveur vous demandera ensuite de sélectionner et de confirmer un mot de passe pour l'utilisateur root de MySQL. Même si la méthode d'authentification par défaut pour l'utilisateur root de MySQL dispense de l'utilisation d'un mot de passe, même si celui-ci est défini, vous devez définir ici un mot de passe fort pour plus de sécurité.
Pour le reste des questions, appuyez sur Y
et appuyez sur la touche ENTRÉE à chaqu
e invite.
Note : Au moment de la rédaction de ce document, la bibliothèque MySQL PHP native mysqlnd
ne prend pas en charge caching_sha2_authentification
,la méthode d'authentification par défaut pour MySQL 8. Pour cette raison, lorsque vous créez des utilisateurs de base de données pour des applications PHP sur MySQL 8, vous devez vous assurer qu'ils sont configurés pour utiliser le mot de passe mysql_native_password
à la place. Veuillez vous référer à l'étape 6 de notre guide détaillé LEMP sur Ubuntu 20.04 pour apprendre comment le faire.
Pour installer les packages php-fpm
et php-mysql
, exécutez :
Dans ce guide, nous allons mettre en place un domaine appelé your_domain, mais vous devez le remplacer par votre propre nom de domaine.
Sur Ubuntu 20.04, Nginx dispose d'un bloc serveur activé par défaut qui est configuré pour servir des documents à partir d'un répertoire à /var/www/html
. Même si cela fonctionne bien pour un seul site, cela peut devenir difficile à gérer si vous hébergez plusieurs sites. Au lieu de modifier /var/www/html
, nous allons créer une structure de répertoire au sein de /var/www
pour le site Web your_domain, en laissant /var/www/html
en place comme répertoire par défaut à servir si une demande du client ne correspond à aucun autre site.
Créez le répertoire racine Web pour your_domain comme suit :
Ensuite, attribuez la propriété du répertoire avec la variable d'environnement $USER qui fera référence à votre utilisateur actuel du système :
Ouvrez ensuite un nouveau fichier de configuration dans le répertoire sites-available
de Nginx en utilisant votre éditeur de ligne de commande préféré. Ici, nous utiliserons nano
:
Cela créera un nouveau fichier vierge. Collez dans la configuration suivante :
/etc/nginx/sites-available/your_domain
Une fois que vous avez terminé vos modifications, enregistrez et fermez le fichier. Si vous utilisez nano
, vous pouvez le faire en appuyant sur CTRL + X
, puis y
et ENTER
pour confirmer.
Activez votre configuration en établissant un lien vers le fichier de configuration à partir du répertoire sites-enabled
de Nginx :
Cela indiquera à Nginx d'utiliser la configuration lors du prochain rechargement. Vous pouvez vérifier si votre configuration contient des fautes de syntaxe en tapant :
Si des erreurs sont signalées, revenez à votre fichier de configuration pour corriger son contenu avant de continuer.
Une fois que vous êtes prêt, rechargez Nginx pour appliquer les modifications :
Votre nouveau site web est maintenant actif, mais le root web /var/www/your_domain
est toujours vide. Créez un fichier index.html
à cet endroit afin que nous puissions tester si le bloc de serveur fonctionne comme prévu :
Incluez le contenu suivant dans ce dossier :
/var/www/your_domain/index.html
Maintenant, allez dans votre navigateur et accédez au nom de domaine ou à l'adresse IP de votre serveur, comme indiqué dans la directive server_name
de votre fichier de configuration de bloc de serveur :
Vous verrez une page comme celle-ci :
Nous allons maintenant créer un script de test PHP pour confirmer que Nginx est capable de gérer et de traiter les demandes de fichiers PHP.
Créer un nouveau fichier nommé info.php
à l'intérieur de votre dossier root web personnalisé :
Cela ouvrira un fichier vierge. Ajoutez le contenu suivant dans le fichier :
/var/www/your_domain/info.php
Lorsque vous avez terminé, enregistrez et fermez le fichier.
Vous pouvez maintenant accéder à cette page dans votre navigateur Web en consultant le nom de domaine ou l'adresse IP publique que vous avez défini dans votre fichier de configuration Nginx, suivi de /info.php
:
Vous verrez apparaître une page Web contenant des informations détaillées sur votre serveur :
Après avoir vérifié les informations pertinentes sur votre serveur PHP par le biais de cette page, il est préférable de supprimer le fichier que vous avez créé car il contient des informations sensibles sur votre environnement PHP et votre serveur Ubuntu. Vous pouvez utiliser rm
pour supprimer ce fichier :
Voici des liens vers des guides plus détaillés relatifs à ce tutoriel :