blob: 257f7b4644151da889472fbbc1a5767652fed7b4 [file] [log] [blame]
<?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: 1685411 -->
<!--
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.8 &agrave; 2.4.9), 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>