L’installation et la configuration d’une pile logicielle LEMP (Linux, Nginx, MySQL, PHP) sur un système d’exploitation Ubuntu 14.04 peuvent être réalisées en suivant plusieurs étapes. Cette combinaison de technologies constitue une base solide pour le déploiement de sites web dynamiques. Il est important de noter que la version 14.04 d’Ubuntu a atteint la fin de sa vie en avril 2019, ce qui signifie qu’elle ne reçoit plus de mises à jour de sécurité. Il est fortement recommandé de passer à une version plus récente d’Ubuntu pour garantir la sécurité de votre système.
Pour commencer, assurez-vous d’avoir un accès root ou des privilèges sudo sur votre serveur Ubuntu 14.04.

1. Mettre à jour le système :
bashsudo apt-get update sudo apt-get upgrade
2. Installer Nginx :
bashsudo apt-get install nginx
Après l’installation, démarrez le service Nginx et activez-le pour qu’il démarre automatiquement au démarrage :
bashsudo service nginx start
sudo systemctl enable nginx
3. Installer MySQL :
bashsudo apt-get install mysql-server
Pendant l’installation, vous serez invité à définir un mot de passe pour l’utilisateur root de MySQL. Assurez-vous de choisir un mot de passe fort et de le conserver en lieu sûr.
Démarrez le service MySQL et activez-le :
bashsudo service mysql start
sudo systemctl enable mysql
4. Installer PHP :
Installez PHP et les extensions nécessaires :
bashsudo apt-get install php php-fpm php-mysql
5. Configurer Nginx pour PHP :
Éditez le fichier de configuration de Nginx pour prendre en charge les scripts PHP :
bashsudo nano /etc/nginx/sites-available/default
Trouvez la section location ~ \.php$
et décommentez les lignes pertinentes. Cela devrait ressembler à ceci :
nginxlocation ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
Enregistrez et fermez le fichier, puis redémarrez Nginx pour appliquer les changements :
bashsudo service nginx restart
6. Tester la configuration :
Créez un fichier info.php
dans le répertoire racine du serveur web pour tester PHP :
bashsudo nano /var/www/html/info.php
Ajoutez le contenu suivant dans le fichier :
php
phpinfo();
?>
Enregistrez et fermez le fichier. Vous pouvez maintenant accéder à http://votre_adresse_ip/info.php
dans un navigateur web pour voir les informations PHP.
7. Sécuriser MySQL :
Exécutez le script de sécurisation de MySQL pour renforcer la sécurité de votre installation :
bashsudo mysql_secure_installation
Suivez les instructions pour configurer les paramètres de sécurité, y compris la définition d’un nouveau mot de passe pour l’utilisateur root de MySQL si nécessaire.
À ce stade, vous avez réussi à installer et configurer une pile LEMP sur Ubuntu 14.04. Cependant, je tiens à souligner à nouveau que l’utilisation d’Ubuntu 14.04 n’est plus recommandée en raison de l’absence de mises à jour de sécurité. Il est fortement conseillé de migrer vers une version plus récente d’Ubuntu pour garantir un environnement stable et sécurisé.
Plus de connaissances
Poursuivons notre exploration des composants de la pile LEMP sur Ubuntu 14.04 en approfondissant certaines des configurations et en fournissant des informations supplémentaires sur la gestion des services et la sécurité.
Gestion des services :
Après avoir installé la pile LEMP, il est essentiel de connaître les commandes de base pour gérer les services. Voici quelques commandes utiles :
-
Redémarrer Nginx :
bashsudo service nginx restart
-
Redémarrer MySQL :
bashsudo service mysql restart
-
Redémarrer PHP-FPM :
bashsudo service php7.0-fpm restart
-
Arrêter un service (remplacez « service_name » par le nom du service) :
bashsudo service service_name stop
Configuration de Nginx :
Nginx utilise des fichiers de configuration pour définir le comportement du serveur. Le fichier principal est généralement situé à /etc/nginx/nginx.conf
, mais les configurations spécifiques à chaque site sont souvent placées dans le répertoire /etc/nginx/sites-available/
.
Il est recommandé de créer des fichiers de configuration distincts pour chaque site et de les activer à l’aide de liens symboliques dans le répertoire /etc/nginx/sites-enabled/
.
Exemple de configuration d’un site :
nginxserver { listen 80; server_name votredomaine.com www.votredomaine.com; root /var/www/html/votresite; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /usr/share/nginx/html; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
N’oubliez pas de redémarrer Nginx après avoir apporté des modifications à la configuration :
bashsudo service nginx restart
Sécurité du serveur :
La sécurité du serveur est une préoccupation majeure. Assurez-vous de suivre les meilleures pratiques pour renforcer la sécurité de votre serveur LEMP :
- Limitez l’accès SSH en utilisant des clés plutôt que des mots de passe.
- Mettez à jour régulièrement votre système et vos logiciels pour combler les vulnérabilités.
- Configurez un pare-feu pour restreindre le trafic réseau non nécessaire.
- Utilisez des certificats SSL pour chiffrer les communications web.
- Limitez les droits des utilisateurs MySQL en ne leur accordant que les permissions nécessaires.
Gestion de MySQL :
La gestion de MySQL implique la création de bases de données, d’utilisateurs et l’attribution de privilèges. Connectez-vous à MySQL en tant qu’utilisateur root :
bashmysql -u root -p
Créez une base de données :
sqlCREATE DATABASE nom_de_la_base;
Créez un utilisateur et définissez un mot de passe :
sqlCREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED BY 'votre_mot_de_passe';
Accordez des privilèges à l’utilisateur sur la base de données :
sqlGRANT ALL PRIVILEGES ON nom_de_la_base.* TO 'nom_utilisateur'@'localhost';
Actualisez les privilèges :
sqlFLUSH PRIVILEGES;
Quittez le shell MySQL :
sqlEXIT;
Conclusion :
En résumé, la mise en place d’une pile LEMP sur Ubuntu 14.04 est une tâche complexe mais essentielle pour l’hébergement de sites web dynamiques. La combinaison de Linux, Nginx, MySQL et PHP offre une plateforme robuste et performante. N’oubliez pas de suivre les meilleures pratiques de sécurité et de gestion pour garantir la stabilité et la fiabilité de votre infrastructure. Il est fortement recommandé de mettre à niveau votre système d’exploitation vers une version plus récente pour bénéficier des dernières fonctionnalités et des correctifs de sécurité.