next up previous contents Next: crond et atd. Up: Installation et configuration d'Apache. Previous:  Modules Apache et PHP.   Table des matières  

37.2.12  Hôtes virtuels.

L'utilisation d'un serveur web pour acheminer des pages web vers des domaines multiples est appelé en anglais virtual hosting (hébergement virtuel). Bien que le navigateur web semble être connecté à un site web qui est une entité isolée, ce site web peut être hébergé parmi de nombreux autres sites sur la même machine.

L'hébergement virtuel est assez simple à configurer. Disons que vous avez trois domaines www.domaine1.com, www.domaine2.com et www.domaine3.com. Nous souhaitons que les domaines www.domaine1.com et www.domaine2.com partagent la même adresse IP 196.123.45.1, tandis que www.domaine3.com possède sa propre adresse IP, 196.123.45.2. Le partage d'une adresse unique s'appelle l'hébergement virtuel basé sur le nom (base-named virtual hosting) et l'utilisation d'une adresse différente pour chaque domaine donne lieu à l'hébergement virtuel basé sur l'IP (IP-based virtual hosting).

Si notre machine ne possède qu'une IP, 196.123.45.1, nous devrons configurer une adresse IP séparée sur la même carte réseau comme ceci (voir la section 26.9):

ifconfig eth0:1 196.123.45.2 netmask 255.255.255.0 up 


Pour chaque domaine /opt/apache/htdocs/www.domain?.com/, nous créons un répertoire de référence (c'est-à-dire top-level). Nous devons dire à Apache que nous avons l'intention d'utiliser l'adresse IP 196.123.45.1 pour différents hôtes. Pour cela, nous utilisons la directive NameVirtualHost. Pour chaque hôte, nous devons spécifier le répertoire de référence (ou top-level directory) comme suit:

NameVirtualHost 196.123.45.1 
 
<VirtualHost 196.123.45.1> 
   ServerName www.domaine1.com 
   DocumentRoot /opt/apache/htdocs/www.domaine1.com/ 
</VirtualHost> 
<VirtualHost 196.123.45.1> 
   ServerName www.domaine2.com 
 
   DocumentRoot /opt/apache/htdocs/www.domaine2.com/ 
</VirtualHost> 
 
<VirtualHost 196.123.45.2> 
   ServerName www.domaine3.com 
   DocumentRoot /opt/apache/htdocs/www.domaine3.com/ 
</VirtualHost> 


Il ne reste plus qu'à configurer une zone DNS correcte pour chaque domaine de sorte que les requêtes sur www.domaine1.com et www.domaine2.com retournent 196.123.45.1 tandis que celles associées à www.domaine3.com retournent 196.123.45.2.

Vous pouvez alors ajouter les fichiers index.html à chaque répertoire.


next up previous contents Next: crond et atd. Up: Installation et configuration d'Apache. Previous:  Modules Apache et PHP.   Table des matières  
1-01-2006