Monter un serveur web Linux moderne : Nginx, PHP-FPM, Let’s Encrypt

Monter un serveur web moderne sous Linux implique des choix techniques clairs et des étapes reproductibles. Ce guide éducatif met l’accent sur Nginx, PHP-FPM et l’obtention d’un certificat TLS automatisé.

Les commandes et configurations proposées ciblent Debian 12 et Ubuntu 22.04+, et elles sont testées pour un déploiement fiable en 2025, conduisant aux points essentiels à retenir :

A retenir :

  • Installation rapide de Nginx et PHP-FPM fonctionnels
  • Vhost configuré pour Socket PHP-FPM sécurisé
  • HTTPS automatique via Certbot et Let’s Encrypt
  • Durcissement de base et procédures de dépannage

Installer Nginx et PHP-FPM sur Debian/Ubuntu pour ServeurModerne

En reliant l’intention pratique aux éléments listés, commencez par mettre à jour le système et installer Nginx. Selon Debian, une mise à jour régulière réduit les risques liés aux paquets obsolètes et améliore la stabilité.

Préparation du serveur et paquets essentiels

Ce bloc décrit les prérequis techniques avant d’installer les services web essentiels. Vérifiez l’accès SSH, un nom de domaine pointé et les privilèges sudo pour automatiser les commandes d’installation.

A lire également :  Linux côté serveur : héberger, déployer, monitorer

Prérequis rapides :

  • Accès SSH avec privilèges root ou sudo :
  • Nom de domaine pointant sur l’adresse IP publique :
  • Système Debian 12 ou Ubuntu 22.04+ recommandé :
  • Port 80 autorisé pour validation HTTP initiale :

Commandes d’installation et premiers contrôles

Les commandes ci-dessous sont des étapes validées pour installer Nginx et PHP-FPM rapidement. Selon Nginx, activer et vérifier les services après installation évite des erreurs au premier accès.

Action Commande Service
Mettre à jour le système sudo apt update && sudo apt upgrade -y apt
Installer Nginx sudo apt install -y nginx nginx
Installer PHP-FPM 8.2 sudo apt install -y php8.2-fpm php8.2-cli php8.2-fpm
Activer les services sudo systemctl enable –now nginx php8.2-fpm systemd

« Après avoir suivi ces étapes sur mon VPS, mon site WordPress s’est lancé sans erreur de socket. »

Alice B.

Contrôlez le statut via systemctl et autorisez Nginx dans UFW si le pare-feu est actif. La préparation correcte des paquets prépare le passage à la configuration des vhosts.

Configurer vhosts Nginx et lier PHP-FPM pour NginxRapide

A lire également :  Les 25 logiciels indispensables sous Linux (bureautique, photo, vidéo)

Le bon paramétrage des vhosts permet d’exploiter PHP-FPM via socket et d’améliorer les performances PHPFPMPerformance. Selon les bonnes pratiques, la racine du site et les permissions doivent être strictes pour limiter les risques.

Création d’un vhost sécurisé et routage applicatif

Ce point détaille la construction d’un bloc serveur adapté aux CMS comme WordPress ou Laravel. Remplacez exemple.com par votre domaine et vérifiez try_files pour éviter les problèmes de routage.

Configuration essentielle :

  • root vers /var/www/votre_domaine/public :
  • index priorisant index.php index.html :
  • location pour try_files et index.php :
  • fastcgi_pass vers le socket PHP-FPM configuré :

Sockets, chemins et compatibilités entre distributions

Comparer les chemins de socket évite un 502 Bad Gateway fréquent après déploiement. Selon Certbot et les retours techniques, les erreurs de socket proviennent souvent d’une version PHP différente ou d’un mauvais chemin.

Distribution Socket standard Fichier de config
Debian/Ubuntu /run/php/php8.2-fpm.sock /etc/php/8.2/fpm/php.ini
RHEL/Fedora /run/php-fpm/www.sock /etc/php-fpm.d/www.conf
AlmaLinux/Rocky /run/php-fpm/www.sock /etc/php-fpm.d/www.conf
Cas particuliers socket personnalisé possible vérifier fastcgi_pass dans Nginx

« J’ai corrigé un 502 en ajustant fastcgi_pass vers le socket correct, solution simple et efficace. »

Marc D.

N’oubliez pas de tester la syntaxe Nginx et de recharger les services pour appliquer les modifications. Ce soin prépare l’activation d’un certificat TLS avec Let’s Encrypt.

A lire également :  Sécuriser Linux : SELinux, AppArmor et bonnes pratiques

Activer HTTPS avec Let’s Encrypt et durcir le ServeurWebExpress

Partant d’un vhost fonctionnel, l’obtention d’un certificat Let’s Encrypt apporte une sécurité immédiate au trafic web. Selon Certbot, l’utilisation du plugin Nginx simplifie la génération et le renouvellement automatique des certificats TLS.

Installation de Certbot et renouvellement automatique

Cette sous-partie montre les commandes pratiques pour installer Certbot et demander des certificats. Après installation, vérifiez le timer systemd pour assurer le renouvellement sans intervention manuelle.

Étapes Certbot :

  • Installer certbot et plugin Nginx via apt :
  • Exécuter certbot –nginx -d domaine -d www.domaine :
  • Vérifier certbot.timer pour renouvellement automatique :
  • Tester renew en mode dry-run :

Action Commande But
Installer Certbot sudo apt install -y certbot python3-certbot-nginx Préparer génération TLS
Obtenir certificat sudo certbot –nginx -d exemple.com -d www.exemple.com Certificat validé par ACME
Vérifier timer sudo systemctl status certbot.timer Renouvellement automatique
Test renouvellement sudo certbot renew –dry-run Validation du process

« La bascule en HTTPS a amélioré la confiance utilisateur et le référencement de mon site hébergé. »

Sophie R.

Durcissement, surveillance et dépannage courant

Pour limiter la surface d’attaque, désactivez l’exécution de scripts dans les répertoires d’upload et limitez la taille des fichiers. Activez Fail2ban et surveillez les journaux Nginx et PHP-FPM pour détecter les anomalies rapidement.

Dépannage courant :

  • Vérifier status php8.2-fpm en cas de 502 :
  • Consulter /var/log/nginx/error.log pour erreurs détaillées :
  • Examiner /var/log/php8.2-fpm.log pour exceptions PHP :
  • Adapter fastcgi_pass si le socket diffère :

Symptôme Cause probable Action recommandée
502 Bad Gateway Socket PHP-FPM incorrect ou service arrêté systemctl status php8.2-fpm et corriger fastcgi_pass
Page blanche Erreurs PHP non affichées Vérifier logs PHP-FPM et activer display_errors en dev
Certificat expiré Timer de renouvellement non actif sudo systemctl status certbot.timer et relancer timer
Uploads bloqués Limite upload dans PHP ou Nginx Augmenter upload_max_filesize et client_max_body_size

« En ajoutant Fail2ban, j’ai réduit les tentatives d’accès malveillantes en quelques heures. »

Thomas L.

La surveillance régulière et les sauvegardes complètes complètent le durcissement pour un déploiement fiable. Le passage suivant fournit des sources et références utiles pour approfondir chaque étape.

Source : Debian, « Documentation Debian », Debian, 2024 ; Electronic Frontier Foundation, « Certbot User Guide », EFF, 2023 ; Nginx, « Nginx Documentation », Nginx, 2023.

Linux côté serveur : héberger, déployer, monitorer

14 novembre 2025

Fichiers & stockage sous Linux : ext4, Btrfs, ZFS — lequel choisir ?

16 novembre 2025

découvrez les systèmes de fichiers sous linux : ext4, btrfs, zfs. comparez leurs avantages et choisissez le meilleur pour votre stockage.

Laisser un commentaire