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