Organiser les hôtes virtuels Apache sous CentOS

Apache Virtual HostsComme la plupart des distributions Linux, Red Hat et CentOS fournissent un répertoire comprenant une série de fichiers de configuration modulaires pour Apache, en l’occurrence /etc/httpd/conf.d. Ces fichiers sont pris en compte grâce à la directive Include qui figure dans le fichier de configuration principal /etc/httpd/conf/httpd.conf.

# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf

Le répertoire /etc/httpd/conf.d contient un fichier README qui nous renseigne un peu plus sur le fonctionnement particulier de cette configuration modulaire.

This directory holds configuration files for the Apache HTTP Server;
any files in this directory which have the ".conf" extension will be
processed as httpd configuration files.  The directory is used in
addition to the directory /etc/httpd/conf.modules.d/, which contains
configuration files necessary to load modules.

Files are processed in alphabetical order.

L’info à retenir ici, c’est que les bouts de fichiers de configuration pour Apache sont traités par ordre alphabétique. Partant de là, on peut répartir la configuration des hôtes virtuels sur plusieurs fichiers pour plus de lisibilité, avec un VirtualHost par fichier, et en nommant chaque fichier en correspondance avec le nom d’hôte. Voici la solution que j’ai adoptée sur mes serveurs.

Dans un premier temps, les fichiers contenant la configuration globale d’Apache sont préfixés 00-* comme ceci.

# cd /etc/httpd/conf.d
# ls
autoindex.conf  php.conf  README  ssl.conf  userdir.conf  
welcome.conf
# for FILE in $(ls *.conf); do
> mv $FILE 00-$FILE
> done
# ls
00-autoindex.conf  00-php.conf  00-ssl.conf  00-userdir.conf  
00-welcome.conf README

Ensuite, j’ai deux hôtes virtuels qui pointent vers la page par défaut et vers les infos PHP. Les deux sont préfixés 10-* comme ceci.

  • 10-sd-100246.dedibox.fr.conf
  • 10-phpinfo.slackbox.fr.conf

Enfin, les hébergements à proprement parler sont tous préfixés 20-* et nommés en fonction du nom d’hôte.

# ls -1
00-autoindex.conf
00-php.conf
00-ssl.conf
00-userdir.conf
00-welcome.conf
10-phpinfo.slackbox.fr.conf
10-sd-100246.dedibox.fr.conf
20-mail.slackbox.fr.conf
20-mail.unixbox.fr.conf
20-www.slackbox.fr.conf
20-www.unixbox.fr.conf
README

 

 

Ce contenu a été publié dans CentOS, Documentation Microlinux, avec comme mot(s)-clé(s) , , , . Vous pouvez le mettre en favoris avec ce permalien.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *