<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>

<!-- French translation by Vincent Deffontaines - 2003 -->

<manualpage metafile="bind.xml.meta">

  <title>Binding</title>

  <summary>
    <p>Configuration des adresses et ports sur lesquels Apache &#xE9;coute.</p>
  </summary>

  <seealso><a href="vhosts/">Serveurs Virtuels</a></seealso>
  <seealso><a href="dns-caveats.html">Probl&#xE8;mes DNS</a></seealso>

  <section id="overview">
    <title>Informations g&#xE9;n&#xE9;rales</title>

    <related>
      <modulelist>
        <module>core</module>
        <module>mpm_common</module>
      </modulelist>
      <directivelist>
        <directive module="core" type="section">VirtualHost</directive>
        <directive module="mpm_common">Listen</directive>
      </directivelist>
    </related>


    <p>Au moment de son d&#xE9;marrage, Apache se lie &#xE0; un port et &#xE0; une 
    adresse sur la machine et se met en attente de requ&#xEA;tes.
    Par d&#xE9;faut, toutes les adresses de la machine se retrouvent
    &#xE0; l'&#xE9;coute. Dans tous les cas, Apache accepte d'&#xE9;couter sur un
    ou plusieurs ports sp&#xE9;cifiques, ou sur une seule ou plusieurs 
    adresses, ou encore une combinaison de ces param&#xE8;tres.
    Il est fr&#xE9;quent d'utiliser ces possibilit&#xE9;s avec les fonctionnalit&#xE9;s
    de Serveurs Virtuels, qui permettent de faire r&#xE9;pondre Apache de
    mani&#xE8;re diff&#xE9;rente en fonction de l'adresse IP, du nom ou du port.</p>

    <p>Le serveur interpr&#xE8;te la directive 
    <directive module="mpm_common">Listen</directive>
    en acceptant les requ&#xEA;tes seulement sur le port ou la combinaison
    adresse IP + port pass&#xE9;s en argument. Dans le cas o&#xF9; seul un port 
    est sp&#xE9;cifi&#xE9; avec la directive 
    <directive module="mpm_common">Listen</directive>,
    le serveur se met &#xE0; l'&#xE9;coute sur le port sp&#xE9;cifi&#xE9;, sur toutes
    les interfaces et adresses de la machine. Si une adresse IP est 
    sp&#xE9;cifi&#xE9;e en plus du port, le serveur n'&#xE9;coute que sur l'adresse 
    et le port sp&#xE9;cifi&#xE9;s.  Il est possible de configurer plusieurs 
    directives Listen, afin qu'Apache &#xE9;coute sur plusieurs adresses 
    et ports. En ce cas le serveur r&#xE9;pond indiff&#xE9;remment selon 
    l'adresse et le port utilis&#xE9;s.</p>
    

    <p>Par exemple, pour que le serveur accepte les connexions sur
    les ports 80 et 8000, sp&#xE9;cifier :</p>

    <example>
      Listen 80<br />
      Listen 8000
    </example>

    <p>Pour qu'Apache accepte les connexions sur deux combinaisons
    adresses + ports, sp&#xE9;cifier :</p>

    <example>
      Listen 192.170.2.1:80<br />
      Listen 192.170.2.5:8000
    </example>

    <p>Les adresses IPv6 sont accept&#xE9;es, pourvu qu'elles soient sp&#xE9;cifi&#xE9;es 
    entre crochets, ainsi:</p>

    <example>
      Listen [fe80::a00:20ff:fea7:ccea]:80
    </example>
  </section>

  <section id="ipv6">
    <title>Au sujet d'IPv6</title>

    <p>De plus en plus de plate-formes impl&#xE9;mentent IPv6, et APR
    supporte IPv6 sur la plupart d'entre elles, si bien qu'Apache
    peut utiliser des sockets IPv6 et r&#xE9;pondre aux requ&#xEA;tes envoy&#xE9;es
    en IPv6.</p>

    <p>Une complication possible pour les administrateurs Apache est de
    savoir si une socket IPv6 est capable de g&#xE9;rer les connexions IPv4
    aussi bien qu'IPv6. G&#xE9;rer les connexions IPv4 sur une socket IPv6
    suppose l'utilisation d'adresses IPv6 mapp&#xE9;es en IPv4, ce qui est
    le cas sur la plupart des plate-formes, mais pas sur FreeBSD, NetBSD
    et OpenBSD, en raison des politiques syst&#xE8;mes de ces plate-formes.
    M&#xEA;me sur des syst&#xE8;mes o&#xF9; cette fonctionnalit&#xE9; n'est pas activ&#xE9;e par
    d&#xE9;faut, une option de compilation permet de changer ce 
    fonctionnement pour Apache.</p>
    
    <p>Pour qu'Apache puisse g&#xE8;rer &#xE0; la fois les connexions IPv4 et IPv6
    sur ses sockets, il faut permettre l'utilisation des adresses 
    IPv6 mapp&#xE9;es en IPv4, ce qui est faisable en sp&#xE9;cifiant l'option
    de compilation <code>--enable-v4-mapped</code> et en utilisant la
    directive Listen comme suit:</p>

    <example>
      Listen 80
    </example>

    <p>Si <code>--enable-v4-mapped</code> a &#xE9;t&#xE9; sp&#xE9;cifi&#xE9; &#xE0; la compilation,
    les directives Listen de la configuration par d&#xE9;faut sont de la forme
    ci-dessus. <code>--enable-v4-mapped</code> est l'option de compilation
    par d&#xE9;faut sur toutes les plate-formes, sauf FreeBSD, NetBSD, et 
    OpenBSD.</p>

    <p>Pour qu'Apache ne g&#xE8;re que les connexions IPv4, en ignorant l'&#xE9;ventuel
    support IPv6 de la plate-forme ou d'APR, une adresse IPv4 peut &#xEA;tre
    donn&#xE9;e dans toutes les directives Listen, comme dans les exemples
    suivants:</p>

    <example>
      Listen 0.0.0.0:80<br />
      Listen 192.170.2.1:80
    </example>

    <p>Pour qu'Apache g&#xE8;re les connexionx IPv4 et IPv6 sur des sockets
    diff&#xE9;rentes (c'est-&#xE0;-dire, pour ne pas accepter les addresse IPv6 mapp&#xE9;es
    en IPv4), sp&#xE9;cifier l'option de compilation <code>--disable-v4-mapped</code> 
    et utiliser des directives Listen sp&#xE9;cifiques telles que:</p>

    <example>
      Listen [::]:80<br />
      Listen 0.0.0.0:80
    </example>

    <p>Si <code>--disable-v4-mapped</code> a &#xE9;t&#xE9; sp&#xE9;cifi&#xE9; au moment de la
    compilation, les directives Listen de la configuration par d&#xE9;faut sont 
    de la forme ci-dessus.
    <code>--disable-v4-mapped</code> est l'option de compilation par d&#xE9;faut
    sous FreeBSD, NetBSD, et OpenBSD.</p>

  </section>

  <section id="virtualhost">
    <title>Faire fonctionner tout ceci avec les Serveurs Virtuels</title>

    <p>Listen ne positionne aucun Serveur Virtuel. Listen sert simplement
    &#xE0; sp&#xE9;cifier au serveur principal sur quels addresses et ports &#xE9;couter.
    Dans le cas o&#xF9; aucune section
    <directive module="core" type="section">VirtualHost</directive>
    n'est utilis&#xE9;e, le serveur r&#xE9;pondra de la m&#xEA;me mani&#xE8;re pour toutes
    les requ&#xEA;tes qu'il recevra.
    Des sections 
    <directive module="core" type="section">VirtualHost</directive>
    peuvent &#xEA;tre utilis&#xE9;es pour qu'Apache r&#xE9;agisse diff&#xE9;rement selon que la
    requ&#xEA;te est destin&#xE9;e &#xE0; telle adresse ou tel port. Avant d'impl&#xE9;menter
    un Serveur Virtuel au moyen de la directive VirtualHost, la directive
    Listen doit &#xEA;tre utilis&#xE9;e pour que le serveur &#xE9;coute sur l'adresse
    ou le port sp&#xE9;cifi&#xE9;. Une section 
    <directive module="core" type="section">VirtualHost</directive>
    peut alors &#xEA;tre utilis&#xE9;e pour qu'Apache r&#xE9;agisse diff&#xE9;remment selon
    l'adresse ou le port.
    A noter que, si un Serveur Virtuel est positionn&#xE9; au moyen de 
    la directive
    <directive module="core" type="section">VirtualHost</directive>
    sur une adresse et un port sur lesquels le serveur n'est pas &#xE0; l'&#xE9;coute,
    le Serveur Virtuel ne sera pas accessible.</p>
  </section>
</manualpage>

