Serveur Apache HTTP Version 2.2
L'h�bergement virtuel bas� sur IP est une m�thode permettant d'appliquer certaines directives en fonction de l'adresse IP et du port sur lesquels la requ�te est re�ue. En g�n�ral, il s'agit de servir diff�rents sites web sur des ports ou interfaces diff�rents.
Dans de nombreux cas, l'h�bergement virtuel bas� sur le nom est plus adapt� car il permet � plusieurs serveurs virtuels de partager la m�me adresse/port. Voir le document H�bergement virtuel bas� sur IP ou sur le nom pour prendre votre d�cision.
Comme l'indique le terme par IP, le serveur doit disposer de couples adresses IP/port diff�rents 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), et/ou utiliser plusieurs ports.
Dans la terminologie du serveur HTTP Apache, l'utilisation de plusieurs ports TCP pour une seule adresse IP se nomme aussi h�bergement virtuel bas� sur IP.
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 192.168.0.1: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 192.168.0.1:80>
ServerAdmin [email protected]
DocumentRoot /groups/smallco/www
ServerName smallco.example.com
ErrorLog /groups/smallco/logs/error_log
TransferLog /groups/smallco/logs/access_log
</VirtualHost>
<VirtualHost 192.168.0.2:80>
ServerAdmin [email protected]
DocumentRoot /groups/baygroup/www
ServerName baygroup.example.com
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 dans la d�finition du <VirtualHost> (consultez Probl�mes DNS avec Apache).
Les adresses IP et ports explicites l'emportent sur leurs �quivalents avec caract�res g�n�riques, et tout serveur virtuel qui correspond � la requ�te l'emporte sur la configuration du serveur de base.
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.