<?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 : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<!-- English Revision: 1685413 -->

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

  <title>Compilation et installation</title>

<summary>

    <p>Ce document couvre l'installation et la compilation du serveur
    HTTP Apache
    sur les syst&egrave;mes Unix et similaires seulement. Pour la compilation et
    l'installation sous Windows, voir <a
    href="platform/windows.html">Utiliser le serveur HTTP Apache avec Microsoft
    Windows</a> et <a href="platform/win_compiling.html">Compilation
    d'Apache sous Microsoft Windows</a>. Pour les autres plateformes, se
    r&eacute;f&eacute;rer &agrave; la documentation par
     <a href="platform/">plateforme</a>.</p>

    <p>Apache httpd utilise <code>libtool</code> et <code>autoconf</code>
    afin de cr&eacute;er un environnement de construction similaire &agrave; la plupart
    des projets Open Source .</p>

    <p>Si vous effectuez une mise &agrave; jour depuis une version mineure vers
    la suivante (par exemple, 2.4.9 &agrave; 2.4.10), veuillez passer &agrave; la section
    <a href="#upgrading">mise &agrave; jour</a>.</p>

</summary>

<seealso><a href="programs/configure.html">Configuration de l'arborescence
	des sources</a></seealso>
<seealso><a href="invoking.html">D&eacute;marrer Apache httpd</a></seealso>
<seealso><a href="stopping.html">Arr&ecirc;t et red&eacute;marrage</a></seealso>

<section id="overview"><title>Aper&ccedil;u pour les plus press&eacute;s</title>

    <table>
      <columnspec><column width=".13"/><column width=".80"/></columnspec>
      <tr>
        <td><a href="#download">T&eacute;l&eacute;chargement</a></td>

        <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
        </td>
      </tr>

      <tr>
        <td><a href="#extract">Extraction</a></td>

        <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
         $ tar xvf httpd-<em>NN</em>.tar<br />
         $ cd httpd-<em>NN</em></code></td>
      </tr>

      <tr>
        <td><a href="#configure">Configuration</a></td>

        <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
        </td>
      </tr>

      <tr>
        <td><a href="#compile">Compilation</a></td>

        <td><code>$ make</code> </td>
      </tr>

      <tr>
        <td><a href="#install">Installation</a></td>

        <td><code>$ make install</code> </td>
      </tr>

      <tr>
        <td><a href="#customize">Personnalisation</a></td>

        <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
      </tr>

      <tr>
        <td><a href="#test">Test</a></td>

        <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
        </td>
      </tr>
    </table>

    <p><em>NN</em> doit &ecirc;tre remplac&eacute; par le num&eacute;ro de version courant,
    et <em>PREFIX</em> par le
    chemin du r&eacute;pertoire d'installation. Si
    <em>PREFIX</em> n'est pas sp&eacute;cifi&eacute;, le chemin du r&eacute;pertoire
    d'installation prendra sa valeur par d&eacute;faut, &agrave; savoir
    <code>/usr/local/apache2</code>.</p>

    <p>Chaque &eacute;tape du processus de compilation et d'installation est
    d&eacute;crite plus en d&eacute;tails ci-dessous, &agrave; commencer par les pr&eacute;requis
    pour compiler et installer Apache httpd.</p>
</section>

<section id="requirements"><title>Pr&eacute;requis</title>

    <p>Les pr&eacute;requis pour la construction d'Apache httpd sont les suivants:</p>

    <dl>
      <dt>APR et APR-Util</dt>
      <dd>APR et APR-Util doivent &ecirc;tre d&eacute;j&agrave; install&eacute;s sur votre syst&egrave;me.
      Si ce n'est pas le cas, ou si vous pr&eacute;f&eacute;rez ne pas utiliser les
      versions fournies par le syst&egrave;me, t&eacute;l&eacute;chargez les derni&egrave;res
      versions d'APR et APR-Util depuis <a
      href="http://apr.apache.org/">Apache APR</a>, d&eacute;compressez-les
      respectivement dans <code>/racine_sources_httpd/srclib/apr</code> et
      <code>/racine_sources_httpd/srclib/apr-util</code> (les noms des r&eacute;pertoires ne
      doivent pas comporter de num&eacute;ros de versions ; par exemple, la
      distribution d'APR doit se trouver dans /racine_sources_httpd/srclib/apr/), et
      utilisez l'option <code>--with-included-apr</code> du script
      <code>./configure</code>. Sur certaines plateformes, vous devrez
      peut-&ecirc;tre installer les paquets <code>-dev</code> correspondants
      pour permettre la compilation de httpd avec les versions
      install&eacute;es d'APR et APR-Util.</dd>

      <dt>Biblioth&egrave;que d'expressions rationnelles compatibles Perl
      (PCRE)</dt>
      <dd>Cette biblioth&egrave;que est n&eacute;cessaire mais n'est plus fournie avec la
      distribution de httpd. T&eacute;l&eacute;chargez le code source depuis <a
      href="http://www.pcre.org/">http://www.pcre.org</a> ou installez
      un portage du paquet. Si votre suite de compilation ne trouve pas
      le script pcre-config install&eacute; au cours du processus de
      construction de PCRE, indiquez son chemin via l'option
      <code>--with-pcre</code> du script <code>./configure</code>. Sur
      certaines plateformes, vous devrez
      peut-&ecirc;tre installer les paquets <code>-dev</code> correspondants
      pour permettre la compilation de httpd avec la version
      install&eacute;e de PCRE.</dd>

      <dt>Espace disque</dt>
      <dd>Assurez-vous d'avoir au moins 50 Mo d'espace disque disponible
      temporaire. Apr&egrave;s l'installation le serveur occupe
      approximativement 10 Mo d'espace disque. L'espace disque r&eacute;ellement
      n&eacute;cessaire va varier consid&eacute;rablement en fonction de vos options
      de configuration, de la pr&eacute;sence &eacute;ventuelle de
      modules tiers, et bien entendu de la taille de votre site web et
      des sites que vous h&eacute;bergez sur votre serveur.</dd>

      <dt>Compilateur ANSI-C et syst&egrave;me de construction</dt>
      <dd>Vous devez disposer d'un compilateur ANSI-C. Le compilateur <a
      href="http://gcc.gnu.org/">GNU C (GCC)</a> de la <a
      href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
      est recommand&eacute;. Si vous ne poss&eacute;dez pas GCC,
      assurez-vous au moins que votre compilateur soit compatible ANSI.
      En outre, votre <code>PATH</code> doit contenir
      les outils de construction de base tels que <code>make</code>.</dd>

      <dt>Connaissance de l'heure exacte</dt>
      <dd>Les &eacute;l&eacute;ments du protocole HTTP font r&eacute;f&eacute;rence &agrave; l'heure du jour.
      Par cons&eacute;quent, il est n&eacute;cessaire d'&eacute;quiper votre syst&egrave;me d'un
      dispositif de synchronisation du temps. Les programmes
      <code>ntpdate</code> ou <code>xntpd</code>, bas&eacute;s sur le protocole NTP,
      sont couramment utilis&eacute;s &agrave; cet effet.
      Voir la <a href="http://www.ntp.org">page d'accueil de NTP</a>
      pour plus de d&eacute;tails &agrave; propos du logiciel NTP et des serveurs
      de temps publics.</dd>

      <dt><a href="http://www.perl.org/">Perl 5</a>
      [OPTIONNEL]</dt>
      <dd>L'interpr&eacute;teur Perl 5 (les versions 5.003 ou sup&eacute;rieures conviennent)
      est n&eacute;cessaire pour l'ex&eacute;cution de certains scripts comme
      <program>apxs</program> ou <program>dbmmanage</program>
      (qui sont &eacute;crits en Perl).
      Si le script <program>configure</program> ne trouve pas d'interpr&eacute;teur
      Perl 5, vous ne pourrez pas utiliser les scripts qui en ont besoin.
      Bien entendu, vous pourrez tout de m&ecirc;me construire et utiliser
      Apache httpd.</dd>

    </dl>
</section>

<section id="download"><title>T&eacute;l&eacute;chargement</title>

    <p>Le serveur HTTP Apache peut &ecirc;tre t&eacute;l&eacute;charg&eacute; &agrave; partir du
    <a href="http://httpd.apache.org/download.cgi">site de t&eacute;l&eacute;chargement
    du serveur HTTP Apache</a>, qui fournit la liste de nombreux miroirs.
    Il sera plus commode &agrave; la plupart des utilisateurs d'Apache sur les
    syst&egrave;mes UNIX ou similaires de t&eacute;l&eacute;charger et de compiler
    la version sources.  Le processus de construction (d&eacute;crit ci-dessous) est
    simple, et vous permet de personnaliser votre serveur selon vos besoins.
    En outre, les versions binaires sont souvent plus anciennes que les
    derni&egrave;res versions sources. Si vous t&eacute;l&eacute;chargez une version binaire,
    suivez les instructions d&eacute;crites dans le fichier
    <code>INSTALL.bindist</code> inclus dans la distribution.</p>

    <p>Apr&egrave;s le t&eacute;l&eacute;chargement, il est important de v&eacute;rifier que vous
    disposez d'une version compl&egrave;te et non modifi&eacute;e du serveur HTTP Apache.
    Vous pouvez le faire en testant l'archive t&eacute;l&eacute;charg&eacute;e &agrave; l'aide de
    la signature PGP. Vous trouverez les d&eacute;tails de cette op&eacute;ration sur la <a
    href="http://httpd.apache.org/download.cgi#verify"
    >page de t&eacute;l&eacute;chargement</a> ainsi qu'un exemple pr&eacute;cis d&eacute;crivant <a
    href="http://httpd.apache.org/dev/verification.html">l'utilisation de
    PGP</a>.</p>

</section>

<section id="extract"><title>Extraction</title>

    <p>L'extraction des sources depuis l'archive du serveur HTTP Apache consiste
    simplement &agrave; d&eacute;compresser et &agrave; d&eacute;sarchiver cette derni&egrave;re :</p>

<example>
$ gzip -d httpd-<em>NN</em>.tar.gz<br />
$ tar xvf httpd-<em>NN</em>.tar
</example>

    <p>Ceci cr&eacute;era, dans le r&eacute;pertoire courant, un nouveau r&eacute;pertoire
    contenant le code source de la distribution. Vous devrez vous positionner
    dans ce r&eacute;pertoire avant de proc&eacute;der &agrave; la compilation du serveur.</p>
</section>

<section id="configure"><title>Configuration de l'arborescence des sources</title>

    <p>L'&eacute;tape suivante consiste &agrave; configurer l'arborescence des sources
    d'Apache en fonction de votre plateforme et de vos besoins personnels.
    Le script  <program>configure</program>, situ&eacute; &agrave; la racine du
    r&eacute;pertoire de la distribution, a &eacute;t&eacute; con&ccedil;u &agrave; cet effet
    (Les d&eacute;veloppeurs qui t&eacute;l&eacute;chargent
    une version non officielle de l'arborescence des sources d'Apache
    devront disposer de
    <code>autoconf</code> et <code>libtool</code> et
    ex&eacute;cuter <code>buildconf</code> avant de passer &agrave; l'&eacute;tape suivante,
    ce qui n'est pas n&eacute;cessaire pour les versions officielles).</p>

    <p>Pour configurer l'arborescence des sources avec les valeurs par d&eacute;faut
    pour toutes les options, entrez simplement <code>./configure</code>.
    Pour modifier les valeurs des options, <program>configure</program>
    accepte toute une vari&eacute;t&eacute; de variables et
    d'options de ligne de commande.</p>

    <p>L'option la plus importante <code>--prefix</code> est le chemin
    du r&eacute;pertoire d'installation d'Apache, car Apache doit &ecirc;tre configur&eacute;
    en fonction de ce chemin pour pouvoir fonctionner correctement.
    Il est possible de d&eacute;finir plus finement le chemin d'installation des fichiers
    &agrave; l'aide d'<a
    href="programs/configure.html#installationdirectories">options
    suppl&eacute;mentaires de configure</a>.</p>

    <p>&Agrave; ce niveau, vous pouvez aussi sp&eacute;cifier de quelles <a
    href="programs/configure.html#optionalfeatures">fonctionnalit&eacute;s</a> vous
    voulez disposer dans Apache en activant ou d&eacute;sactivant des <a
    href="mod/">modules</a>.  Apache est fourni avec un grand nombre de
    modules inclus par d&eacute;faut. Ils seront compil&eacute;s en tant qu'<a
    href="dso.html">objets partag&eacute;s (DSOs)</a> qui pourront &ecirc;tre charg&eacute;s
    ou d&eacute;charg&eacute;s &agrave; l'ex&eacute;cution. Vous pouvez aussi choisir de compiler
    les modules statiquement via l'option
    <code>--enable-<var>module</var>=static</code>.</p>
    <p>Des modules suppl&eacute;mentaires peuvent &ecirc;tre activ&eacute;s &agrave; l'aide de l'option
    <code>--enable-<var>module</var></code>, o&ugrave;
    <var>module</var> est le nom du module sans la cha&icirc;ne
    <code>mod_</code> et o&ugrave; tout caract&egrave;re de soulignement est converti
    en tiret. D'une mani&egrave;re similaire,
    vous pouvez d&eacute;sactiver des modules &agrave; l'aide de l'option
    <code>--disable-<var>module</var></code>.  Faites tr&egrave;s attention
    en utilisant ces options, car <program>configure</program> n'est pas en
    mesure de vous avertir si le module que vous avez sp&eacute;cifi&eacute; n'existe pas;
    il ignorera tout simplement l'option.</p>

    <p>En outre, vous devrez peut-&ecirc;tre fournir au script
    <program>configure</program> des informations suppl&eacute;mentaires sur
    le chemin de votre compilateur, de vos biblioth&egrave;ques, ou de vos fichiers
    d'en-t&ecirc;tes.  A cet effet, vous pouvez passer des options de ligne de
    commande ou des variables d'environnement au script
    <program>configure</program>. Pour plus d'informations, voir la
    page de manuel de <program>configure</program>, ou lancez le script
    <program>configure</program> avec l'option <code>--help</code>.
    </p>

    <p>Pour vous faire une id&eacute;e des possibilit&eacute;s qui s'offrent &agrave; vous, voici
    un exemple typique de compilation d'Apache avec le r&eacute;pertoire
    d'installation <code>/sw/pkg/apache</code>, un compilateur et des drapeaux
    particuliers et les deux modules additionnels <module>mod_ldap</module>
    et <module>mod_lua</module> :</p>

<example>
      $ CC="pgcc" CFLAGS="-O2" \<br />
       ./configure --prefix=/sw/pkg/apache \<br />
       --enable-ldap=shared \<br />
       --enable-lua=shared
</example>

    <p>Plusieurs minutes peuvent &ecirc;tre n&eacute;cessaires &agrave;
    <program>configure</program> pour tester la disponibilit&eacute; des
    fonctionnalit&eacute;s
    au sein de votre syst&egrave;me, et construire les Makefiles qui seront utilis&eacute;s
    par la suite pour compiler le serveur.</p>

    <p>Vous trouverez une description d&eacute;taill&eacute;e des options de
    <program>configure</program> dans sa page de manuel.</p>
</section>

<section id="compile"><title>Construction</title>

    <p>Vous pouvez maintenant construire les diff&eacute;rents &eacute;l&eacute;ments qui
    composent le paquet Apache en lan&ccedil;ant tout simplement la commande :</p>

<example>$ make</example>

    <p>Vous devez &ecirc;tre patient, car il faut plusieurs minutes pour compiler
    une configuration de base, et cette dur&eacute;e peut varier consid&eacute;rablement
    en fonction de votre mat&eacute;riel et du nombre de modules que vous avez activ&eacute;s.</p>
</section>

<section id="install"><title>Installation</title>

    <p>Il est temps maintenant d'installer le paquet dans le r&eacute;pertoire
    d'installation d&eacute;fini par <em>PREFIX</em> (voir plus haut l'option
    <code>--prefix</code>) en lan&ccedil;ant:</p>

<example>$ make install</example>

    <p>Cette &eacute;tape n&eacute;cessite habituellement les privil&egrave;ges
    de root, car <em>PREFIX</em> est en g&eacute;n&eacute;ral un
    r&eacute;pertoire poss&egrave;dant des droits en &eacute;criture
    restreints.</p>

    <p>Si vous effectuez une mise &agrave; jour, l'installation n'&eacute;crasera pas
    vos fichiers de configuration ou autres documents.</p>
</section>

<section id="customize"><title>Personnalisation</title>

    <p>Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en
    &eacute;ditant les <a href="configuring.html">fichiers de configuration</a>
    situ&eacute;s dans <code><em>PREFIX</em>/conf/</code>.</p>

<example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>

    <p>Consultez le manuel d'Apache situ&eacute; dans
    <code><em>PREFIX</em>/docs/manual/</code> ou
    <a href="http://httpd.apache.org/docs/&httpd.docs;/"
    >http://httpd.apache.org/docs/&httpd.docs;/</a> pour la version la plus
    r&eacute;cente de ce manuel et la liste compl&egrave;te des <a
    href="mod/directives.html">directives de configuration</a> disponibles.</p>
</section>

<section id="test"><title>Test</title>

    <p>Vous pouvez maintenant <a href="invoking.html">d&eacute;marrer</a> votre
    serveur HTTP Apache en lan&ccedil;ant:</p>

<example>$ <em>PREFIX</em>/bin/apachectl -k start</example>

    <p>Vous devriez alors pouvoir requ&eacute;rir votre premier document
    &agrave; l'aide de l'URL <code>http://localhost/</code>. La page web que vous
    voyez est situ&eacute;e dans le r&eacute;pertoire d&eacute;fini par la directive
    <directive module="core">DocumentRoot</directive>,
    qui est g&eacute;n&eacute;ralement <code><em>PREFIX</em>/htdocs/</code>.
    Pour <a href="stopping.html">arr&ecirc;ter</a> le serveur, lancez:</p>

<example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
</section>
<section id="upgrading"><title>Mise &agrave; jour</title>

    <p>La premi&egrave;re &eacute;tape d'une mise &agrave; jour consiste &agrave; lire l'annonce de la
    sortie de la nouvelle version et le fichier <code>CHANGES</code>
    dans la distribution des sources afin de d&eacute;celer toutes les modifications
    qui pourraient affecter votre site. Lors d'un changement majeur de version
    (par exemple de 2.0 &agrave; 2.2 ou de 2.2 &agrave; 2.4),
    il y aura certainement des diff&eacute;rences importantes quant &agrave; la
    configuration de la compilation et de l'ex&eacute;cution qui n&eacute;cessiteront des
    ajustements manuels.  Tous les
    modules devront aussi &ecirc;tre mis &agrave; jour pour qu'ils s'adaptent aux
    changements de l'API des modules.</p>

    <p>La mise &agrave; jour d'une version mineure &agrave; la suivante (par exemple, de
    2.2.55 &agrave; 2.2.57) est plus ais&eacute;e.  Le processus <code>make install</code>
    n'&eacute;crasera aucun de vos documents existants, fichiers de log,
    ou fichiers de configuration.  De plus, les d&eacute;veloppeurs font tout
    leur possible pour &eacute;viter les changements entra&icirc;nant une
    incompatibilit&eacute; dans les options de
    <program>configure</program>, la configuration de l'ex&eacute;cution, ou l'API
    des modules d'une version mineure &agrave; l'autre.  Dans la plupart des cas,
    vous pourrez utiliser une ligne de commande
    <program>configure</program> identique, le m&ecirc;me fichier de configuration,
    et tous vos modules continueront de fonctionner.</p>

    <p>Pour effectuer une mise &agrave; jour entre deux versions mineures,
    commencez par trouver le fichier
    <code>config.nice</code> dans le r&eacute;pertoire de <code>construction</code>
    de votre serveur install&eacute; ou &agrave; la racine de l'arborescence des sources
    de votre ancienne installation.  Il contient la reproduction exacte de la
    ligne de commande <program>configure</program> que vous avez utilis&eacute;e pour
    configurer l'arborescence des sources.  Ensuite, pour mettre &agrave; jour
    l'ancienne version vers la nouvelle,
    il vous suffit de copier le fichier <code>config.nice</code> dans
    l'arborescence des sources de la nouvelle version, de l'&eacute;diter pour
    effectuer toute modification souhait&eacute;e, et de lancer :</p>

    <example>
    $ ./config.nice<br />
    $ make<br />
    $ make install<br />
    $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
    $ <em>PREFIX</em>/bin/apachectl -k start<br />
    </example>

    <note type="warning">Vous devez toujours effectuer un test de la nouvelle
    version dans votre environnement avant de la mettre en production.
    Par exemple, vous pouvez installer et ex&eacute;cuter la nouvelle version
    en parall&egrave;le avec l'ancienne en utilisant une option
    <code>--prefix</code> et un port diff&eacute;rents (en ajustant la directive
    <directive module="mpm_common">Listen</directive>) afin de d&eacute;celer toute
    incompatibilit&eacute; avant d'effectuer la mise &agrave; jour d&eacute;finitive.</note>

    <p>Vous pouvez ajouter des arguments suppl&eacute;mentaires &agrave;
    <code>config.nice</code> ; ils seront alors ajout&eacute;s aux options de
    votre script <program>configure</program> original :</p>

     <example>
     $ ./config.nice --prefix=/home/test/apache --with-port=90
     </example>

    </section>
<section id="thirdp"><title>Paquets tiers</title>

    <p>De nombreux tiers fournissent leur propre distribution du
    serveur HTTP Apache &agrave; installer sur une plate-forme particuli&egrave;re. On
    peut citer les diff&eacute;rentes distributions Linux, divers
    paquets tiers Windows, Mac OS X, Solaris et de nombreux autres.</p>

    <p>Notre license logicielle non seulement permet, mais aussi
    encourage ce genre de redistribution. Cependant, ceci conduit &agrave; une
    situation ou l'organisation de la configuration et les valeurs par
    d&eacute;faut de votre installation du serveur peuvent ne pas correspondre
    &agrave; ce qui est &eacute;crit dans la documentation. Bien que f&acirc;cheuse, cette
    situation n'est pas appel&eacute;e &agrave; &eacute;voluer de sit&ocirc;t.</p>

    <p>Une  <a
    href="http://wiki.apache.org/httpd/DistrosDefaultLayout">description
    de ces distributions tierces</a> est maintenue dans le wiki du
    serveur HTTP, et doit en refl&eacute;ter l'&eacute;tat actuel. Vous devrez
    cependant vous familiariser par vous-m&ecirc;me avec la gestion du paquet
    de votre plate-forme particuli&egrave;re et les proc&eacute;dures d'installation.</p>

</section>
</manualpage>
