DevOps

Guide LEMP sur Ubuntu 14.04

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 :

bash
sudo apt-get update sudo apt-get upgrade

2. Installer Nginx :

bash
sudo 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 :

bash
sudo service nginx start sudo systemctl enable nginx

3. Installer MySQL :

bash
sudo 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 :

bash
sudo service mysql start sudo systemctl enable mysql

4. Installer PHP :
Installez PHP et les extensions nécessaires :

bash
sudo 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 :

bash
sudo nano /etc/nginx/sites-available/default

Trouvez la section location ~ \.php$ et décommentez les lignes pertinentes. Cela devrait ressembler à ceci :

nginx
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; }

Enregistrez et fermez le fichier, puis redémarrez Nginx pour appliquer les changements :

bash
sudo service nginx restart

6. Tester la configuration :
Créez un fichier info.php dans le répertoire racine du serveur web pour tester PHP :

bash
sudo 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 :

bash
sudo 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 :

    bash
    sudo service nginx restart
  • Redémarrer MySQL :

    bash
    sudo service mysql restart
  • Redémarrer PHP-FPM :

    bash
    sudo service php7.0-fpm restart
  • Arrêter un service (remplacez « service_name » par le nom du service) :

    bash
    sudo 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 :

nginx
server { 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 :

bash
sudo 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 :

bash
mysql -u root -p

Créez une base de données :

sql
CREATE DATABASE nom_de_la_base;

Créez un utilisateur et définissez un mot de passe :

sql
CREATE USER 'nom_utilisateur'@'localhost' IDENTIFIED BY 'votre_mot_de_passe';

Accordez des privilèges à l’utilisateur sur la base de données :

sql
GRANT ALL PRIVILEGES ON nom_de_la_base.* TO 'nom_utilisateur'@'localhost';

Actualisez les privilèges :

sql
FLUSH PRIVILEGES;

Quittez le shell MySQL :

sql
EXIT;

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é.

Bouton retour en haut de la page