Exemple pris avec un serveur Apache2.2 sur une Debian Etch, ces instructions sont aussi valables sur d'autres distributions sans gands changements (voire aucun).

Les Virtual Host sont définis dans le répertoire /etc/apache2/sites-available/ . Il y a par convention, 1 fichier par Vhost.
L'activation du Vhost se fait en faisant un lien symbolique vers la définition du Vhost dans le répertoire /etc/apache2/sites-enabled/.

Normallement, il y a un Vhost nommé * et sans aucune information sur le nom du serveur. Il s'agit du Vhost par défaut quand Apache n'a pas reçu d'en-tête Host: ou que le nom d'hôte ne correspond à aucun Vhost connu.

Voici un exemple minimum de fichier définissant un Vhost :

<VirtualHost *>
        ServerName vhost.domain.com # nom du Vhost
        DocumentRoot /home/www/vhost.domain.com/ # emplacement des fichiers

        <Directory /home/www/partage.fabroce.net/> # options d'accès
                Options Indexes FollowSymLinks MultiViews # index automatiques, on suit les liens symboliques et on gère la négociation de contenus
                AllowOverride None # on ne tient pas compte des .htaccess
                Order allow,deny
                allow from all # autorisation d'accès à tout le monde
                allow from .fabroce.net
        </Directory>
</VirtualHost>


Un reload d'Apache avec par exemple un /etc/init.d/apache2 reload suffit à prendre en compte le nouveau Vhost.