🎯 TUTORIEL PAS À PAS
🌐 Déploiement du serveur web Apache sur Debian 13
📅 Mis à jour : Août 2026
⏱️ Durée : 20-25 min
📋 Niveau : Débutant / Intermédiaire
🐧 Debian 13
🌐 Apache 2.4
🔒 SSL/TLS
Ce tutoriel vous guide pas à pas dans l'installation et la configuration d'Apache 2.4
sur Debian 13. Vous apprendrez à installer le serveur, configurer un VirtualHost,
activer les modules essentiels et sécuriser votre site avec SSL/TLS.
📌 Prérequis :
- Un serveur sous Debian 13.2 (Trixie) avec un accès
sudo.
- Un nom de domaine pointant vers l'IP du serveur (pour la configuration HTTPS).
- Les ports 80 et 443 ouverts dans le pare-feu.
1 Installation d'Apache
Étape 1 – Mise à jour du système
Avant toute installation, assurez-vous que votre système est à jour.
$ sudo apt update && sudo apt upgrade -y
Étape 2 – Installation d'Apache
Installez le paquet apache2 avec ses dépendances.
$ sudo apt install apache2 -y
✅ Apache est installé et le service est automatiquement démarré.
Étape 3 – Vérification du service
Vérifiez que le service Apache est actif et activé au démarrage.
$ sudo systemctl status apache2
✅ Le service doit être active (running).
Étape 4 – Test de la page par défaut
Depuis un navigateur, accédez à l'IP de votre serveur pour voir la page par défaut d'Apache.
http://IP_DU_SERVEUR
✅ Vous devriez voir la page « It works! » d'Apache.
2 Configuration de base d'Apache
Étape 1 – Structure des répertoires
Découvrez l'arborescence d'Apache sous Debian.
| Chemin | Rôle |
/etc/apache2/ | Fichiers de configuration principaux |
/etc/apache2/sites-available/ | VirtualHosts disponibles |
/etc/apache2/sites-enabled/ | VirtualHosts actifs (liens symboliques) |
/etc/apache2/mods-available/ | Modules disponibles |
/var/www/html/ | Racine par défaut des sites |
/var/log/apache2/ | Fichiers de logs (access.log, error.log) |
Étape 2 – Activer/désactiver des modules
Activez les modules couramment utilisés (rewrite, ssl, headers).
$ sudo a2enmod rewrite
$ sudo a2enmod ssl
$ sudo a2enmod headers
✅ Les modules sont activés.
🔍 Explication :
a2enmod : active un module.
a2dismod : désactive un module.
- Le rechargement d'Apache est nécessaire après modification.
Étape 3 – Ouvrir le pare-feu
Si vous utilisez ufw, ouvrez les ports 80 (HTTP) et 443 (HTTPS).
$ sudo ufw allow 'Apache Full'
$ sudo ufw status
✅ Les ports 80 et 443 sont ouverts.
3 Création d'un VirtualHost
Étape 1 – Créer l'arborescence du site
Créez un répertoire pour votre site et une page d'accueil.
$ sudo mkdir -p /var/www/mon-site/public_html
$ sudo chown -R $USER:$USER /var/www/mon-site/public_html
$ echo "<h1>Bienvenue sur mon site !</h1>" | sudo tee /var/www/mon-site/public_html/index.html
📂 Organisation :
/var/www/mon-site/public_html/ : contenu du site.
- Les permissions sont définies pour permettre l'édition par l'utilisateur courant.
Étape 2 – Créer le fichier de configuration du VirtualHost
Créez un fichier de configuration pour votre site dans sites-available.
$ sudo nano /etc/apache2/sites-available/mon-site.conf
<VirtualHost *:80>
ServerAdmin webmaster@mon-domaine.fr
ServerName mon-domaine.fr
ServerAlias www.mon-domaine.fr
DocumentRoot /var/www/mon-site/public_html
<Directory /var/www/mon-site/public_html>
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/mon-site-error.log
CustomLog ${APACHE_LOG_DIR}/mon-site-access.log combined
</VirtualHost>
⚠️ Modifications nécessaires :
- Remplacez
mon-domaine.fr par votre domaine réel.
- Remplacez
webmaster@mon-domaine.fr par votre email.
Étape 3 – Activer le VirtualHost
Activez votre site et désactivez le site par défaut si nécessaire.
$ sudo a2ensite mon-site.conf
$ sudo a2dissite 000-default.conf
Étape 4 – Tester la configuration
Vérifiez la syntaxe de la configuration avant de recharger Apache.
$ sudo apache2ctl configtest
✅ La sortie doit afficher Syntax OK.
Étape 5 – Recharger Apache
$ sudo systemctl reload apache2
✅ Le VirtualHost est maintenant actif et accessible.
4 Configuration HTTPS avec Let's Encrypt
Cette section vous guide dans l'installation d'un certificat SSL/TLS gratuit via Let's Encrypt avec Certbot.
Étape 1 – Installation de Certbot
Installez Certbot et le plugin Apache.
$ sudo apt install certbot python3-certbot-apache -y
Étape 2 – Génération du certificat
Lancez Certbot pour obtenir un certificat pour votre domaine.
$ sudo certbot --apache -d mon-domaine.fr -d www.mon-domaine.fr
🔍 Explication :
- Certbot va automatiquement modifier la configuration Apache pour activer HTTPS.
- Vous serez invité à entrer une adresse email et à accepter les conditions.
- Le renouvellement automatique est configuré par un cron job.
✅ Le certificat est installé et le site est accessible en HTTPS.
Étape 3 – Vérification du renouvellement automatique
Testez le renouvellement automatique des certificats.
$ sudo certbot renew --dry-run
✅ Le renouvellement automatique est opérationnel.
5 Gestion des logs
Consulter les logs
Les logs Apache sont essentiels pour le diagnostic.
$ sudo tail -f /var/log/apache2/access.log
$ sudo tail -f /var/log/apache2/error.log
💡 Astuce : Utilisez grep pour filtrer les logs par adresse IP ou par mot-clé.
✅ Test de validation
🎉 Installation réussie si :
systemctl status apache2 affiche active (running).
- La page d'accueil de votre site est accessible sur
http://mon-domaine.fr.
- Le site est accessible en HTTPS (
https://mon-domaine.fr) avec un certificat valide.
- Les logs sont écrits dans
/var/log/apache2/.
📚 Ressources complémentaires
BTS SIO – Lycée NDLP Avranches – Tutoriel Apache v1.0