← Retour au portail
🎯 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.
CheminRĂŽ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.
# Afficher les logs d'accÚs en temps réel
$ sudo tail -f /var/log/apache2/access.log

# Afficher les logs d'erreurs
$ 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