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: 1602763 -->
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> et <a href="platform/win_compiling.html">Compilation
37 d'Apache sous Microsoft Windows</a>. Pour les autres plateformes, se
38 référer à la documentation par
39 <a href="platform/">plateforme</a>.</p>
41 <p>Apache httpd utilise <code>libtool</code> et <code>autoconf</code>
42 afin de créer un environnement de construction similaire à la plupart
43 des projets Open Source .</p>
45 <p>Si vous effectuez une mise à jour depuis une version mineure vers
46 la suivante (par exemple, 2.4.8 à 2.4.9), veuillez passer à la section
47 <a href="#upgrading">mise à jour</a>.</p>
51 <seealso><a href="programs/configure.html">Configuration de l'arborescence
52 des sources</a></seealso>
53 <seealso><a href="invoking.html">Démarrer Apache httpd</a></seealso>
54 <seealso><a href="stopping.html">Arrêt et redémarrage</a></seealso>
56 <section id="overview"><title>Aperçu pour les plus pressés</title>
59 <columnspec><column width=".13"/><column width=".80"/></columnspec>
61 <td><a href="#download">Téléchargement</a></td>
63 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
68 <td><a href="#extract">Extraction</a></td>
70 <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
71 $ tar xvf httpd-<em>NN</em>.tar<br />
72 $ cd httpd-<em>NN</em></code></td>
76 <td><a href="#configure">Configuration</a></td>
78 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
83 <td><a href="#compile">Compilation</a></td>
85 <td><code>$ make</code> </td>
89 <td><a href="#install">Installation</a></td>
91 <td><code>$ make install</code> </td>
95 <td><a href="#customize">Personnalisation</a></td>
97 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
101 <td><a href="#test">Test</a></td>
103 <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
108 <p><em>NN</em> doit être remplacé par le numéro de version courant,
109 et <em>PREFIX</em> par le
110 chemin du répertoire d'installation. Si
111 <em>PREFIX</em> n'est pas spécifié, le chemin du répertoire
112 d'installation prendra sa valeur par défaut, à savoir
113 <code>/usr/local/apache2</code>.</p>
115 <p>Chaque étape du processus de compilation et d'installation est
116 décrite plus en détails ci-dessous, à commencer par les prérequis
117 pour compiler et installer Apache httpd.</p>
120 <section id="requirements"><title>Prérequis</title>
122 <p>Les prérequis pour la construction d'Apache httpd sont les suivants:</p>
125 <dt>APR et APR-Util</dt>
126 <dd>APR et APR-Util doivent être déjà installés sur votre système.
127 Si ce n'est pas le cas, ou si vous préférez ne pas utiliser les
128 versions fournies par le système, téléchargez les dernières
129 versions d'APR et APR-Util depuis <a
130 href="http://apr.apache.org/">Apache APR</a>, décompressez-les
131 respectivement dans <code>./srclib/apr</code> et
132 <code>./srclib/apr-util</code> (les noms des répertoires ne
133 doivent pas comporter de numéros de versions ; par exemple, la
134 distribution d'APR doit se trouver dans ./srclib/apr/), et
135 utilisez l'option <code>--with-included-apr</code> du script
136 <code>./configure</code>. Sur certaines plateformes, vous devrez
137 peut-être installer les paquets <code>-dev</code> correspondants
138 pour permettre la compilation de httpd avec les versions
139 installées d'APR et APR-Util.</dd>
141 <dt>Bibliothèque d'expressions rationnelles compatibles Perl
143 <dd>Cette librairie est nécessaire mais n'est plus fournie avec la
144 distribution de httpd. Téléchargez le code source depuis <a
145 href="http://www.pcre.org/">http://www.pcre.org</a> ou installez
146 un portage du paquet. Si votre suite de compilation ne trouve pas
147 le script pcre-config installé au cours du processus de
148 construction de PCRE, indiquez son chemin via l'option
149 <code>--with-pcre</code> du script <code>./configure</code>. Sur
150 certaines plateformes, vous devrez
151 peut-être installer les paquets <code>-dev</code> correspondants
152 pour permettre la compilation de httpd avec la version
153 installée de PCRE.</dd>
155 <dt>Espace disque</dt>
156 <dd>Assurez-vous d'avoir au moins 50 Mo d'espace disque disponible
157 temporaire. Après l'installation le serveur occupe
158 approximativement 10 Mo d'espace disque. L'espace disque réellement
159 nécessaire va varier considérablement en fonction de vos options
160 de configuration, de la présence éventuelle de
161 modules tiers, et bien entendu de la taille de votre site web et
162 des sites que vous hébergez sur votre serveur.</dd>
164 <dt>Compilateur ANSI-C et système de construction</dt>
165 <dd>Vous devez disposer d'un compilateur ANSI-C. Le compilateur <a
166 href="http://gcc.gnu.org/">GNU C (GCC)</a> de la <a
167 href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
168 est recommandé. Si vous ne possédez pas GCC,
169 assurez-vous au moins que votre compilateur soit compatible ANSI.
170 En outre, votre <code>PATH</code> doit contenir
171 les outils de construction de base tels que <code>make</code>.</dd>
173 <dt>Connaissance de l'heure exacte</dt>
174 <dd>Les éléments du protocole HTTP font référence à l'heure du jour.
175 Par conséquent, il est nécessaire d'équiper votre système d'un
176 dispositif de synchronisation du temps. Les programmes
177 <code>ntpdate</code> ou <code>xntpd</code>, basés sur le protocole NTP,
178 sont couramment utilisés à cet effet.
179 Voir la <a href="http://www.ntp.org">page d'accueil de NTP</a>
180 pour plus de détails à propos du logiciel NTP et des serveurs
181 de temps publics.</dd>
183 <dt><a href="http://www.perl.org/">Perl 5</a>
185 <dd>L'interpréteur Perl 5 (les versions 5.003 ou supérieures conviennent)
186 est nécessaire pour l'exécution de certains scripts comme
187 <program>apxs</program> ou <program>dbmmanage</program>
188 (qui sont écrits en Perl). Si vous disposez de plusieurs interpréteurs
189 Perl (par exemple, une installation globale Perl 4, et
190 votre installation personnelle de Perl 5), il vous faut utiliser l'option
191 <code>--with-perl</code> (voir ci-dessous) afin de vous assurer que le
192 bon interpréteur sera utilisé par <program>configure</program>.
193 Si le script <program>configure</program> ne trouve pas d'interpréteur
194 Perl 5, vous ne pourrez pas utiliser les scripts qui en ont besoin.
195 Bien entendu, vous pourrez tout de même construire et utiliser
201 <section id="download"><title>Téléchargement</title>
203 <p>Le serveur HTTP Apache peut être téléchargé à partir du
204 <a href="http://httpd.apache.org/download.cgi">site de téléchargement
205 du serveur HTTP Apache</a>, qui fournit la liste de nombreux miroirs.
206 Il sera plus commode à la plupart des utilisateurs d'Apache sur les
207 systèmes UNIX ou similaires de télécharger et de compiler
208 la version sources. Le processus de construction (décrit ci-dessous) est
209 simple, et vous permet de personnaliser votre serveur selon vos besoins.
210 En outre, les versions binaires sont souvent plus anciennes que les
211 dernières versions sources. Si vous téléchargez une version binaire,
212 suivez les instructions décrites dans le fichier
213 <code>INSTALL.bindist</code> inclus dans la distribution.</p>
215 <p>Après le téléchargement, il est important de vérifier que vous
216 disposez d'une version complète et non modifiée du serveur HTTP Apache.
217 Vous pouvez le faire en testant l'archive téléchargée à l'aide de
218 la signature PGP. Vous trouverez les détails de cette opération sur la <a
219 href="http://httpd.apache.org/download.cgi#verify"
220 >page de téléchargement</a> ainsi qu'un exemple précis décrivant <a
221 href="http://httpd.apache.org/dev/verification.html">l'utilisation de
226 <section id="extract"><title>Extraction</title>
228 <p>L'extraction des sources depuis l'archive du serveur HTTP Apache consiste
229 simplement à décompresser et à désarchiver cette dernière :</p>
232 $ gzip -d httpd-<em>NN</em>.tar.gz<br />
233 $ tar xvf httpd-<em>NN</em>.tar
236 <p>Ceci créera, dans le répertoire courant, un nouveau répertoire
237 contenant le code source de la distribution. Vous devrez vous positionner
238 dans ce répertoire avant de procéder à la compilation du serveur.</p>
241 <section id="configure"><title>Configuration de l'arborescence des sources</title>
243 <p>L'étape suivante consiste à configurer l'arborescence des sources
244 d'Apache en fonction de votre plateforme et de vos besoins personnels.
245 Le script <program>configure</program>, situé à la racine du
246 répertoire de la distribution, a été conçu à cet effet
247 (Les développeurs qui téléchargent
248 une version non officielle de l'arborescence des sources d'Apache
250 <code>autoconf</code> et <code>libtool</code> et
251 exécuter <code>buildconf</code> avant de passer à l'étape suivante,
252 ce qui n'est pas nécessaire pour les versions officielles).</p>
254 <p>Pour configurer l'arborescence des sources avec les valeurs par défaut
255 pour toutes les options, entrez simplement <code>./configure</code>.
256 Pour modifier les valeurs des options, <program>configure</program>
257 accepte toute une variété de variables et
258 d'options de ligne de commande.</p>
260 <p>L'option la plus importante <code>--prefix</code> est le chemin
261 du répertoire d'installation d'Apache, car Apache doit être configuré
262 en fonction de ce chemin pour pouvoir fonctionner correctement.
263 Il est possible de définir plus finement le chemin d'installation des fichiers
265 href="programs/configure.html#installationdirectories">options
266 supplémentaires de configure</a>.</p>
268 <p>À ce niveau, vous pouvez aussi spécifier de quelles <a
269 href="programs/configure.html#optionalfeatures">fonctionnalités</a> vous
270 voulez disposer dans Apache en activant ou désactivant des <a
271 href="mod/">modules</a>. Apache est fourni avec un grand nombre de
272 modules inclus par défaut. Ils seront compilés en tant qu'<a
273 href="dso.html">objets partagés (DSOs)</a> qui pourront être chargés
274 ou déchargés à l'exécution. Vous pouvez aussi choisir de compiler
275 les modules statiquement via l'option
276 <code>--enable-<var>module</var>=static</code>.</p>
277 <p>Des modules supplémentaires peuvent être activés à l'aide de l'option
278 <code>--enable-<var>module</var></code>, où
279 <var>module</var> est le nom du module sans la chaîne
280 <code>mod_</code> et où tout caractère de soulignement est converti
281 en tiret. D'une manière similaire,
282 vous pouvez désactiver des modules à l'aide de l'option
283 <code>--disable-<var>module</var></code>. Faites très attention
284 en utilisant ces options, car <program>configure</program> n'est pas en
285 mesure de vous avertir si le module que vous avez spécifié n'existe pas;
286 il ignorera tout simplement l'option.</p>
288 <p>En outre, vous devrez peut-être fournir au script
289 <program>configure</program> des informations supplémentaires sur
290 le chemin de votre compilateur, de vos bibliothèques, ou de vos fichiers
291 d'en-têtes. A cet effet, vous pouvez passer des options de ligne de
292 commande ou des variables d'environnement au script
293 <program>configure</program>. Pour plus d'informations, voir la
294 page de manuel de <program>configure</program>, ou lancez le script
295 <program>configure</program> avec l'option <code>--help</code>.
298 <p>Pour vous faire une idée des possibilités qui s'offrent à vous, voici
299 un exemple typique de compilation d'Apache avec le répertoire
300 d'installation <code>/sw/pkg/apache</code>, un compilateur et des drapeaux
301 particuliers et les deux modules additionnels <module>mod_ldap</module>
302 et <module>mod_lua</module> :</p>
305 $ CC="pgcc" CFLAGS="-O2" \<br />
306 ./configure --prefix=/sw/pkg/apache \<br />
307 --enable-ldap=shared \<br />
311 <p>Plusieurs minutes peuvent être nécessaires à
312 <program>configure</program> pour tester la disponibilité des
313 fonctionnalités
314 au sein de votre système, et construire les Makefiles qui seront utilisés
315 par la suite pour compiler le serveur.</p>
317 <p>Vous trouverez une description détaillée des options de
318 <program>configure</program> dans sa page de manuel.</p>
321 <section id="compile"><title>Construction</title>
323 <p>Vous pouvez maintenant construire les différents éléments qui
324 composent le paquet Apache en lançant tout simplement la commande :</p>
326 <example>$ make</example>
328 <p>Vous devez être patient, car il faut plusieurs minutes pour compiler
329 une configuration de base, et cette durée peut varier considérablement
330 en fonction de votre matériel et du nombre de modules que vous avez activés.</p>
333 <section id="install"><title>Installation</title>
335 <p>Il est temps maintenant d'installer le paquet dans le répertoire
336 d'installation défini par <em>PREFIX</em> (voir plus haut l'option
337 <code>--prefix</code>) en lançant:</p>
339 <example>$ make install</example>
341 <p>Cette étape nécessite habituellement les privilèges
342 de root, car <em>PREFIX</em> est en général un
343 répertoire possèdant des droits en écriture
346 <p>Si vous effectuez une mise à jour, l'installation n'écrasera pas
347 vos fichiers de configuration ou autres documents.</p>
350 <section id="customize"><title>Personnalisation</title>
352 <p>Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en
353 éditant les <a href="configuring.html">fichiers de configuration</a>
354 situés dans <code><em>PREFIX</em>/conf/</code>.</p>
356 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
358 <p>Consultez le manuel d'Apache situé dans
359 <code><em>PREFIX</em>/docs/manual/</code> ou
360 <a href="http://httpd.apache.org/docs/&httpd.docs;/"
361 >http://httpd.apache.org/docs/&httpd.docs;/</a> pour la version la plus
362 récente de ce manuel et la liste complète des <a
363 href="mod/directives.html">directives de configuration</a> disponibles.</p>
366 <section id="test"><title>Test</title>
368 <p>Vous pouvez maintenant <a href="invoking.html">démarrer</a> votre
369 serveur HTTP Apache en lançant:</p>
371 <example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
373 <p>Vous devriez alors pouvoir requérir votre premier document
374 à l'aide de l'URL <code>http://localhost/</code>. La page web que vous
375 voyez est située dans le répertoire défini par la directive
376 <directive module="core">DocumentRoot</directive>,
377 qui est généralement <code><em>PREFIX</em>/htdocs/</code>.
378 Pour <a href="stopping.html">arrêter</a> le serveur, lancez:</p>
380 <example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
382 <section id="upgrading"><title>Mise à jour</title>
384 <p>La première étape d'une mise à jour consiste à lire l'annonce de la
385 sortie de la nouvelle version et le fichier <code>CHANGES</code>
386 dans la distribution des sources afin de déceler toutes les modifications
387 qui pourraient affecter votre site. Lors d'un changement majeur de version
388 (par exemple de 2.0 à 2.2 ou de 2.2 à 2.4),
389 il y aura certainement des différences importantes quant à la
390 configuration de la compilation et de l'exécution qui nécessiteront des
391 ajustements manuels. Tous les
392 modules devront aussi être mis à jour pour qu'ils s'adaptent aux
393 changements de l'API des modules.</p>
395 <p>La mise à jour d'une version mineure à la suivante (par exemple, de
396 2.2.55 à 2.2.57) est plus aisée. Le processus <code>make install</code>
397 n'écrasera aucun de vos documents existants, fichiers de log,
398 ou fichiers de configuration. De plus, les développeurs font tout
399 leur possible pour éviter les changements entraînant une
400 incompatibilité dans les options de
401 <program>configure</program>, la configuration de l'exécution, ou l'API
402 des modules d'une version mineure à l'autre. Dans la plupart des cas,
403 vous pourrez utiliser une ligne de commande
404 <program>configure</program> identique, le même fichier de configuration,
405 et tous vos modules continueront de fonctionner.</p>
407 <p>Pour effectuer une mise à jour entre deux versions mineures,
408 commencez par trouver le fichier
409 <code>config.nice</code> dans le répertoire de <code>construction</code>
410 de votre serveur installé ou à la racine de l'arborescence des sources
411 de votre ancienne installation. Il contient la reproduction exacte de la
412 ligne de commande <program>configure</program> que vous avez utilisée pour
413 configurer l'arborescence des sources. Ensuite, pour mettre à jour
414 l'ancienne version vers la nouvelle,
415 il vous suffit de copier le fichier <code>config.nice</code> dans
416 l'arborescence des sources de la nouvelle version, de l'éditer pour
417 effectuer toute modification souhaitée, et de lancer :</p>
420 $ ./config.nice<br />
423 $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
424 $ <em>PREFIX</em>/bin/apachectl -k start<br />
427 <note type="warning">Vous devez toujours effectuer un test de la nouvelle
428 version dans votre environnement avant de la mettre en production.
429 Par exemple, vous pouvez installer et exécuter la nouvelle version
430 en parallèle avec l'ancienne en utilisant une option
431 <code>--prefix</code> et un port différents (en ajustant la directive
432 <directive module="mpm_common">Listen</directive>) afin de déceler toute
433 incompatibilité avant d'effectuer la mise à jour définitive.</note>
435 <p>Vous pouvez ajouter des arguments supplémentaires à
436 <code>config.nice</code> ; ils seront alors ajoutés aux options de
437 votre script <program>configure</program> original :</p>
440 $ ./config.nice --prefix=/home/test/apache --with-port=90
444 <section id="thirdp"><title>Paquets tiers</title>
446 <p>De nombreux tiers fournissent leur propre distribution du
447 serveur HTTP Apache à installer sur une plate-forme particulière. On
448 peut citer les différentes distributions Linux, divers
449 paquets tiers Windows, Mac OS X, Solaris et de nombreux autres.</p>
451 <p>Notre license logicielle non seulement permet, mais aussi
452 encourage ce genre de redistribution. Cependant, ceci conduit à une
453 situation ou l'organisation de la configuration et les valeurs par
454 défaut de votre installation du serveur peuvent ne pas correspondre
455 à ce qui est écrit dans la documentation. Bien que fâcheuse, cette
456 situation n'est pas appelée à évoluer de sitôt.</p>
459 href="http://wiki.apache.org/httpd/DistrosDefaultLayout">description
460 de ces distributions tierces</a> est maintenue dans le wiki du
461 serveur HTTP, et doit en refléter l'état actuel. Vous devrez
462 cependant vous familiariser par vous-même avec la gestion du paquet
463 de votre plate-forme particulière et les procédures d'installation.</p>