Vous êtes sur la page 1sur 2

12/11/2014

La gestion des sites par virtualhosts - Documentation technique : Debian

La gestion des sites par virtualhosts

SE CONNECTER

La configuration de virtualhosts sur le serveur Apache permet un mme serveur dhberger plusieurs sites diffrents, soit
de domaines diffrents (domaine1.tld, domaine2.tld...) ou de sous-domaine dun mme nom de domaine
(ssdom1.domaine1.tld, ssdom2.domaine1.tld, ssdom3.domaine1.tld...).

Configuration des virtualhosts


Imaginons que nous souhaitions hberger deux domaines diffrents sur le serveur (domaine1.tld, domaine2.tld, un de ces
domaines ayant deux sous-domaines (ssdom1.domaine2.tld, ssdom2.domaine2.tld).
On pourrait configurer ces virtualhosts directement dans la configuration du serveur, mais pour faciliter leur gestion, on va crer par
exemple deux fichiers de configuration, un pour chaque domaine, afin den faciliter lactivation et la dsactivation par la suite.
Dans un premier temps, il est ncessaire de vrifier la prsence de la directive NameVirtualHost *:80 dans les fichiers de
configuration dApache. En gnral, sur Debian, cette directive se trouve dans le fichier /etc/apache2/ports.conf. Si cette directive
est commente [1], dcommentez l, si elle nest pas prsente, ajoutez l.
Cas du domaine sans sous-domaine
Le domaine domaine1.tld na pas de sous-domaine configurer.
On va faire pointer sa destination vers le rpertoire local /var/www/domaine1.tld/ par exemple.
On cre son fichier de configuration :
sudo nano /etc/apache2/sites-available/domaine1.tld

Dans lequel on ajoute les directives suivantes :


<VirtualHost *:80>
ServerName domaine1.tld # Adresse principale
ServerAlias www.domaine1.tld # Aliases du domaine, si l'adresse ou les adresses sont utilise, on pointe au mme endroit, facultatif
ServerAdmin postmaster@domaine1.tld # Adresse email de l'admin du domaine, facultatif
DocumentRoot /var/www/domaine1.tld # Rpertoire o pointe le domaine
</VirtualHost>

Aprs son activation (voir ci-dessous), si le visiteur tappe domaine1.tld ou www.domaine1.tld, il tombera sur le rpertoire
/var/www/domaine1.tld.
Cas du domaine qui a deux sous-domaine
Dans le cas de domaine2.tld, il sera ncessaire de dclarer trois virtualhosts diffrents dans le fichier de configuration.
Les diffrents adresses pointeront sur les dossiers :
/var/www/domaine2.tld/www/ pour http://www.domaine2.tld/ et http://domaine2.tld ;
/var/www/domaine2.tld/ssdom1/ pour http://ssdom1.domaine2.tld/ ;
/var/www/domaine2.tld/ssdom2/ pour http://ssdom2.domaine2.tld/ ;
On cre son fichier de configuration :
sudo nano /etc/apache2/sites-available/domaine2.tld

Dans lequel on ajoute les directives suivantes :


<VirtualHost *:80>
ServerName domaine2.tld # Adresse principale
ServerAlias www.domaine2.tld # Aliases du domaine, si l'adresse ou les adresses sont utilise, on pointe au mme endroit, facultatif
ServerAdmin postmaster@domaine2.tld # Adresse email de l'admin du domaine, facultatif
DocumentRoot /var/www/domaine2.tld/www # Rpertoire o pointe le domaine
</VirtualHost>
<VirtualHost *:80>
ServerName ssdom1.domaine2.tld # Adresse principale
ServerAdmin postmaster@domaine2.tld # Adresse email de l'admin du domaine, facultatif
DocumentRoot /var/www/domaine2.tld/ssdom1 # Rpertoire o pointe le domaine
</VirtualHost>
<VirtualHost *:80>
ServerName ssdom2.domaine2.tld # Adresse principale
ServerAdmin postmaster@domaine2.tld # Adresse email de l'admin du domaine, facultatif
DocumentRoot /var/www/domaine2.tld/ssdom2 # Rpertoire o pointe le domaine
</VirtualHost>

Aprs son activation (voir ci-dessous), si le visiteur tappe domaine2.tld ou www.domaine2.tld, il tombera sur le rpertoire
/var/www/domaine2.tld/www, sil tappe ssdom1.domaine2.tld, il tombera sur le rpertoire /var/www/domaine2.tld/ssdom1 et ainsi
de suite.

Activation et dsactivation de virtualhosts

http://technique.arscenic.org/lamp-linux-apache-mysql-php/apache/article/la-gestion-des-sites-par

1/2

12/11/2014

La gestion des sites par virtualhosts - Documentation technique : Debian

Activation et dsactivation de virtualhosts


Sur Debian il est trs simple dactiver ou de dsactiver chaque virtualhost grce aux commandes a2ensite et a2dissite [2]. On a
prfr les sparer dans des fichiers de configuration diffrents afin que cette tape soit la plus simple possible.
Pour activer notre virtualhost domaine1 il suffit de tapper la commande suivante :
sudo a2ensite domaine1

Pour le dsactiver, la commande suivante doit tre utilise :


sudo a2dissite domaine1

Afin de prendre en compte les modifications, il suffit de recharger la configuration du serveur Apache avec la commande :
sudo /etc/init.d/apache2 force-reload

Notes
[1] La ligne commence par le caractre "#"
[2] Ces deux commandes crent ou suppriment des liens symboliques de votre dfinition de virtualhost cre dans le rpertoire
/etc/apache2/sites-available/ dans le rpertoire /etc/apache2/sites-enabled/

Auteur : Quentin Drouet

Publi le : 15/04/09

Mis jour : 13/08/12

1 @nb@ commentaire

Commentez la documentation

# Le 25 fvrier 02:02, par bil


En rponse : La gestion des sites par virtualhosts
Salut,
a date mais a ma t trs utile, 2 jours que je galre .
merci Quentin !!

http://technique.arscenic.org/lamp-linux-apache-mysql-php/apache/article/la-gestion-des-sites-par

2/2