<?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: 421174 -->
<!-- French translation by Vincent Deffontaines, review by alain B -->

<!--
 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="bind.xml.meta">

  <title>Liaison</title>

  <summary>
    <p>Configuration des adresses et ports sur lesquels Apache écoute.</p>
  </summary>

  <seealso><a href="vhosts/">Serveurs Virtuels</a></seealso>
  <seealso><a href="dns-caveats.html">Problèmes DNS</a></seealso>

  <section id="overview">
    <title>Informations géné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émarrage, Apache se lie à un port et à une 
    adresse sur la machine et se met en attente de requêtes entrantes.
    Par défaut, toutes les adresses de la machine se retrouvent
    à l'écoute. Dans tous les cas, Apache accepte d'écouter sur un
    ou plusieurs ports spécifiques, ou sur une seule ou plusieurs 
    adresses, ou encore une combinaison des deux.
    Il est fréquent d'utiliser ces possibilités avec les fonctionnalités
    de Serveurs Virtuels, qui permettent de faire répondre Apache de
    manière différente en fonction de l'adresse IP, du nom ou du port.</p>

    <p>Le serveur utilise la directive 
    <directive module="mpm_common">Listen</directive>
    pour n'accepter que des requêtes provenant de ports spécifiques ou 
    d'une combinaison adresse IP + port passés en argument. 
    Dans le cas où seul un port est spécifié avec la directive 
    <directive module="mpm_common">Listen</directive>,
    le serveur se met à l'écoute sur le port spécifié, sur toutes
    les interfaces et adresses de la machine. Si une adresse IP est 
    précisée en plus du port, le serveur n'écoute que sur l'adresse 
    et le port spécifiés. Il est possible de configurer plusieurs 
    directives <directive module="mpm_common">Listen</directive>, 
    afin qu'Apache écoute sur plusieurs adresses 
    et ports. Dans ce cas, le serveur répondra aux requêtes faites 
    sur tous les adresses et ports énumérés.</p>
    

    <p>Par exemple, pour que le serveur accepte les connexions à la fois sur
    les ports 80 et 8000, spécifiez&nbsp;:</p>

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

    <p>Pour qu'Apache accepte les connexions sur deux combinaisons
    adresses + ports, spécifiez&nbsp;:</p>

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

    <p>Les adresses IPv6 sont acceptées, pourvu qu'elles soient entourées 
    entre crochets de la façon suivante&nbsp;:</p>

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

  <section id="ipv6">
    <title>Précisions au sujet d'IPv6</title>

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

    <p>Une complication possible pour les administrateurs Apache est de
    savoir si un socket IPv6 est capable de gérer les connexions IPv4
    aussi bien qu'IPv6. Gérer les connexions IPv4 sur une socket IPv6
    suppose l'utilisation d'adresses IPv6 mappées en IPv4, ce qui est
    le cas sur la plupart des plates-formes, mais pas sur FreeBSD, NetBSD
    et OpenBSD, en raison des politiques systèmes de ces plates-formes.
    Même sur des systèmes où cette fonctionnalité n'est pas activée par
    défaut, un paramètre de compilation pour <program>configure</program> 
    permet de changer ce comportement pour Apache.</p>
    
    <p>Pour qu'Apache puisse gérer à la fois les connexions IPv4 et IPv6
    avec un minimum de sockets, il faut permettre l'utilisation des adresses 
    IPv6 mappées en IPv4, ce qui est faisable en spécifiant l'option
    de compilation <code>--enable-v4-mapped</code> et en utilisant la
    directive générique <directive module="mpm_common">Listen</directive> 
    comme suit&nbsp;:</p>

    <example>
      Listen 80
    </example>

    <p>Si <code>--enable-v4-mapped</code> a été spécifié à la compilation,
    les directives Listen de la configuration par défaut sont de la forme
    ci-dessus. <code>--enable-v4-mapped</code> est l'option de compilation
    par défaut sur toutes les plates-formes, sauf pour FreeBSD, NetBSD, et 
    OpenBSD, donc il est probable que votre Apache ait été compilé avec
    cette option.</p>

    <p>Pour qu'Apache ne gère que les connexions IPv4, en ignorant l'éventuel
    support IPv6 de la plate-forme ou d'APR, une adresse IPv4 peut être
    donnée dans toutes les directives 
    <directive module="mpm_common">Listen</directive>, comme dans les 
    exemples suivants&nbsp;:</p>

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

    <p>Pour qu'Apache gère les connexions IPv4 et IPv6 sur des sockets
    différents (i.e., pour ne pas accepter les adresses IPv6 mappées
    en IPv4), spécifiez l'option de compilation 
    <code>--disable-v4-mapped</code> et utilisez des directives 
    Listen spécifiques telles que&nbsp;:</p>

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

    <p>Si le paramètre <code>--disable-v4-mapped</code> a été défini 
    au moment de la compilation, les directives Listen de la 
    configuration par défaut sont de la forme ci-dessus.
    <code>--disable-v4-mapped</code> est l'option de 
    compilation par défaut sous FreeBSD, NetBSD, et OpenBSD.</p>

  </section>

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

    <p>La directive <directive module="mpm_common">Listen</directive> 
    n'implémente aucun Serveur Virtuel. Elle sert simplement à 
    indiquer au serveur principal sur quels adresses et ports écouter.
    Dans le cas où aucune section 
    <directive module="core" type="section">VirtualHost</directive>
    n'est utilisée, le serveur répondra de la même manière pour toutes
    les requêtes qu'il recevra.
    Des sections 
    <directive module="core" type="section">VirtualHost</directive>
    peuvent être utilisées pour qu'Apache réagisse différemment selon que la
    requête est destinée à telle adresse ou à tel port. Avant d'implémenter
    un Serveur Virtuel au moyen de la directive VirtualHost, la directive
    Listen doit être configurée pour que le serveur écoute sur l'adresse
    ou le port utilisé. Ensuite, une section 
    <directive module="core" type="section">VirtualHost</directive>
    devrait être utilisée pour qu'Apache réagisse différemment selon
    l'adresse ou le port.
    À noter que si un Serveur Virtuel 
    <directive module="core" type="section">VirtualHost</directive> 
    est configuré sur une adresse et un port sur lesquels le serveur 
    n'est pas à l'écoute, le Serveur Virtuel ne sera pas accessible.</p>
  </section>
</manualpage>


