Comment installer Linux, Nginx, MySQL, PHP (LEMP) sur Ubuntu
1. Conditions préalables
Avant de commencer, assurez-vous que vous disposez des éléments suivants :
- Un serveur fonctionnant sous Ubuntu 18.04 ou 20.04.
- Des privilèges Sudo sur le serveur.
- Un terminal ou un accès SSH à votre serveur.
2. Mise à jour de votre système
Ouvrez votre terminal et exécutez la commande suivante pour mettre à jour l’index de votre paquet :
sudo apt update
3. Installer Nginx
Étape 1 : Installer Nginx
Exécutez la commande suivante pour installer Nginx :
sudo apt install nginx -y
Étape 2 : Démarrer et activer Nginx
Après l’installation, démarrez le service Nginx et activez-le au démarrage :
sudo systemctl start nginx sudo systemctl enable nginx
Étape 3 : Vérifier l’état de Nginx
Vous pouvez vérifier l’état de Nginx pour vous assurer qu’il fonctionne :
sudo systemctl status nginx
Vous pouvez également ouvrir votre navigateur web et vous rendre à l’adresse IP de votre serveur. Vous devriez voir la page d’accueil de Nginx.
4. Installer MySQL
Étape 1 : Installer le serveur MySQL
Exécutez la commande suivante pour installer MySQL :
sudo apt install mysql-server -y
Étape 2 : Sécuriser l’installation de MySQL
Après l’installation, exécutez le script de sécurité pour renforcer la sécurité de MySQL :
sudo mysql_secure_installation
Suivez les invites pour définir un mot de passe root et configurer d’autres paramètres de sécurité.
5. Installer PHP
Etape 1 : Installer PHP et les extensions nécessaires
Pour installer PHP et les extensions requises pour Nginx et MySQL, exécutez la commande suivante :
sudo apt install php-fpm php-mysql -y
Étape 2 : Configurer le processeur PHP
Ouvrez le fichier de configuration PHP pour Nginx :
sudo nano /etc/php/7.4/fpm/php.ini
Assurez-vous que les lignes suivantes sont définies (décommentez si nécessaire) :
cgi.fix_pathinfo=0
Etape 3 : Redémarrer le service PHP-FPM
Après avoir modifié la configuration de PHP, redémarrez le service PHP-FPM :
sudo systemctl restart php7.4-fpm
6. Configurer Nginx pour utiliser PHP
Étape 1 : Créer un bloc serveur pour votre site web
Créez un nouveau fichier de configuration pour votre site web :
sudo nano /etc/nginx/sites-available/your_domain
Ajoutez la configuration suivante :
serveur {
listen 80 ;
server_name votre_domaine ;
# Remplacer par votre domaine ou l'IP de votre serveur
root /var/www/votre_domaine ;
# Le répertoire racine où sont stockés les fichiers de votre site web
index index.php index.html index.htm ;
# Fichiers par défaut à charger lors de l'accès au répertoire racine
location / {
try_files $uri $uri/ =404 ;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf ;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock ;
# Ajuster la version de PHP si nécessaire
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name ;
include fastcgi_params ;
}
location ~ /\.ht {
deny all ;
}
}
Étape 2 : Activer le blocage du serveur
Créez un lien symbolique pour activer la configuration du bloc serveur :
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/
Étape 3 : Tester la configuration de Nginx
Testez la configuration de Nginx pour vérifier qu’il n’y a pas d’erreurs de syntaxe :
sudo nginx -t
Étape 4 : Redémarrer Nginx
Redémarrez le service Nginx pour appliquer les modifications :
sudo systemctl restart nginx
7. Créer un fichier d’information PHP
Pour tester l’installation de PHP, créez un fichier d’information PHP dans la racine de votre document :
sudo nano /var/www/votre_domaine/info.php
Ajoutez le contenu suivant :
8. Accès à votre application
Ouvrez votre navigateur web et accédez à http://your_domain/info.php ou à l’adresse IP de votre serveur. Vous devriez voir la page d’information PHP.
9. Conclusion
Vous avez installé avec succès la pile LEMP (Linux, Nginx, MySQL, PHP) sur votre serveur Ubuntu. Cette puissante combinaison fournit une plateforme robuste pour l’hébergement d’applications web dynamiques. Veillez à sécuriser votre serveur, à mettre régulièrement à jour vos logiciels et à explorer d’autres configurations pour optimiser les performances.