name-based.xml.fr revision 9d6749b60349ba705f773bd3c63e7d927807dba6
<?xml version='1.0' encoding='ISO-8859-1' ?>
<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="/style/manual.fr.xsl"?>
<!-- English Revision: 987242 -->
<!-- French translation by alain B, review by Vincent Deffontaines
updated by Lucien GENTIS -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="name-based.xml.meta">
<parentdocument href="./">Serveurs virtuels</parentdocument>
<title>Support Apache des serveurs virtuels par nom</title>
<summary>
<p>Ce document d�crit quand et comment utiliser des serveurs
virtuels par nom.</p>
</summary>
<seealso><a href="ip-based.html">Support Apache des serveurs virtuels par IP</a></seealso>
<seealso><a href="details.html">D�tails sur le fonctionnement des serveurs virtuels</a></seealso>
<seealso><a href="mass.html">Configuration dynamique des h�bergements virtuels de masse</a></seealso>
<seealso><a href="examples.html">Exemples d'utilisations de VirtualHost</a></seealso>
<section id="namevip"><title>Serveurs virtuels par nom vs. par IP</title>
<p>Les <a href="ip-based.html">serveurs virtuels</a> par IP utilisent l'adresse IP
de la connexion afin de d�terminer quel serveur virtuel doit
r�pondre. Par cons�quent, vous devez disposer d'adresses IP
diff�rentes pour chaque serveur.</p>
<p>Avec un h�bergement
virtuel par nom, le serveur s'appuie sur les informations
transmises par le client dans les en-t�tes HTTP de ses requ�tes.
La technique pr�sent�e ici vous permet de disposer de serveurs
virtuels diff�rents partag�s sur une m�me adresse IP.</p>
<p>L'h�bergement virtuel par nom est habituellement plus simple,
car il vous suffit de configurer votre serveur DNS pour que
chaque domaine pointe sur l'adresse IP dont vous disposez, et de
configurer votre serveur Apache HTTP afin qu'il reconnaisse
ces domaines. Il r�duit aussi la p�nurie en adresses IP. Par
cons�quent, vous devriez utiliser l'h�bergement virtuel par
nom � moins d'avoir une raison sp�cifique de pr�f�rer
l'h�bergement virtuel par IP. Certaines de ces raisons vous
sont expos�es ci-apr�s&nbsp;:</p>
<ul>
<li>L'h�bergement virtuel par nom <a href="/ssl/ssl_faq.html#vhosts">ne peut pas �tre utilis�
avec des serveurs s�curis�s SSL</a> � cause de la nature m�me
du protocole SSL.</li>
<li>Certains syst�mes d'exploitation et �quipements r�seaux
emploient des techniques de gestion de la bande passante
qui ne peuvent pas diff�rencier des domaines autrement que
par des adresses IP s�par�es.</li>
</ul>
</section>
<section id="using"><title>Utilisation de serveurs virtuels par nom</title>
<related>
<modulelist>
<module>core</module>
</modulelist>
<directivelist>
<directive module="core">DocumentRoot</directive>
<directive module="core">NameVirtualHost</directive>
<directive module="core">ServerAlias</directive>
<directive module="core">ServerName</directive>
<directive module="core" type="section">VirtualHost</directive>
</directivelist>
</related>
<p>Pour utiliser des serveurs virtuels par nom, vous devez
d�signer l'adresse IP (et si possible le port) sur le serveur
devant accepter les requ�tes qui doivent �tre redirig�es en fonction
du nom d'h�te. Cette
configuration utilise la directive
<directive module="core">NameVirtualHost</directive>. Dans un
cas normal o� n'importe quelle adresse IP peut �tre utilis�e,
vous pouvez ajouter <code>*</code> comme argument de la directive
<directive module="core">NameVirtualHost</directive>. Si vous
pr�voyez d'utiliser de multiples ports (comme l'emploi de SSL),
vous devez ajouter le port � cet argument tel que
<code>*:80</code>.</p>
<note><p>Notez que la simple mention d'une adresse
IP dans une directive
<directive module="core">NameVirtualHost</directive> ne suffit
pas � faire <em>�couter</em> le serveur sur cette IP. Consultez
<a href="/bind.html">D�finition des adresses et ports qu'utilise
Apache</a> pour plus
de d�tails. Par ailleurs, chaque adresse IP sp�cifi�e ici doit
�tre associ�e avec une interface r�seau sur le serveur.</p></note>
<p>L'�tape suivante est la cr�ation d'une section
<directive type="section" module="core">VirtualHost</directive>
pour chacun des serveurs � cr�er. L'argument de la directive
<directive type="section" module="core">VirtualHost</directive>
doit �tre le m�me que celui de la directive
<directive module="core">NameVirtualHost</directive>
(dans le cas pr�sent "*:80"). Dans chaque section
<directive type="section" module="core">VirtualHost</directive>,
vous devez d�finir au minimum une directive
<directive module="core">ServerName</directive> pour d�signer
le serveur concern� et une directive
<directive module="core">DocumentRoot</directive> pour pr�ciser
l'emplacement sur le syst�me de fichiers du contenu de ce serveur.</p>
<note><title>Le serveur principal dispara�t</title>
<p>Si vous ajoutez des serveurs virtuels � un serveur Web
existant, vous devez �galement cr�er une section
<directive type="section" module="core">VirtualHost</directive>
red�finissant ce serveur existant. Les directives
<directive module="core">ServerName</directive> et
<directive module="core">DocumentRoot</directive> incluses
dans ce serveur virtuel doivent �tre les m�mes que pour
les directives globales
<directive module="core">ServerName</directive> et
<directive module="core">DocumentRoot</directive>. Positionnez
ce serveur virtuel en premier dans le fichier de configuration
pour en faire le serveur par d�faut.</p>
</note>
<p>Par exemple, supposez que vous h�bergez le domaine
<code>www.domain.tld</code> et que vous souhaitez ajouter le
serveur virtuel <code>www.otherdomain.tld</code> qui pointe sur
la m�me adresse IP. Il vous suffit d'ajouter la configuration
suivante � <code>httpd.conf</code>&nbsp;:</p>
<example>
NameVirtualHost *:80<br />
<br />
&lt;VirtualHost *:80&gt;<br />
<indent>
ServerName www.domain.tld<br />
ServerAlias domain.tld *.domain.tld<br />
DocumentRoot /www/domain<br />
</indent>
&lt;/VirtualHost&gt;<br />
<br />
&lt;VirtualHost *:80&gt;<br />
<indent>ServerName www.otherdomain.tld<br />
DocumentRoot /www/otherdomain<br />
</indent>
&lt;/VirtualHost&gt;<br />
</example>
<p>Autrement, vous pouvez sp�cifiez une adresse IP explicite
� la place de <code>*</code> dans les deux directives
<directive module="core" >NameVirtualHost</directive> et
<directive type="section" module="core" >VirtualHost</directive>.
Par exemple, cette m�thode est utile si vous souhaitez faire
tourner quelques serveurs virtuels par nom sur une m�me adresse
IP, et d'autres, soit par IP, soit bas�s sur un autre jeu de
serveurs virtuels par nom sur une autre adresse IP.</p>
<p>Plusieurs serveurs sont accessibles par plus d'un nom. Il
suffit de placer la directive
<directive module="core">ServerAlias</directive> dans une section
<directive type="section" module="core">VirtualHost</directive>.
Par exemple, dans la premi�re section
<directive type="section" module="core">VirtualHost</directive>
ci-dessus, la directive <directive module="core">ServerAlias</directive>
indique aux utilisateurs les autres noms permis pour acc�der au
m�me site Web&nbsp;:</p>
<example>
ServerAlias domain.tld *.domain.tld
</example>
<p>ainsi, toutes les requ�tes portant sur un domaine
<code>domain.tld</code> seront servies par le serveur virtuel
<code>www.domain.tld</code>. Les caract�res joker <code>*</code>
et <code>?</code> peuvent �tre utilis�s pour les correspondances.
Bien entendu, vous ne pouvez pas inventer des noms et les placer
dans une directive <directive module="core">ServerName</directive>
ou <code>ServerAlias</code>. Tout d'abord, votre serveur DNS
doit �tre correctement configur� pour lier ces noms � une
adresse IP associ�e avec votre serveur.</p>
<p>Finalement, vous pouvez affiner la configuration des serveurs
virtuels en pla�ant d'autres directives � l'int�rieur des sections
<directive type="section" module="core">VirtualHost</directive>.
La plupart des directives peut �tre plac�e dans ces sections en
y changeant seulement la configuration du serveur virtuel associ�.
Pour d�terminer si une directive particuli�re est permise,
consultez le <a
href="/mod/directive-dict.html#Context">contexte</a> de la
directive. Le jeu de directives configur�es dans le contexte
du <em>serveur principal</em> (en dehors de toutes sections
<directive type="section" module="core">VirtualHost</directive>)
sera utilis� seulement s'il n'y a pas de configuration contraire
par un serveur virtuel.</p>
<p>Maintenant, lorsqu'une requ�te arrive, le serveur va d'abord
tester si elle utilise une adresse IP qui correspond �
<directive module="core" >NameVirtualHost</directive>. Si c'est
le cas, il regardera chaque section
<directive type="section" module="core">VirtualHost</directive>
avec l'adresse correspondante et essaiera d'en trouver une o�
le nom de domaine requis correspond �
<directive module="core">ServerName</directive> ou
<code>ServerAlias</code>. S'il en trouve une, il utilisera
sa configuration pour le serveur. Si aucun serveur virtuel ne
correspond, alors <em>le premier serveur virtuel list�</em>
dont l'adresse IP correspond sera employ�.</p>
<p>En cons�quence, le premier serveur virtuel list� est le
serveur virtuel <em>par d�faut</em>. La directive
<directive module="core">DocumentRoot</directive> du
<em>serveur principal</em> <strong>ne</strong> sera
<strong>jamais</strong> employ�e lorsqu'une adresse IP
correspond � la directive
<directive module="core">NameVirtualHost</directive>. Si vous
souhaiter avoir une configuration sp�ciale pour les requ�tes
qui ne correspondent pas � un serveur virtuel en particulier,
mettez cette configuration dans une section
<directive type="section" module="core">VirtualHost</directive>
que vous placerez en premier dans le fichier de configuration.</p>
</section>
</manualpage>