Sommaire
🎯 TUTORIEL PAS À PAS
🌐 Déploiement du serveur web Apache sur Debian 13
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
$ 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
$ 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
$ 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.frpar votre domaine réel. - Remplacez
webmaster@mon-domaine.frpar 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
$ 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
$ 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 apache2affiche 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
Suis ta progressionConnecte-toi pour marquer les ressources comme terminées et retrouver ton avancement.
Se connecter