# Comprendre les virtual hosts sur apache

**URL:** <https://www.debian-fr.org/t/comprendre-les-virtual-hosts-sur-apache/16666>\
**Category:** Support Debian\
**Created:** [Février 20, 2016, 6:31 UTC](https://www.debian-fr.org/t/comprendre-les-virtual-hosts-sur-apache/16666 "2016-02-20T18:31:18Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![FTG](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/ce73a5/32.png) [@FTG](https://www.debian-fr.org/u/FTG)\
**Post date:** [Février 20, 2016, 6:31 UTC](https://www.debian-fr.org/t/comprendre-les-virtual-hosts-sur-apache/16666/1 "2016-02-20T18:31:18Z")

</div>

Bonjour a tous,

voila ma config. J’ai u nom de domaine chez Gandi [domaine.org](http://domaine.org).  
Je rappelle que Gandi propose pour les sous domaines trois type de redirection (temporaire, permanente et transparent).  
Mais j’ai lu sur plusieurs tuto sur le web qu’il fallait plutot s’en passer et utiliser plutot les alias (CNAME) via dyndns quand on avait comme moi une ip dynamique.  
J’ai besoin de 3 sous domaines:  
[sd1.domaine.org](http://sd1.domaine.org) --\> [domaine.dyndns.org](http://domaine.dyndns.org)  
[sd2.domaine.org](http://sd2.domaine.org) --\> [domaine.dyndns.org](http://domaine.dyndns.org)  
[sd3.domaine.org](http://sd3.domaine.org) --\> [domaine.dyndns.org](http://domaine.dyndns.org)

Deja quelle est la différence entre un CNAME et les trois redirections proposées par Gandi? Y a til ensuite une conséquence sur la qualité du référencement?

Ensuite je créée mes virtual host: [sd1.domaine.org](http://sd1.domaine.org) et [sd2.domaine.org](http://sd2.domaine.org). sd3 sera un alias de sd2.  
Je complète mon fichier /etc/host et la tout marche parfaitement!  
Mais en bidouillant, je me rend compte que si je ne déclare pas du tout sd3 en alias d’un virtual host existant il me dirige par défaut vers sd1. Est ce que c’est normal? Y a t il un virtual host “dominant” par defaut qu’il faut configurer?

Enfin dans la config des virtual host, quelle est la différence entre les noms d’hotes données aux lignes:  
\<VirtualHost …\> et la ligne ServerName  
faut il qu’ils soient identiques?

Merci a tous!

---

<div class="post-metadata">

**Author:** ![thomas.leclerc](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/59ef9b/32.png) [@thomas.leclerc](https://www.debian-fr.org/u/thomas.leclerc)\
**Post date:** [Février 20, 2016, 6:31 UTC](https://www.debian-fr.org/t/comprendre-les-virtual-hosts-sur-apache/16666/2 "2016-02-20T18:31:19Z")

</div>

1 - je connais pas dyndns, mais le cname permet de placer plusieurs noms pour la même destination.  
généralement, www n’est jamais le nom d’un serveur, mais un alias dns. si tu veux migrer ton site vers un autre serveur, tu redirige l’alias, et c’est tout.

ça te permet de donner les noms que tu veux à tes machines, et de les joindre par le nom des applications qu’elles fournissent ([ftp.domaine.com](http://ftp.domaine.com), [ldap.domain.com](http://ldap.domain.com), [smtp.domaine.com](http://smtp.domaine.com)…)

2 - les fichiers de virtualhost de apache presents dans /etc/apache2/sites-enabled/ sont pris dans l’ordre alphabetique ,c’est pourquoi le fichier par defaut commence par un zero. un conseil, appelle les 00-site1.conf 02-site2.conf …; c’est plus simple de savoir lequel sera le site par defaut.

3 - par contre ça sert à rien d’avoir un virtualhost si le nom n’est pas declaré en dns ou dans le host.

4 - moi je ne me sert de la ligne \<virtualhost …\> que por definir le port (80 ou 443) ensuite pour un port donné le tri se fait par la directive servername

---

<div class="post-metadata">

**Author:** ![FTG](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/ce73a5/32.png) [@FTG](https://www.debian-fr.org/u/FTG)\
**Post date:** [Février 20, 2016, 6:31 UTC](https://www.debian-fr.org/t/comprendre-les-virtual-hosts-sur-apache/16666/3 "2016-02-20T18:31:20Z")

</div>

1 - je connais pas dyndns, mais le cname permet de placer plusieurs noms pour la même destination.  
généralement, www n’est jamais le nom d’un serveur, mais un alias dns. si tu veux migrer ton site vers un autre serveur, tu redirige l’alias, et c’est tout.  
Mais si tu connais bien gandi quelle est alors la difference entre un cname et un redirection qu’il propose? (je parle de la redirection ou on ne vois pas le nom de domaine intermediaire…

2 - les fichiers de virtualhost de apache presents dans /etc/apache2/sites-enabled/ sont pris dans l’ordre alphabetique ,c’est pourquoi le fichier par defaut commence par un zero. un conseil, appelle les 00-site1.conf 02-site2.conf …; c’est plus simple de savoir lequel sera le site par defaut.  
Ce que je ne comprend pas c’est que mon [sd3.domaine.org](http://sd3.domaine.org) n’est referencé dans aucun virtual host mais s’approprie le premier quand meme!

3 - par contre ça sert à rien d’avoir un virtualhost si le nom n’est pas declaré en dns ou dans le host.  
Ca ok j’avais bien compris

4 - moi je ne me sert de la ligne \<virtualhost …\> que por definir le port (80 ou 443) ensuite pour un port donné le tri se fait par la directive servername  
ok

---

<div class="post-metadata">

**Author:** ![thomas.leclerc](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/59ef9b/32.png) [@thomas.leclerc](https://www.debian-fr.org/u/thomas.leclerc)\
**Post date:** [Février 20, 2016, 6:31 UTC](https://www.debian-fr.org/t/comprendre-les-virtual-hosts-sur-apache/16666/4 "2016-02-20T18:31:21Z")

</div>

[quote=“FTG”]1 - je connais pas dyndns, mais le cname permet de placer plusieurs noms pour la même destination.  
généralement, www n’est jamais le nom d’un serveur, mais un alias dns. si tu veux migrer ton site vers un autre serveur, tu redirige l’alias, et c’est tout.  
Mais si tu connais bien gandi quelle est alors la difference entre un cname et un redirection qu’il propose? (je parle de la redirection ou on ne vois pas le nom de domaine intermediaire…  
[/quote]

je pense que la redirection ou on ne vois pas le nom de domaine intermediaire est forcement une redirection dns, sinon ça doit être une redirection de apache.  
je connais pas gandi ni sa redirection, mais le cname est là pour ça.  
par intermediaire, tu veux dire le site que tu demandes, le site ou tu arrives, ou un site au milieu ?  
de plus, en relisant to post, j’ai l’impression que tu mélange sous-domaines, noms de machines et virtualhosts.  
pour toi qu’est ce que [sd1.domaine.com](http://sd1.domaine.com), un sous domaine dns ou un site web ?

> [@](#):
>
> 2 - les fichiers de virtualhost de apache presents dans /etc/apache2/sites-enabled/ sont pris dans l’ordre alphabetique ,c’est pourquoi le fichier par defaut commence par un zero. un conseil, appelle les 00-site1.conf 02-site2.conf …; c’est plus simple de savoir lequel sera le site par defaut.  
> Ce que je ne comprend pas c’est que mon [sd3.domaine.org](http://sd3.domaine.org) n’est referencé dans aucun virtual host mais s’approprie le premier quand meme!

a pratir du moment ou la resolution dns fonctionne, tu est envoyé vers le serveur apache. lui, si il ne peut pas faire correspondre ton URL à un de ses virtualhosts, il t’envoie sur le premier virtualhost qu’il a chargé au demarrage.

> [@](#):
>
> 3 - par contre ça sert à rien d’avoir un virtualhost si le nom n’est pas declaré en dns ou dans le host.  
> Ca ok j’avais bien compris

en fait c’est l’inverse que je voulais dire

---

<div class="post-metadata">

**Author:** ![FTG](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/f/ce73a5/32.png) [@FTG](https://www.debian-fr.org/u/FTG)\
**Post date:** [Février 20, 2016, 6:31 UTC](https://www.debian-fr.org/t/comprendre-les-virtual-hosts-sur-apache/16666/5 "2016-02-20T18:31:22Z")

</div>

pour toi qu’est ce que [sd1.domaine.com](http://sd1.domaine.com), un sous domaine dns ou un site web ?  
C’est un sous domaine dns. Le but est de le faire correspondre a un virtualhost

par intermediaire, tu veux dire le site que tu demandes, le site ou tu arrives, ou un site au milieu ?  
En fait requete --\> dyndns (car mon ip est dynamique) --\> mon sous domaine --\> apache de ma machine

Merci pour les reponses en tout cas, c’est sympa!

---

<div class="post-metadata">

**Author:** ![thomas.leclerc](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/t/59ef9b/32.png) [@thomas.leclerc](https://www.debian-fr.org/u/thomas.leclerc)\
**Post date:** [Février 20, 2016, 6:31 UTC](https://www.debian-fr.org/t/comprendre-les-virtual-hosts-sur-apache/16666/6 "2016-02-20T18:31:23Z")

</div>

> [@](#):
>
> pour toi qu’est ce que [sd1.domaine.com](http://sd1.domaine.com), un sous domaine dns ou un site web ?  
> C’est un sous domaine dns. Le but est de le faire correspondre a un virtualhost

ça veut rien dire … dans virtualhost il y a host

[sd1.domain.com](http://sd1.domain.com) est un host ou un alias qui fait partie du domaine [domain.com](http://domain.com) mais pas un sous-domaine à proprement parler

je ne t’en veux pas car grâce à toi j’ai découvert que un CNAME pouvait être n’importe quelle machine et pas seulement du domaine en question.

dans mon fichier de zone j’ai essayé de mettre

```auto

```

et quand je tape [toto.mondomaine.com](http://toto.mondomaine.com) dans le navigateur web j’ai bien google en ligne et pou rrepondre à ta question, c’est bien [toto.mondomaine.com](http://toto.mondomaine.com) qui reste inscrit dans ma barre d’adresse
