Serveur Apache HTTP Version 2.2
Comme l'indique le terme par IP, le serveur doit disposer de diff�rentes adresses IP pour chaque serveur virtuel par IP. La machine peut poss�der plusieurs connexions physiques au r�seau, ou utiliser des interfaces virtuelles qui sont support�es par la plupart des syst�mes d'exploitation modernes (Consultez la documentation des syst�mes d'exploitation pour plus de d�tails, notamment les "alias IP" et la commande "ifconfig" pour les activer).
Il y a deux mani�res de configurer Apache pour le support de
multiples serveurs virtuels. Il suffit soit de faire tourner un
processus r�sident httpd
pour chaque nom de
domaine, soit de faire tourner un unique processus r�sident qui
g�re tous les serveurs virtuels.
Utilisez des processus r�sidents multiples lorsque :
User
,
Group
,
Listen
, et
ServerRoot
diff�rents.Listen
, soit sur toutes
les adresses avec le joker "*", soit uniquement sur des adresses
sp�cifiques. Donc, si vous avez besoin d'�couter une adresse
en particulier, vous devrez le faire pour l'ensemble des
autres adresses (Bien qu'il soit plus simple de lancer un
processus httpd
pour �couter N-1 adresses,
et un autre pour l'adresse restante).Utilisez un unique processus r�sident lorsque :
Cr�ez une installation ind�pendante du programme
httpd
pour chaque serveur virtuel. Pour
chacune d'elle, utilisez la directive
Listen
dans le fichier
de configuration pour d�finir l'adresse IP (ou serveur virtuel)
que le processus r�sident doit g�rer. Par exemple :
Listen www.smallco.com:80
Il est recommand� d'utiliser une adresse IP plut�t qu'un nom de domaine (consultez Probl�mes DNS avec Apache).
Dans ce cas, un unique processus httpd va g�rer les requ�tes
pour le serveur principal et tous les serveurs virtuels. Dans le
fichier de configuration, la directive
VirtualHost
va servir �
d�finir les autres directives
ServerAdmin
,
ServerName
,
DocumentRoot
,
ErrorLog
et
TransferLog
ou
CustomLog
avec des
valeurs diff�rentes pour chaque serveur virtuel. Par exemple :
<VirtualHost www.smallco.com>
ServerAdmin [email protected]
DocumentRoot /groups/smallco/www
ServerName www.smallco.com
ErrorLog /groups/smallco/logs/error_log
TransferLog /groups/smallco/logs/access_log
</VirtualHost>
<VirtualHost www.baygroup.org>
ServerAdmin [email protected]
DocumentRoot /groups/baygroup/www
ServerName www.baygroup.org
ErrorLog /groups/baygroup/logs/error_log
TransferLog /groups/baygroup/logs/access_log
</VirtualHost>
Il est recommand� d'utiliser une adresse IP plut�t qu'un nom de domaine (consultez Probl�mes DNS avec Apache).
Presque toutes les directives de configuration peuvent �tre employ�es dans une directive VirtualHost, � l'exception des directives qui contr�lent la cr�ation du processus et de quelques autres. Pour conna�tre celles utilisables dans une directive VirtualHost, v�rifiez leur Contexte en utilisant l'Index des directives.
SuexecUserGroup
peut �tre
utilis�es � l'int�rieur d'une directive VirtualHost si l'ex�cution se fait
sous suEXEC. (Voir suEXEC).
S�CURIT� : lorsque vous sp�cifiez o� �crire les fichiers journaux, soyez attentif aux risques si quelqu'un d'autre que celui qui a d�marr� Apache dispose des droits d'�criture sur l'emplacement de ces fichiers. Consultez les Conseils sur la s�curit� pour plus de d�tails.