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: 924467:927046 (outdated) -->
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 d'Apache
32 sur les systèmes Unix et similaires seulement. Pour la compilation et
33 l'installation sous Windows, voir <a
34 href="platform/windows.html">Utiliser Apache avec Microsoft
35 Windows</a>. Pour les autres plateformes, se référer à la documentation par
36 <a href="platform/">plateforme</a>.</p>
38 <p>Apache httpd utilise <code>libtool</code> et <code>autoconf</code>
39 afin de créer un environnement de construction similaire à la plupart
40 des projets Open Source .</p>
42 <p>Si vous effectuez une mise à jour depuis une version mineure vers
43 la suivante (par exemple, 2.2.50 à 2.2.51), veuillez passer à la section
44 <a href="#upgrading">mise à jour</a>.</p>
48 <seealso><a href="programs/configure.html">Configuration de l'arborescence
49 des sources</a></seealso>
50 <seealso><a href="invoking.html">Démarrer Apache</a></seealso>
51 <seealso><a href="stopping.html">Arrêt et redémarrage</a></seealso>
53 <section id="overview"><title>Aperçu pour les plus pressés</title>
56 <columnspec><column width=".13"/><column width=".80"/></columnspec>
58 <td><a href="#download">Téléchargement</a></td>
60 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
65 <td><a href="#extract">Extraction</a></td>
67 <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
68 $ tar xvf httpd-<em>NN</em>.tar<br />
69 $ cd httpd-<em>NN</em></code></td>
73 <td><a href="#configure">Configuration</a></td>
75 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
80 <td><a href="#compile">Compilation</a></td>
82 <td><code>$ make</code> </td>
86 <td><a href="#install">Installation</a></td>
88 <td><code>$ make install</code> </td>
92 <td><a href="#customize">Personnalisation</a></td>
94 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
98 <td><a href="#test">Test</a></td>
100 <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
105 <p><em>NN</em> doit être remplacé par le numéro de version courant,
106 et <em>PREFIX</em> par le
107 chemin du répertoire d'installation. Si
108 <em>PREFIX</em> n'est pas spécifié, le chemin du répertoire
109 d'installation prendra sa valeur par défaut, à savoir
110 <code>/usr/local/apache2</code>.</p>
112 <p>Chaque étape du processus de compilation et d'installation est
113 décrite plus en détails ci-dessous, à commencer par les prérequis
114 pour compiler et installer Apache httpd.</p>
117 <section id="requirements"><title>Prérequis</title>
119 <p>Les prérequis pour la construction d'Apache sont les suivants:</p>
122 <dt>Espace disque</dt>
123 <dd>Assurez-vous d'avoir au moins 50 MB d'espace disque disponible
124 temporaire. Après l'installation Apache occupe
125 approximativement 10 MB d'espace disque. L'espace disque réellement
126 nécessaire va varier considérablement en fonction de vos options
127 de configuration et de la présence éventuelle de modules tiers.</dd>
129 <dt>Compilateur ANSI-C et système de construction</dt>
130 <dd>Vous devez disposer d'un compilateur ANSI-C. Le compilateur <a
131 href="http://gcc.gnu.org/">GNU C (GCC)</a> de la <a
132 href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
133 est recommandé. Si vous ne possédez pas GCC,
134 assurez-vous au moins que votre compilateur soit compatible ANSI.
135 En outre, votre <code>PATH</code> doit contenir
136 les outils de construction de base tels que <code>make</code>.</dd>
138 <dt>Connaissance de l'heure exacte</dt>
139 <dd>Les éléments du protocole HTTP font référence à l'heure du jour.
140 Par conséquent, il est nécessaire d'équiper votre système d'un
141 dispositif de synchronisation du temps. Les programmes
142 <code>ntpdate</code> ou <code>xntpd</code>, basés sur le protocole NTP,
143 sont couramment utilisés à cet effet.
144 Voir la <a href="http://www.ntp.org">page d'accueil de NTP</a>
145 pour plus de détails à propos du logiciel NTP et des serveurs
146 de temps publics.</dd>
148 <dt><a href="http://www.perl.org/">Perl 5</a>
150 <dd>L'interpréteur Perl 5 (les versions 5.003 ou supérieures conviennent)
151 est nécessaire pour l'exécution de certains scripts comme
152 <program>apxs</program> ou <program>dbmmanage</program>
153 (qui sont écrits en Perl). Si vous disposez de plusieurs interpréteurs
154 Perl (par exemple, une installation globale Perl 4, et
155 votre installation personnelle de Perl 5), il vous faut utiliser l'option
156 <code>--with-perl</code> (voir ci-dessous) afin de vous assurer que le
157 bon interpréteur sera utilisé par <program>configure</program>.
158 Si le script <program>configure</program> ne trouve pas d'interpréteur
159 Perl 5, vous ne pourrez pas utiliser les scripts qui en ont besoin.
160 Bien entendu, vous pourrez tout de même construire et utiliser
166 <section id="download"><title>Téléchargement</title>
168 <p>Le serveur HTTP Apache peut être téléchargé à partir du
169 <a href="http://httpd.apache.org/download.cgi">site de téléchargement
170 du serveur HTTP Apache</a>, qui fournit la liste de nombreux miroirs.
171 Il sera plus commode à la plupart des utilisateurs d'Apache sur les
172 systèmes UNIX ou similaires de télécharger et de compiler
173 la version sources. Le processus de construction (décrit ci-dessous) est
174 simple, et vous permet de personnaliser votre serveur selon vos besoins.
175 En outre, les versions binaires sont souvent plus anciennes que les
176 dernières versions sources Si vous téléchargez une version binaire,
177 suivez les instructions décrites dans le fichier
178 <code>INSTALL.bindist</code> inclus dans la distribution.</p>
180 <p>Après le téléchargement, il est important de vérifier que vous
181 disposez d'une version complète et non modifiée du serveur HTTP Apache.
182 Vous pouvez le faire en testant l'archive téléchargée à l'aide de
183 la signature PGP. Vous trouverez les détails de cette opération sur la <a
184 href="http://httpd.apache.org/download.cgi#verify"
185 >page de téléchargement</a> ainsi qu'un exemple précis décrivant <a
186 href="http://httpd.apache.org/dev/verification.html">l'utilisation de
191 <section id="extract"><title>Extraction</title>
193 <p>L'extraction des sources depuis l'archive du serveur HTTP Apache consiste
194 simplement à décompresser et à désarchiver cette dernière :</p>
197 $ gzip -d httpd-<em>NN</em>.tar.gz<br />
198 $ tar xvf httpd-<em>NN</em>.tar
201 <p>Ceci créera, dans le répertoire courant, un nouveau répertoire
202 contenant le code source de la distribution. Vous devrez vous positionner
203 dans ce répertoire avant de procéder à la compilation du serveur.</p>
206 <section id="configure"><title>Configuration de l'arborescence des sources</title>
208 <p>L'étape suivante consiste à configurer l'arborescence des sources
209 d'Apache en fonction de votre plateforme et de vos besoins personnels.
210 Le script <program>configure</program>, situé à la racine du
211 répertoire de la distribution, a été conçu à cet effet.
212 (Les développeurs qui téléchargent
213 une version non officielle de l'arborescence des sources d'Apache
215 <code>autoconf</code> et <code>libtool</code> et
216 exécuter <code>buildconf</code> avant de passer à l'étape suivante,
217 ce qui n'est pas nécessaire pour les versions officielles.)</p>
219 <p>Pour configurer l'arborescence des sources avec les valeurs par défaut
220 pour toutes les options, entrez simplement <code>./configure</code>.
221 Pour modifier les valeurs des options, <program>configure</program>
222 comprend toute une variété de variables et
223 d'options de ligne de commande.</p>
225 <p>L'option la plus importante <code>--prefix</code> est le chemin
226 du répertoire d'installation d'Apache, car Apache doit être configuré
227 en fonction de ce chemin pour pouvoir fonctionner correctement.
228 Il est possible de définir plus finement le chemin d'installation des fichiers
229 à l'aide d'<a href="programs/configure.html#installationdirectories">
230 options supplémentaires de configure</a>.</p>
232 <p>À ce niveau, vous pouvez aussi spécifier de quelles <a
233 href="programs/configure.html#optionalfeatures">fonctionnalités</a> vous
234 voulez disposer dans Apache en activant ou désactivant des <a
235 href="mod/">modules</a>. Apache est fourni avec un jeu de modules de
236 <a href="mod/module-dict.html#Status">Base</a> inclus par défaut.
237 Les autres modules sont activés à l'aide de l'option
238 <code>--enable-<var>module</var></code>, où
239 <var>module</var> est le nom du module sans la chaîne
240 <code>mod_</code> et où tout caractère de soulignement est converti
241 en tiret. Vous pouvez aussi choisir de compiler les modules comme
242 <a href="dso.html">objets partagés (DSOs)</a> -- qui peuvent être chargés
243 ou déchargés à l'exécution -- à l'aide de l'option
244 <code>--enable-<var>module</var>=shared</code>. D'une manière similaire,
245 vous pouvez désactiver des modules de base à l'aide de l'option
246 <code>--disable-<var>module</var></code> option. Faites très attention
247 en utilisant ces options, car <program>configure</program> n'est pas en
248 mesure de vous avertir si le module que vous avez spécifié n'existe pas;
249 il ignorera tout simplement l'option.</p>
251 <p>En outre, vous devrez peut-être fournir au script
252 <program>configure</program> des informations supplémentaires sur
253 le chemin de votre compilateur, de vos librairies, ou de vos fichiers
254 d'en-têtes. A cet effet, vous pouvez passer des options de ligne de
255 commande ou des variables d'environnement au script
256 <program>configure</program>. Pour plus d'informations, voir la
257 page de manuel de <program>configure</program>. Ou lancez le script
258 <program>configure</program> avec l'option <code>--help</code>.
261 <p>Pour vous faire une idée des possibilités qui s'offrent à vous, voici
262 un exemple typique de compilation d'Apache avec le répertoire
263 d'installation <code>/sw/pkg/apache</code>, un compilateur et des drapeaux
264 particuliers et les deux modules additionnels <module>mod_rewrite</module>
265 et <module>mod_speling</module> qui pourront être chargés plus tard
266 à l'aide du mécanisme DSO:</p>
269 $ CC="pgcc" CFLAGS="-O2" \<br />
270 ./configure --prefix=/sw/pkg/apache \<br />
271 --enable-rewrite=shared \<br />
272 --enable-speling=shared
275 <p>Quand <program>configure</program> est lancé, il peut prendre
276 plusieurs minutes pour tester la disponibilité des fonctionnalités
277 au sein de votre système, et construire les Makefiles qui seront utilisés
278 par la suite pour compiler le serveur.</p>
280 <p>Vous trouverez une description détaillée des options de
281 <program>configure</program> dans sa page de manuel.</p>
284 <section id="compile"><title>Construction</title>
286 <p>Vous pouvez maintenant construire les différents éléments qui
287 composent le paquet Apache en lançant tout simplement la commande :</p>
289 <example>$ make</example>
291 <p>Vous devez être patient, car il faut plusieurs minutes pour compiler
292 une configuration de base, et cette durée peut varier considérablement
293 en fonction de votre matériel et du nombre de modules que vous avez activés.</p>
296 <section id="install"><title>Installation</title>
298 <p>Il est temps maintenant d'installer le paquet dans le répertoire
299 d'installation défini par <em>PREFIX</em> (voir plus haut l'option
300 <code>--prefix</code>) en lançant:</p>
302 <example>$ make install</example>
304 <p>Cette étape nécessite habituellement les privilàges
305 de root, car <em>PREFIX</em> est en général un
306 répertoire possàdant des droits en écriture
309 <p>Si vous effectuez une mise à jour, l'installation n'écrasera pas
310 vos fichiers de configuration ou autres documents.</p>
313 <section id="customize"><title>Personnalisation</title>
315 <p>Ensuite, vous pourrez personnaliser votre Serveur HTTP Apache en
316 éditant les <a href="configuring.html">fichiers de configuration</a>
317 situés dans <code><em>PREFIX</em>/conf/</code>.</p>
319 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
321 <p>Consultez le manuel d'Apache situé dans
322 <code><em>PREFIX</em>/docs/manual/</code> ou
323 <a href="http://httpd.apache.org/docs/&httpd.docs;/"
324 >http://httpd.apache.org/docs/&httpd.docs;/</a> pour la version la plus
325 récente de ce manuel et la liste complète des <a
326 href="mod/directives.html">directives de configuration</a> disponibles.</p>
329 <section id="test"><title>Test</title>
331 <p>Vous pouvez maintenant <a href="invoking.html">démarrer</a> votre
332 serveur HTTP Apache en lançant:</p>
334 <example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
336 <p>Vous devriez alors pouvoir requérir votre premier document
337 à l'aide de l'URL <code>http://localhost/</code>. La page web que vous
338 voyez est située dans le répertoire défini par la directive
339 <directive module="core">DocumentRoot</directive>,
340 qui est généralement <code><em>PREFIX</em>/htdocs/</code>.
341 Pour <a href="stopping.html">arrêter</a> le serveur, lancez:</p>
343 <example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
345 <section id="upgrading"><title>Mise à jour</title>
347 <p>La première étape d'une mise à jour consiste à lire l'annonce de la
348 sortie de la nouvelle version et le fichier <code>CHANGES</code>
349 dans la distribution des sources afin de déceler toutes les modifications
350 qui pourraient affecter votre site. Lors d'un changement majeur de version
351 (par exemple de 1.3 à 2.0 ou de 2.0 à 2.2),
352 il y aura certainement des différences importantes quant à la
353 configuration de la compilation et de l'exécution qui nécessiteront des
354 ajustements manuels. Tous les
355 modules devront aussi être mis à jour pour qu'ils s'adaptent aux
356 changements de l'API des modules.</p>
358 <p>La mise à jour d'une version mineure à la suivante (par exemple, de
359 2.2.55 à 2.2.57) est plus aisée. Le processus <code>make install</code>
360 n'écrasera aucun de vos documents existants, fichiers de log,
361 ou fichiers de configuration. De plus, les développeurs font tout
362 leur possible pour éviter les changements entraînant une
363 incompatibilité dans les options de
364 <program>configure</program>, la configuration de l'exécution, ou l'API
365 des modules d'une version mineure à l'autre. Dans la plupart des cas,
366 vous pourrez utiliser une ligne de commande
367 <program>configure</program> identique, le même fichier de configuration,
368 et tous vos modules continueront de fonctionner.</p>
370 <p>Pour effectuer une mise à jour entre deux versions mineures,
371 commencez par trouver le fichier
372 <code>config.nice</code> dans le répertoire de <code>construction</code>
373 de votre serveur installé ou à la racine de l'arborescence des sources
374 de votre ancienne installation. Il contient la reproduction exacte de la
375 ligne de commande <program>configure</program> que vous avez utilisée pour
376 configurer l'arborescence des sources. Ensuite, pour mettre à jour
377 l'ancienne version vers la nouvelle,
378 il vous suffit de copier le fichier <code>config.nice</code> dans
379 l'arborescence des sources de la nouvelle version, de l'éditer pour
380 effectuer toute modification souhaitée, et de lancer:</p>
383 $ ./config.nice<br />
386 $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
387 $ <em>PREFIX</em>/bin/apachectl -k start<br />
390 <note type="warning">Vous devez toujours effectuer un test de la nouvelle
391 version dans votre environnement avant de la mettre en production.
392 Par exemple, vous pouvez installer et exécuter la nouvelle version
393 en parallèle avec l'ancienne en utilisant une option
394 <code>--prefix</code> et un port différents (en ajustant la directive
395 <directive module="mpm_common">Listen</directive>) afin de déceler toute
396 incompatibilité avant d'effectuer la mise à jour définitive.</note>
398 <p>Vous pouvez ajouter des arguments supplémentaires à
399 <code>config.nice</code> ; ils seront alors ajoutés aux options de
400 votre script <program>configure</program> original :</p>
403 $ ./config.nice --prefix=/home/test/apache --with-port=90