1 <?xml version="1.0" encoding="ISO-8859-1" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
4 <!-- French translation : Lucien GENTIS -->
5 <!-- Reviewed by : Vincent Deffontaines -->
6 <!-- English Revision : 1328589 -->
9 Licensed to the Apache Software Foundation (ASF) under one or more
10 contributor license agreements. See the NOTICE file distributed with
11 this work for additional information regarding copyright ownership.
12 The ASF licenses this file to You under the Apache License, Version 2.0
13 (the "License"); you may not use this file except in compliance with
14 the License. You may obtain a copy of the License at
16 http://www.apache.org/licenses/LICENSE-2.0
18 Unless required by applicable law or agreed to in writing, software
19 distributed under the License is distributed on an "AS IS" BASIS,
20 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21 See the License for the specific language governing permissions and
22 limitations under the License.
25 <manualpage metafile="install.xml.meta">
27 <title>Compilation et installation</title>
31 <p>Ce document couvre l'installation et la compilation du serveur
33 sur les systèmes Unix et similaires seulement. Pour la compilation et
34 l'installation sous Windows, voir <a
35 href="platform/windows.html">Utiliser le serveur HTTP Apache avec Microsoft
36 Windows</a>. Pour les autres plateformes, se référer à la documentation par
37 <a href="platform/">plateforme</a>.</p>
39 <p>Apache httpd utilise <code>libtool</code> et <code>autoconf</code>
40 afin de créer un environnement de construction similaire à la plupart
41 des projets Open Source .</p>
43 <p>Si vous effectuez une mise à jour depuis une version mineure vers
44 la suivante (par exemple, 2.2.50 à 2.2.51), veuillez passer à la section
45 <a href="#upgrading">mise à jour</a>.</p>
49 <seealso><a href="programs/configure.html">Configuration de l'arborescence
50 des sources</a></seealso>
51 <seealso><a href="invoking.html">Démarrer Apache httpd</a></seealso>
52 <seealso><a href="stopping.html">Arrêt et redémarrage</a></seealso>
54 <section id="overview"><title>Aperçu pour les plus pressés</title>
57 <columnspec><column width=".13"/><column width=".80"/></columnspec>
59 <td><a href="#download">Téléchargement</a></td>
61 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
66 <td><a href="#extract">Extraction</a></td>
68 <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
69 $ tar xvf httpd-<em>NN</em>.tar<br />
70 $ cd httpd-<em>NN</em></code></td>
74 <td><a href="#configure">Configuration</a></td>
76 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
81 <td><a href="#compile">Compilation</a></td>
83 <td><code>$ make</code> </td>
87 <td><a href="#install">Installation</a></td>
89 <td><code>$ make install</code> </td>
93 <td><a href="#customize">Personnalisation</a></td>
95 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
99 <td><a href="#test">Test</a></td>
101 <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
106 <p><em>NN</em> doit être remplacé par le numéro de version courant,
107 et <em>PREFIX</em> par le
108 chemin du répertoire d'installation. Si
109 <em>PREFIX</em> n'est pas spécifié, le chemin du répertoire
110 d'installation prendra sa valeur par défaut, à savoir
111 <code>/usr/local/apache2</code>.</p>
113 <p>Chaque étape du processus de compilation et d'installation est
114 décrite plus en détails ci-dessous, à commencer par les prérequis
115 pour compiler et installer Apache httpd.</p>
118 <section id="requirements"><title>Prérequis</title>
120 <p>Les prérequis pour la construction d'Apache httpd sont les suivants:</p>
123 <dt>APR et APR-Util</dt>
124 <dd>APR et APR-Util doivent être déjà installés sur votre système.
125 Si ce n'est pas le cas, ou si vous préférez ne pas utiliser les
126 versions fournies par le système, téléchargez les dernières
127 versions d'APR et APR-Util depuis <a
128 href="http://apr.apache.org/">Apache APR</a>, décompressez-les
129 respectivement dans <code>./srclib/apr</code> et
130 <code>./srclib/apr-util</code> (les noms des répertoires ne
131 doivent pas comporter de numéros de versions ; par exemple, la
132 distribution d'APR doit se trouver dans ./srclib/apr/), et
133 utilisez l'option <code>--with-included-apr</code> du script
134 <code>./configure</code>. Sur certaines plateformes, vous devrez
135 peut-être installer les paquets <code>-dev</code> correspondants
136 pour permettre la compilation de httpd avec les versions
137 installées d'APR et APR-Util.</dd>
139 <dt>Bibliothèque d'expressions rationnelles compatibles Perl
141 <dd>Cette librairie est nécessaire mais n'est plus fournie avec la
142 distribution de httpd. Téléchargez le code source depuis <a
143 href="http://www.pcre.org/">http://www.pcre.org</a> ou installez
144 un portage du paquet. Si votre suite de compilation ne trouve pas
145 le script pcre-config installé au cours du processus de
146 construction de PCRE, indiquez son chemin via l'option
147 <code>--with-pcre</code> du script <code>./configure</code>. Sur
148 certaines plateformes, vous devrez
149 peut-être installer les paquets <code>-dev</code> correspondants
150 pour permettre la compilation de httpd avec la version
151 installée de PCRE.</dd>
153 <dt>Espace disque</dt>
154 <dd>Assurez-vous d'avoir au moins 50 Mo d'espace disque disponible
155 temporaire. Après l'installation le serveur occupe
156 approximativement 10 Mo d'espace disque. L'espace disque réellement
157 nécessaire va varier considérablement en fonction de vos options
158 de configuration, de la présence éventuelle de
159 modules tiers, et bien entendu de la taille de votre site web et
160 des sites que vous hébergez sur votre serveur.</dd>
162 <dt>Compilateur ANSI-C et système de construction</dt>
163 <dd>Vous devez disposer d'un compilateur ANSI-C. Le compilateur <a
164 href="http://gcc.gnu.org/">GNU C (GCC)</a> de la <a
165 href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
166 est recommandé. Si vous ne possédez pas GCC,
167 assurez-vous au moins que votre compilateur soit compatible ANSI.
168 En outre, votre <code>PATH</code> doit contenir
169 les outils de construction de base tels que <code>make</code>.</dd>
171 <dt>Connaissance de l'heure exacte</dt>
172 <dd>Les éléments du protocole HTTP font référence à l'heure du jour.
173 Par conséquent, il est nécessaire d'équiper votre système d'un
174 dispositif de synchronisation du temps. Les programmes
175 <code>ntpdate</code> ou <code>xntpd</code>, basés sur le protocole NTP,
176 sont couramment utilisés à cet effet.
177 Voir la <a href="http://www.ntp.org">page d'accueil de NTP</a>
178 pour plus de détails à propos du logiciel NTP et des serveurs
179 de temps publics.</dd>
181 <dt><a href="http://www.perl.org/">Perl 5</a>
183 <dd>L'interpréteur Perl 5 (les versions 5.003 ou supérieures conviennent)
184 est nécessaire pour l'exécution de certains scripts comme
185 <program>apxs</program> ou <program>dbmmanage</program>
186 (qui sont écrits en Perl). Si vous disposez de plusieurs interpréteurs
187 Perl (par exemple, une installation globale Perl 4, et
188 votre installation personnelle de Perl 5), il vous faut utiliser l'option
189 <code>--with-perl</code> (voir ci-dessous) afin de vous assurer que le
190 bon interpréteur sera utilisé par <program>configure</program>.
191 Si le script <program>configure</program> ne trouve pas d'interpréteur
192 Perl 5, vous ne pourrez pas utiliser les scripts qui en ont besoin.
193 Bien entendu, vous pourrez tout de même construire et utiliser
199 <section id="download"><title>Téléchargement</title>
201 <p>Le serveur HTTP Apache peut être téléchargé à partir du
202 <a href="http://httpd.apache.org/download.cgi">site de téléchargement
203 du serveur HTTP Apache</a>, qui fournit la liste de nombreux miroirs.
204 Il sera plus commode à la plupart des utilisateurs d'Apache sur les
205 systèmes UNIX ou similaires de télécharger et de compiler
206 la version sources. Le processus de construction (décrit ci-dessous) est
207 simple, et vous permet de personnaliser votre serveur selon vos besoins.
208 En outre, les versions binaires sont souvent plus anciennes que les
209 dernières versions sources. Si vous téléchargez une version binaire,
210 suivez les instructions décrites dans le fichier
211 <code>INSTALL.bindist</code> inclus dans la distribution.</p>
213 <p>Après le téléchargement, il est important de vérifier que vous
214 disposez d'une version complète et non modifiée du serveur HTTP Apache.
215 Vous pouvez le faire en testant l'archive téléchargée à l'aide de
216 la signature PGP. Vous trouverez les détails de cette opération sur la <a
217 href="http://httpd.apache.org/download.cgi#verify"
218 >page de téléchargement</a> ainsi qu'un exemple précis décrivant <a
219 href="http://httpd.apache.org/dev/verification.html">l'utilisation de
224 <section id="extract"><title>Extraction</title>
226 <p>L'extraction des sources depuis l'archive du serveur HTTP Apache consiste
227 simplement à décompresser et à désarchiver cette dernière :</p>
230 $ gzip -d httpd-<em>NN</em>.tar.gz<br />
231 $ tar xvf httpd-<em>NN</em>.tar
234 <p>Ceci créera, dans le répertoire courant, un nouveau répertoire
235 contenant le code source de la distribution. Vous devrez vous positionner
236 dans ce répertoire avant de procéder à la compilation du serveur.</p>
239 <section id="configure"><title>Configuration de l'arborescence des sources</title>
241 <p>L'étape suivante consiste à configurer l'arborescence des sources
242 d'Apache en fonction de votre plateforme et de vos besoins personnels.
243 Le script <program>configure</program>, situé à la racine du
244 répertoire de la distribution, a été conçu à cet effet
245 (Les développeurs qui téléchargent
246 une version non officielle de l'arborescence des sources d'Apache
248 <code>autoconf</code> et <code>libtool</code> et
249 exécuter <code>buildconf</code> avant de passer à l'étape suivante,
250 ce qui n'est pas nécessaire pour les versions officielles).</p>
252 <p>Pour configurer l'arborescence des sources avec les valeurs par défaut
253 pour toutes les options, entrez simplement <code>./configure</code>.
254 Pour modifier les valeurs des options, <program>configure</program>
255 accepte toute une variété de variables et
256 d'options de ligne de commande.</p>
258 <p>L'option la plus importante <code>--prefix</code> est le chemin
259 du répertoire d'installation d'Apache, car Apache doit être configuré
260 en fonction de ce chemin pour pouvoir fonctionner correctement.
261 Il est possible de définir plus finement le chemin d'installation des fichiers
263 href="programs/configure.html#installationdirectories">options
264 supplémentaires de configure</a>.</p>
266 <p>À ce niveau, vous pouvez aussi spécifier de quelles <a
267 href="programs/configure.html#optionalfeatures">fonctionnalités</a> vous
268 voulez disposer dans Apache en activant ou désactivant des <a
269 href="mod/">modules</a>. Apache est fourni avec un grand nombre de
270 modules inclus par défaut. Ils seront compilés en tant qu'<a
271 href="dso.html">objets partagés (DSOs)</a> qui pourront être chargés
272 ou déchargés à l'exécution. Vous pouvez aussi choisir de compiler
273 les modules statiquement via l'option
274 <code>--enable-<var>module</var>=static</code>.</p>
275 <p>Des modules supplémentaires peuvent être activés à l'aide de l'option
276 <code>--enable-<var>module</var></code>, où
277 <var>module</var> est le nom du module sans la chaîne
278 <code>mod_</code> et où tout caractère de soulignement est converti
279 en tiret. D'une manière similaire,
280 vous pouvez désactiver des modules à l'aide de l'option
281 <code>--disable-<var>module</var></code>. Faites très attention
282 en utilisant ces options, car <program>configure</program> n'est pas en
283 mesure de vous avertir si le module que vous avez spécifié n'existe pas;
284 il ignorera tout simplement l'option.</p>
286 <p>En outre, vous devrez peut-être fournir au script
287 <program>configure</program> des informations supplémentaires sur
288 le chemin de votre compilateur, de vos bibliothèques, ou de vos fichiers
289 d'en-têtes. A cet effet, vous pouvez passer des options de ligne de
290 commande ou des variables d'environnement au script
291 <program>configure</program>. Pour plus d'informations, voir la
292 page de manuel de <program>configure</program>, ou lancez le script
293 <program>configure</program> avec l'option <code>--help</code>.
296 <p>Pour vous faire une idée des possibilités qui s'offrent à vous, voici
297 un exemple typique de compilation d'Apache avec le répertoire
298 d'installation <code>/sw/pkg/apache</code>, un compilateur et des drapeaux
299 particuliers et les deux modules additionnels <module>mod_ldap</module>
300 et <module>mod_lua</module> :</p>
303 $ CC="pgcc" CFLAGS="-O2" \<br />
304 ./configure --prefix=/sw/pkg/apache \<br />
305 --enable-ldap=shared \<br />
309 <p>Plusieurs minutes peuvent être nécessaires à
310 <program>configure</program> pour tester la disponibilité des
311 fonctionnalités
312 au sein de votre système, et construire les Makefiles qui seront utilisés
313 par la suite pour compiler le serveur.</p>
315 <p>Vous trouverez une description détaillée des options de
316 <program>configure</program> dans sa page de manuel.</p>
319 <section id="compile"><title>Construction</title>
321 <p>Vous pouvez maintenant construire les différents éléments qui
322 composent le paquet Apache en lançant tout simplement la commande :</p>
324 <example>$ make</example>
326 <p>Vous devez être patient, car il faut plusieurs minutes pour compiler
327 une configuration de base, et cette durée peut varier considérablement
328 en fonction de votre matériel et du nombre de modules que vous avez activés.</p>
331 <section id="install"><title>Installation</title>
333 <p>Il est temps maintenant d'installer le paquet dans le répertoire
334 d'installation défini par <em>PREFIX</em> (voir plus haut l'option
335 <code>--prefix</code>) en lançant:</p>
337 <example>$ make install</example>
339 <p>Cette étape nécessite habituellement les privilèges
340 de root, car <em>PREFIX</em> est en général un
341 répertoire possèdant des droits en écriture
344 <p>Si vous effectuez une mise à jour, l'installation n'écrasera pas
345 vos fichiers de configuration ou autres documents.</p>
348 <section id="customize"><title>Personnalisation</title>
350 <p>Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en
351 éditant les <a href="configuring.html">fichiers de configuration</a>
352 situés dans <code><em>PREFIX</em>/conf/</code>.</p>
354 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
356 <p>Consultez le manuel d'Apache situé dans
357 <code><em>PREFIX</em>/docs/manual/</code> ou
358 <a href="http://httpd.apache.org/docs/&httpd.docs;/"
359 >http://httpd.apache.org/docs/&httpd.docs;/</a> pour la version la plus
360 récente de ce manuel et la liste complète des <a
361 href="mod/directives.html">directives de configuration</a> disponibles.</p>
364 <section id="test"><title>Test</title>
366 <p>Vous pouvez maintenant <a href="invoking.html">démarrer</a> votre
367 serveur HTTP Apache en lançant:</p>
369 <example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
371 <p>Vous devriez alors pouvoir requérir votre premier document
372 à l'aide de l'URL <code>http://localhost/</code>. La page web que vous
373 voyez est située dans le répertoire défini par la directive
374 <directive module="core">DocumentRoot</directive>,
375 qui est généralement <code><em>PREFIX</em>/htdocs/</code>.
376 Pour <a href="stopping.html">arrêter</a> le serveur, lancez:</p>
378 <example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
380 <section id="upgrading"><title>Mise à jour</title>
382 <p>La première étape d'une mise à jour consiste à lire l'annonce de la
383 sortie de la nouvelle version et le fichier <code>CHANGES</code>
384 dans la distribution des sources afin de déceler toutes les modifications
385 qui pourraient affecter votre site. Lors d'un changement majeur de version
386 (par exemple de 2.0 à 2.2 ou de 2.2 à 2.3),
387 il y aura certainement des différences importantes quant à la
388 configuration de la compilation et de l'exécution qui nécessiteront des
389 ajustements manuels. Tous les
390 modules devront aussi être mis à jour pour qu'ils s'adaptent aux
391 changements de l'API des modules.</p>
393 <p>La mise à jour d'une version mineure à la suivante (par exemple, de
394 2.2.55 à 2.2.57) est plus aisée. Le processus <code>make install</code>
395 n'écrasera aucun de vos documents existants, fichiers de log,
396 ou fichiers de configuration. De plus, les développeurs font tout
397 leur possible pour éviter les changements entraînant une
398 incompatibilité dans les options de
399 <program>configure</program>, la configuration de l'exécution, ou l'API
400 des modules d'une version mineure à l'autre. Dans la plupart des cas,
401 vous pourrez utiliser une ligne de commande
402 <program>configure</program> identique, le même fichier de configuration,
403 et tous vos modules continueront de fonctionner.</p>
405 <p>Pour effectuer une mise à jour entre deux versions mineures,
406 commencez par trouver le fichier
407 <code>config.nice</code> dans le répertoire de <code>construction</code>
408 de votre serveur installé ou à la racine de l'arborescence des sources
409 de votre ancienne installation. Il contient la reproduction exacte de la
410 ligne de commande <program>configure</program> que vous avez utilisée pour
411 configurer l'arborescence des sources. Ensuite, pour mettre à jour
412 l'ancienne version vers la nouvelle,
413 il vous suffit de copier le fichier <code>config.nice</code> dans
414 l'arborescence des sources de la nouvelle version, de l'éditer pour
415 effectuer toute modification souhaitée, et de lancer :</p>
418 $ ./config.nice<br />
421 $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
422 $ <em>PREFIX</em>/bin/apachectl -k start<br />
425 <note type="warning">Vous devez toujours effectuer un test de la nouvelle
426 version dans votre environnement avant de la mettre en production.
427 Par exemple, vous pouvez installer et exécuter la nouvelle version
428 en parallèle avec l'ancienne en utilisant une option
429 <code>--prefix</code> et un port différents (en ajustant la directive
430 <directive module="mpm_common">Listen</directive>) afin de déceler toute
431 incompatibilité avant d'effectuer la mise à jour définitive.</note>
433 <p>Vous pouvez ajouter des arguments supplémentaires à
434 <code>config.nice</code> ; ils seront alors ajoutés aux options de
435 votre script <program>configure</program> original :</p>
438 $ ./config.nice --prefix=/home/test/apache --with-port=90
442 <section id="thirdp"><title>Paquets tiers</title>
444 <p>De nombreux tiers fournissent leur propre distribution du
445 serveur HTTP Apache à installer sur une plate-forme particulière. On
446 peut citer les différentes distributions Linux, divers
447 paquets tiers Windows, Mac OS X, Solaris et de nombreux autres.</p>
449 <p>Notre license logicielle non seulement permet, mais aussi
450 encourage ce genre de redistribution. Cependant, ceci conduit à une
451 situation ou l'organisation de la configuration et les valeurs par
452 défaut de votre installation du serveur peuvent ne pas correspondre
453 à ce qui est écrit dans la documentation. Bien que fâcheuse, cette
454 situation n'est pas appelée à évoluer de sitôt.</p>
457 href="http://wiki.apache.org/httpd/DistrosDefaultLayout">description
458 de ces distributions tierces</a> est maintenue dans le wiki du
459 serveur HTTP, et doit en refléter l'état actuel. Vous devrez
460 cependant vous familiariser par vous-même avec la gestion du paquet
461 de votre plate-forme particulière et les procédures d'installation.</p>