Leçon 6 / 15

Tester puis recharger la configuration

25 min Apache — héberger un site Gratuit

Objectif : Valider la syntaxe et activer les deux hôtes virtuels sans interrompre inutilement le service.

Vous avez préparé deux hôtes virtuels, mais Apache ne les utilise pas encore. Avant de les mettre en service, vous devez vérifier que leurs fichiers sont au bon endroit et que leur syntaxe est valide ; vous pourrez ensuite les activer et demander à Apache de relire sa configuration sans arrêter le service.

Dans les leçons précédentes, vous avez défini l’hôte principal site.example.test dans apache/site-http.conf et l’hôte secondaire api.example.test dans apache/site-secondaire.conf. Chacun conserve sa racine et ses journaux propres ; la configuration globale reste inchangée.

Installer les fichiers dans l’emplacement Apache

Sur Debian et Ubuntu, les fichiers de sites disponibles se trouvent généralement dans /etc/apache2/sites-available/. Le répertoire apache/ de votre projet contient les fichiers sources ; copiez-les dans cet emplacement avant de les activer. Vous devez disposer des droits administrateur pour effectuer cette copie.

Terminal
sudo install -o root -g root -m 644 apache/site-http.conf /etc/apache2/sites-available/site-http.conf
sudo install -o root -g root -m 644 apache/site-secondaire.conf /etc/apache2/sites-available/site-secondaire.conf
sudo apachectl configtest
Résultat attendu
Syntax OK

La commande install copie chaque fichier en attribuant sa propriété à root et des permissions de lecture adaptées à une configuration. apachectl configtest demande ensuite à Apache de vérifier la syntaxe de sa configuration actuelle. Le résultat attendu est Syntax OK ; ce test ne démarre pas le site et ne recharge pas le service.

Activer les deux hôtes virtuels

Sur Debian et Ubuntu, a2ensite active un site en le reliant au répertoire de configurations activées. Exécutez la commande avec les deux fichiers : les noms doivent correspondre exactement à ceux déposés dans sites-available. Cette activation prépare la configuration, mais Apache n’a pas encore reçu l’ordre de la relire.

Terminal
sudo a2ensite site-http.conf site-secondaire.conf
sudo apachectl configtest
Résultat attendu
Site site-http.conf enabled.
Site site-secondaire.conf enabled.
Syntax OK

Refaites le test après l’activation : Apache vérifie alors aussi les fichiers inclus depuis les sites activés. Si tout est valide, vous pouvez demander un rechargement gracieux. Apache relit sa configuration et conserve les connexions en cours autant que possible, contrairement à un arrêt suivi d’un démarrage.

Terminal
sudo apachectl configtest && sudo systemctl reload apache2
sudo systemctl status apache2 --no-pager
Résultat attendu
Syntax OK
● apache2.service - The Apache HTTP Server
     Active: active (running)

L’opérateur && lance le rechargement uniquement si le test précédent réussit. Sur certaines distributions, le service porte le nom httpd plutôt que apache2 ; adaptez la commande systemctl au nom du service utilisé sur votre système. Les chemins de configuration et la méthode d’activation varient également : sur une distribution sans a2ensite, suivez son mécanisme prévu pour inclure les fichiers de sites, sans modifier le fichier global dans le cadre de ce projet.

Vérifier le résultat

Après le rechargement, vérifiez que le service est toujours actif. Si les noms de domaine sont résolus vers le serveur — par DNS ou temporairement avec une entrée locale — vous pouvez aussi envoyer une requête à chaque nom et comparer la page servie. Ces essais vérifient le comportement des hôtes ; ils ne remplacent pas le contrôle de syntaxe préalable.

Terminal
curl -I -H 'Host: site.example.test' http://127.0.0.1/
curl -I -H 'Host: api.example.test' http://127.0.0.1/
Résultat attendu
HTTP/1.1 200 OK
...
HTTP/1.1 200 OK
...

L’en-tête Host permet de tester localement le choix de l’hôte virtuel sans dépendre de la résolution DNS publique. Les réponses exactes dépendent du contenu déployé et du serveur ; une erreur HTTP ou une réponse inattendue indique qu’il faut poursuivre le diagnostic avant de considérer la mise en service comme terminée.

À retenir

  • Copiez les fichiers des hôtes virtuels dans l’emplacement de configuration prévu par votre distribution.
  • Lancez apachectl configtest avant l’activation, puis de nouveau après celle-ci.
  • Sur Debian et Ubuntu, utilisez a2ensite pour activer les deux fichiers sans modifier la configuration globale.
  • Ne rechargez Apache qu’après un test réussi ; utilisez systemctl status et des requêtes de contrôle pour vérifier le résultat.

Dans la prochaine leçon, vous examinerez les modules Apache et n’activerez que ceux nécessaires aux fonctionnalités prévues.

Envie d'aller plus loin ?

Les cours Enovatic sont gratuits et le resteront. Si vous cherchez un accompagnement encadré, nos formations professionnelles sont animées par les mêmes formateurs.