Documentation Apache sous Debian 13 (Trixie)

1. Dossiers principaux d’Apache sous Debian 13

Configuration globale

  • /etc/apache2/ : Dossier racine de la configuration Apache.
  • apache2.conf : Fichier de configuration principal.
  • ports.conf : Définit les ports d’écoute (par défaut : 80 pour HTTP, 443 pour HTTPS).
  • envvars : Variables d’environnement pour Apache.

Modules

  • /etc/apache2/mods-available/ : Modules disponibles (non activés).
  • /etc/apache2/mods-enabled/ : Modules activés (liens symboliques vers mods-available).

Sites (Virtual Hosts)

  • /etc/apache2/sites-available/ : Fichiers de configuration des sites disponibles (ex: 000-default.conf, default-ssl.conf).
  • /etc/apache2/sites-enabled/ : Sites activés (liens symboliques vers sites-available).

Fichiers des sites par défaut

  • /var/www/html/ : Dossier racine par défaut pour le site principal (généralement lié à 000-default.conf).
    • Fichier par défaut : index.html (ou index.php si PHP est activé).
  • /var/www/ : Dossier parent pour les autres sites (ex: /var/www/monsite/).

Logs

  • /var/log/apache2/ :
    • access.log : Logs des accès.
    • error.log : Logs des erreurs.

2. Commandes pour activer/désactiver des sites

Activer un site

sudo a2ensite nom_du_site.conf

  • Exemple : sudo a2ensite mon-site.conf
  • Crée un lien symbolique dans sites-enabled/.

Désactiver un site

sudo a2dissite nom_du_site.conf

  • Exemple : sudo a2dissite mon-site.conf
  • Supprime le lien symbolique dans sites-enabled/.

Activer un module

sudo a2enmod nom_du_module

  • Exemple : sudo a2enmod rewrite (pour activer le module rewrite).

Désactiver un module

sudo a2dismod nom_du_module

  • Exemple : sudo a2dismod cgi.

Redémarrer Apache

Après toute modification, redémarrez Apache pour appliquer les changements :

sudo systemctl restart apache2

  • Vérifier la syntaxe des fichiers de configuration avant redémarrage :

sudo apache2ctl configtest

3. Fichiers de configuration par défaut

Site par défaut (HTTP)

  • Fichier : /etc/apache2/sites-available/000-default.conf
  • Contenu typique :
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • Dossier racine : /var/www/html/
  • Fichier par défaut : index.html

Site par défaut (HTTPS)

  • Fichier : /etc/apache2/sites-available/default-ssl.conf
  • Dossier racine : /var/www/html/ (ou un autre dossier configuré).
  • Certificats SSL : Généralement dans /etc/ssl/certs/ et /etc/ssl/private/.

4. Exemple de workflow (flux de travail) pour ajouter un nouveau site

1 Créer un fichier de configuration dans /etc/apache2/sites-available/ :

sudo nano /etc/apache2/sites-available/monsite.conf

Exemple de contenu :

<VirtualHost *:80>
ServerName monsite.local
DocumentRoot /var/www/monsite
ErrorLog ${APACHE_LOG_DIR}/monsite_error.log
CustomLog ${APACHE_LOG_DIR}/monsite_access.log combined
</VirtualHost>

2 Créer le dossier du site :

sudo mkdir -p /var/www/monsite

sudo chown -R $USER:$USER /var/www/monsite

3 Activer le site :

sudo a2ensite monsite.conf

4 Redémarrer Apache :

sudo systemctl restart apache2

5. Résumé des commandes utiles

ActionCommande
Activer un sitesudo a2ensite nom_du_site.conf
Désactiver un sitesudo a2dissite nom_du_site.conf
Activer un modulesudo a2enmod nom_du_module
Désactiver un modulesudo a2dismod nom_du_module
Tester la configurationsudo apache2ctl configtest
Redémarrer Apachesudo systemctl restart apache2
Relancer Apache (sans redémarrage complet)sudo systemctl reload apache2
Voir l’état d’Apachesudo systemctl status apache2

6. Remarques importantes

Debian 13 utilise systemd pour gérer Apache (apache2.service).

Les permissions des dossiers (/var/www/) doivent être correctement configurées pour éviter les erreurs 403 Forbidden.

Pour les sites HTTPS, assurez-vous que le module ssl est activé (sudo a2enmod ssl) et que les certificats sont configurés.

Retour en haut