Logo de ce site

Accueil > GnuLinux Debian/Ubuntu > Apache2 configuration

Apache2 configuration

mardi 7 septembre 2010

Comment configurer apache2 pour utiliser les virtualhosts

Pour majilux, il faut rajouter dans /etc/apache2/apache2.conf la ligne suivante
ServerName major


Mise en place des VirtualHosts

Dans l’exemple suivant, nous allons configurer deux Sites virtuels qui utiliseront tous les deux l’adresse IP 192.168.0.2. Si vous souhaitez configurer un serveur de développement autonome, vous pouvez simplement utiliser l’adresse de bouclage, 127.0.0.1.

Dans un premier temps, nous allons éditer le fichier /etc/hosts afin de déclarer les 2 noms de domaine associés à la seule et unique adresse IP de notre interface réseau. Ceci permettra la résolution de nom (Nom ⇒ Adresse Ip). Exemple de fichier /etc/hosts :

127.0.0.1 localhost
192.168.0.2 virtual1.com
192.168.0.2 virtual2.com
192.168.0.2 www.virtual1.com
192.168.0.2 www.virtual2.com

Il ne faut bien sur pas oublier de créer les répertoire associés dans /var/www :

sudo mkdir /var/www/virtual1.com
sudo mkdir /var/www/virtual2.com

Notre fichier /etc/hosts étant correctement renseigné, nous allons ajouter la directive NameVirtualHost à la configuration du serveur Serveur Web Apache2 en mettant cette ligne dans un nouveau fichier : /etc/apache2/conf.d/virtual-host.conf. Pour ceci, entrez la commande suivante dans un terminal :

echo "NameVirtualHost 192.168.0.2:80" | sudo tee /etc/apache2/conf.d/virtual-host.conf

Ensuite, nous créons deux nouveaux fichiers de configurations que nous plaçons dans le répertoire /etc/apache2/sites-available, comme avec les méthodes précédentes.

virtual1.conf :

<VirtualHost 192.168.0.2:80>
        DocumentRoot        /var/www/virtual1.com
        ServerName        virtual1.com
        ServerAlias     www.virtual1.com
</VirtualHost>


virtual2.conf :

<VirtualHost 192.168.0.2:80>
        DocumentRoot        /var/www/virtual2.com
        ServerName        virtual2.com
        ServerAlias     www.virtual2.com
</VirtualHost>

enfin il faut activer les hotes virtuels et recharger apache2 avec :

a2ensite virtual1.com
a2ensite virtual2.com

/etc/init.d/apache2 reload

l’adresse virtual1.com doit fonctionner