Tester puis recharger la configuration
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.
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 configtestSyntax OKLa 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.
sudo a2ensite site-http.conf site-secondaire.conf
sudo apachectl configtestSite site-http.conf enabled.
Site site-secondaire.conf enabled.
Syntax OKRefaites 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.
sudo apachectl configtest && sudo systemctl reload apache2
sudo systemctl status apache2 --no-pagerSyntax 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.
curl -I -H 'Host: site.example.test' http://127.0.0.1/
curl -I -H 'Host: api.example.test' http://127.0.0.1/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 configtestavant l’activation, puis de nouveau après celle-ci. - Sur Debian et Ubuntu, utilisez
a2ensitepour activer les deux fichiers sans modifier la configuration globale. - Ne rechargez Apache qu’après un test réussi ; utilisez
systemctl statuset 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.