Hôtes virtuels avec Apache
Déclaration de 2 hôtes (www, home) sur une seule IP (10.0.0.1) :
NameVirtualHost 10.0.0.1:80
NameVirtualHost 10.0.0.1:443
<VirtualHost 10.0.0.1:80>
ServerName home.example.org
ServerAdmin webmaster@localhost
DocumentRoot /var/www/example.org/home/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/example.org/home/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/home.example.org.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/home.example.org.access.log combined
ServerSignature Off
</VirtualHost>
<VirtualHost 10.0.0.1:80>
ServerName www.example.org
ServerAlias example.org
ServerAdmin webmaster@localhost
DocumentRoot /var/www/example.org/www/
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /var/www/example.org/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/www.example.org.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/www.example.org.access.log combined env=!dontlog
ServerSignature Off
</VirtualHost>
Attention : l'ordre de déclaration des hôtes virtuels est important ! L'hôte par défaut sera le premier hôte déclaré :
En se connectant en HTTP/1.0 à l'hôte www.example.org
:
telnet www.example.org 80
GET / HTTP/1.0
On recevra la page d'index de l'hôte home.example.org
!