L’installation d’un serveur LEMP (Linux, Nginx, MySQL, PHP) sur Debian ou Ubuntu est une étape cruciale pour les développeurs et les administrateurs système qui souhaitent héberger des sites web performants et sécurisés. Ce guide vous fournira des instructions détaillées pour configurer un environnement LEMP de manière efficace sur ces deux systèmes d’exploitation.

Pourquoi choisir le stack LEMP ?

Contrairement au stack LAMP, qui utilise Apache comme serveur web, LEMP utilise Nginx, réputé pour sa légèreté et sa capacité à gérer un grand nombre de connexions simultanées, ce qui en fait un choix idéal pour les applications modernes et à fort trafic.

Besoin d’un serveur VPS ?

Chez Sapinet, nous offrons des serveurs VPS optimisés pour LEMP, garantissant des performances élevées et une flexibilité totale. Nos VPS sont parfaits pour héberger vos applications critiques, avec des ressources évolutives selon vos besoins.

Prérequis

  • Système d’exploitation : Une machine sous Debian ou Ubuntu.
  • Accès root ou un utilisateur avec des privilèges sudo.
  • Nom de domaine (optionnel) : utile pour configurer des serveurs en production.

Si vous n’avez pas encore de serveur, explorez nos offres VPS. Nous offrons des configurations adaptées à toutes les tailles de projets, des petits sites web aux applications complexes.

Étape 1 : Mise à jour de votre système

Avant de commencer l’installation, il est essentiel de mettre à jour votre système pour garantir que tous les paquets sont à jour. Exécutez les commandes suivantes :

sudo apt update && sudo apt upgrade -y

Cela mettra à jour tous les paquets installés et corrigera les éventuelles vulnérabilités de sécurité.

Étape 2 : Installation de Nginx

Nginx (prononcé « engine-x ») est le serveur web qui servira vos pages web. Pour l’installer, utilisez la commande suivante :

sudo apt install nginx -y

Une fois l’installation terminée, démarrez Nginx et assurez-vous qu’il s’exécute au démarrage :

sudo systemctl start nginx
sudo systemctl enable nginx

Vérification : Accédez à votre serveur via son adresse IP pour voir si Nginx fonctionne. Vous devriez voir la page par défaut de Nginx.

Étape 3 : Installation et configuration de MySQL

MySQL est la base de données qui stockera vos données dynamiques, comme les utilisateurs, les articles, etc.

sudo apt install mysql-server -y

Après l’installation, il est important de sécuriser MySQL :

sudo mysql_secure_installation

Pendant cette étape, vous serez invité à définir un mot de passe root et à configurer d’autres paramètres de sécurité. Choisissez les options recommandées pour une sécurité maximale.

Étape 4 : Installation de PHP et des extensions requises

PHP est un langage de script qui permet de générer du contenu dynamique sur votre site web. Pour assurer le bon fonctionnement de vos applications PHP, il est recommandé d’installer un ensemble complet d’extensions PHP couramment utilisées. Voici comment installer PHP ainsi que les extensions nécessaires :

sudo apt install php-fpm php-mysql php-cli php-curl php-gd php-mbstring php-xml php-zip php-json php-bcmath php-intl php-soap php-xmlrpc -y

PHP-FPM (FastCGI Process Manager) améliore la performance de PHP en le gérant de manière plus efficace dans les environnements à forte charge.

Étape 5 : Configuration de Nginx pour PHP

Pour permettre à Nginx de traiter les fichiers PHP, vous devez modifier la configuration du site par défaut. Ouvrez le fichier de configuration Nginx :

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

Recherchez et modifiez les lignes suivantes pour les adapter à PHP :

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Enregistrez et quittez l’éditeur. Ensuite, vérifiez la syntaxe de la configuration pour vous assurer qu’il n’y a pas d’erreurs :

sudo nginx -t

Si tout est correct, redémarrez Nginx pour appliquer les changements :

sudo systemctl restart nginx

Étape 6 : Tester PHP

Pour vous assurer que PHP fonctionne correctement, créez un fichier de test info.php dans le répertoire racine de votre serveur web :

echo "<?php phpinfo(); ?" | sudo tee /var/www/html/info.php

Accédez ensuite à http://votre_ip/info.php via votre navigateur. Si PHP est correctement configuré, vous verrez une page contenant des informations détaillées sur votre installation PHP.

Étape 7 : Sécuriser votre serveur

Une fois votre serveur LEMP en place, il est essentiel de le sécuriser :

  1. Pare-feu : Configurez un pare-feu pour limiter les connexions entrantes uniquement aux ports nécessaires (HTTP, HTTPS, SSH). UFW est un excellent outil pour cela : sudo ufw allow 'Nginx Full' sudo ufw enable
  2. Certificat SSL : Pour sécuriser les communications entre vos utilisateurs et le serveur, installez un certificat SSL. Vous pouvez utiliser Let’s Encrypt pour obtenir un certificat SSL gratuit : sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx Suivez les instructions à l’écran pour configurer votre certificat SSL.

Étape 8 : Maintenance et gestion de votre serveur

Un serveur en production nécessite une maintenance régulière pour s’assurer qu’il reste sécurisé et performant. Voici quelques bonnes pratiques :

  • Mises à jour régulières : Assurez-vous que votre système d’exploitation, vos logiciels, et vos paquets sont toujours à jour.
  • Surveillance du serveur : Utilisez des outils comme htop, vnstat et nginx-monitor pour surveiller les performances et l’utilisation des ressources de votre serveur.
  • Sauvegardes : Implémentez un système de sauvegarde régulier pour éviter la perte de données.

Conclusion

Vous avez maintenant un serveur LEMP fonctionnel sous Debian ou Ubuntu, prêt à héberger vos projets web avec une infrastructure performante et sécurisée. Ce guide vous a accompagné à travers chaque étape essentielle, de l’installation des logiciels nécessaires à la configuration de votre environnement serveur.

Pour des performances optimales et une gestion simplifiée, pensez à héberger votre serveur sur un VPS Sapinet. Nos VPS sont conçus pour offrir une flexibilité totale, avec des ressources adaptables et un support technique disponible pour vous aider à tirer le meilleur parti de votre infrastructure.

N’attendez plus, rejoignez la communauté Sapi et profitez d’une plateforme d’hébergement fiable et performante pour vos projets web !