Configurer des hotes virtuels sur Apache (sous Windows)

Classé dans : Web | Aucun commentaire

jeudi 03 décembre 2009

Nous allons voir dans ce billet comment créer des hôtes virtuels pour Apache sous Windows.

Ceci permet de faire fonctionner plusieurs sites web sur un même serveur, plutôt que de les mettre derrière le site par défaut.

::TOC::

Nous considèrerons que Apache est déjà installé et configuré (ce tutoriel est fait pour la version 2.2 d'Apache mais le fonctionnement est le même pour Apache 2.0).


1. Préparation d'Apache à l'utilisation d'hôtes virtuels

Cette étape est indispensable à la gestion de multiples hôtes.

1.1 Création d'un fichier qui contiendra les hôtes

On commence par créer un fichier hosts.conf dans le dossier de configuration d'Apache (C:\AppServ\Apache2.2\conf dans mon cas), à côté du fichier httpd.conf.

Remarque : on pourrait tout mettre dans le httpd.conf, mais c'est plus propre comme ça.

1.2 Modifications du fichier httpd.conf

  • A la fin du fichier httpd.conf, ajoutez la ligne suivante :
    Include conf/hosts.inc.conf
  • Dans le fichier hosts.conf, ajouter la ligne suivante :
    NameVirtualHost *
  • Ajouter dans hosts.conf le premier virtualHost correspondant au site par défaut :
    # Site par défaut
    <VirtualHost *>
        DocumentRoot chemin_correspondant_a_DocumentRoot
        <Directory "/">
            Options FollowSymLinks
            AllowOverride All
            Allow from all
        </Directory>
    </VirtualHost>
    Pensez à adapter le chemin de la directive DocumentRoot qui doit correspondre à celle de la directive principale DocumentRoot dans httpd.conf.
  • Les fichiers sont prêts à recevoir de nouveaux hôtes virtuels mais avant cela, je vous recommande de relancer Apache et tester si la configuration fonctionne avant de passer à la suite.

2. Ajouter un hôte virtuel

2.1 Créer le dossier des sources sur le disque

Créez simplement sur votre disque le dossier qui contiendra les sources du nouveau site.

2.2 Ajouter le virtualHost dans le fichier hosts.conf

Il suffit simplement d'ajouter les lignes suivantes à la fin du fichier hosts.conf :
# www.lesite.com 
<VirtualHost *>
    DocumentRoot dossier_contenant_les_sources
    ServerName www.lesite.com
    # ServerAlias www.unautrenomdedomainesibesoin.com
    <Directory "/">
        Options FollowSymLinks
        AllowOverride All
        Allow from all
    </Directory>
</VirtualHost>
Les paramètres à modifier sont :
  • DocumentRoot : mettre le chemin du dossier source créé précédemment.
  • ServerName : le nom de domaine du site
  • ServerAlias (facultatif) : un autre nom de domaine
Relancez ou redémarrez Apache pour prendre en compte les modifs.