Hôtes virtuels avec Apache

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 !