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 <!-- English Revision: 105989:151408 (outdated) -->
7 Copyright 2004-2005 The Apache Software Foundation or its licensors,
10 Licensed under the Apache License, Version 2.0 (the "License");
11 you may not use this file except in compliance with the License.
12 You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <manualpage metafile="install.xml.meta">
25 <title>Compilation et Installation</title>
29 <p>Ce document couvre la compilation et l'installation d'Apache sur les
30 systèmes Unix et clones d'Unix. Pour la compilation et l'installation sous
31 Windows, voir <a href="platform/windows.html">Utiliser Apache sous Windows
32 </a>. Pour les autres plates-formes, voir la documentation des <a
33 href="platform/">plates-formes</a>.</p>
35 <p>L'environnement de configuration et d'installation d'Apache 2.0 a été
36 complétement revu par rapport à celui d'Apache 1.3. Apache 1.3 utilisait un
37 ensemble de scripts pour permettre une installation facile. Apache 2.0
38 utilise à présent <code>libtool</code> et <code>autoconf</code> afin de
39 créer un environnement le plus proche possible d'autres projets
42 <p>Si vous faite une mise à niveau d'une version mineure à la suivante (par
43 exemple, de 2.0.50 à 2.0.51), veuillez s'il vous plaît passer directement à
44 la section <a href="#upgrading">Mise à niveau</a>.</p>
48 <seealso><a href="programs/configure.html">Configurer l'arborescence source</a></seealso>
49 <seealso><a href="invoking.html">Démarrage d'Apache</a></seealso>
50 <seealso><a href="stopping.html">Arrêt et Redémarrage</a></seealso>
52 <section id="overview"><title>Survol Rapide pour les
56 <columnspec><column width=".13"/><column width=".80"/></columnspec>
58 <td><a href="#download">Télécharger</a></td>
60 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
65 <td><a href="#extract">Extraire</a></td>
67 <td><code>$ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
68 $ tar xvf httpd-2_1_<em>NN</em>.tar</code> </td>
72 <td><a href="#configure">Configurer</a></td>
74 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
79 <td><a href="#compile">Compiler</a></td>
81 <td><code>$ make</code> </td>
85 <td><a href="#install">Installer</a></td>
87 <td><code>$ make install</code> </td>
91 <td><a href="#customize">Personnaliser</a></td>
93 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
97 <td><a href="#test">Tester</a></td>
99 <td><code>$ <em>PREFIX</em>/bin/apachectl start</code>
104 <p><em>NN</em> doit être remplacé par le numéro de version mineure actuel, et
105 <em>PREFIX</em> par le chemin où le serveur doit être installé. Si
106 <em>PREFIX</em> n'est pas spécifié, l'installation se fait dans
107 <code>/usr/local/apache2</code>.</p>
109 <p>Chacune des sections du processus de compilation et d'installation est
110 décrite ci-après, en commençant par les pré-requis à la compilation et à
111 l'installation d'Apache HTTPD.</p>
114 <section id="requirements"><title>Pré-requis</title>
116 <p>Les pré-requis suivants sont nécessaire pour l'installation d'Apache:</p>
119 <dt>Espace Disque</dt>
120 <dd>Au moins 50 Mo d'espace disque temporaire sont nécessaires. Après
121 installation, Apache occupe environ 10 Mo sur le disque. L'espace disque
122 occupé par une installation complète dépend beaucoup de la configuration
123 du serveur, ainsi que de la présence éventuelle de modules tiers.</dd>
125 <dt>Compilateur C ANSI et Build</dt>
126 <dd>Un compilateur C ANSI doit être utilisé. Le <a
127 href="http://www.gnu.org/software/gcc/gcc.html">compilateur C GNU
128 (GCC)</a> de la <a href="http://www.gnu.org/">Free Software Foundation
129 (FSF)</a> est recommandé (la version 2.7.2 convient). En cas
130 d'absence de GCC, vérifiez que le compilateur fourni avec l'architecture
131 utilisée est conforme aux normes ANSI. De plus, les outils de constructions
132 de base, tel <code>make</code>, doivent être présents dans votre
133 <code>PATH</code>.</dd>
135 <dt>S'assurer que la machine est et reste à l'heure</dt>
136 <dd>Certains éléments du protocole HTTP sont exprimés en tant qu'heure de
137 la journée. Aussi est-il important de s'assurer que le système où Apache
138 doit tourner dispose de mécanismes de synchronisation temporelle. En
139 général, les programmes <code>ntpdate</code> ou <code>xntpd</code> sont
140 utilisés; ces programmes implémentent le Network Time Protocol (NTP).
141 Voir le groupe Usenet <a
142 href="news:comp.protocols.time.ntp">comp.protocols.time.ntp</a> et la <a
143 href="http://www.eecis.udel.edu/~ntp/">page NTP</a> pour plus de détails
144 sur les logiciels NTP et les serveurs de temps publics.</dd>
146 <dt><a href="http://www.perl.org/">Perl 5</a>
148 <dd>Certains des scripts fournis avec Apache, tel <a
149 href="programs/apxs.html">apxs</a> ou <a
150 href="programs/dbmmanage.html">dbmmanage</a> (qui sont écrits en
151 Perl) nécessitent l'interpréteur Perl 5 (version 5.003 ou supérieure).
152 Au cas où le script <code>configure</code> ne trouve pas d'interpréteur
153 Perl, la compilation sera quand même réalisée sans souci. Seuls ces
154 scripts ne seront pas utilisables. Si plusieurs interpréteurs Perl sont
155 installés (par exemple, Perl 4 fourni avec l'OS, et Perl 5 installé par
156 l'administrateur), il est conseillé de passer l'option
157 <code>--with-perl</code> afin de garantir que le bon interpréteur est
158 utilisé par <code>./configure</code>.</dd>
162 <section id="download"><title>Télécharger</title>
164 <p>Apache est téléchargeable depuis le <a
165 href="http://httpd.apache.org/download.cgi">site de téléchargement
166 d'Apache</a> qui fournit la liste de plusieurs miroirs. Là sont disponibles
167 les dernières versions. La plupart des
168 utilisateurs d'Apache sur des systèmes de type Unix devraient
169 probablement télécharger et compiler une version à partir du code source.
170 Le processus de construction (décrit ci-dessous) est facile et
171 vous permet d'adapter votre serveur pour convenir à vos besoins.
172 En outre, les versions binaires ne sont souvent pas à jour avec
173 les dernières versions du code source. Si vous téléchargez une
174 version binaire, suivez les instructions dans le dossier
175 <code>INSTALL.bindist</code> à l'intérieur de la distribution.</p>
177 <p>Après le téléchargement, il est important de vérifier que les sources
178 téléchargées sont bien complètes et non modifiées, et ce surtout si un
179 miroir a été utilisé pour le téléchargement. Ceci peut être fait en
180 testant l'archive tar téléchargée avec la signature PGP. Cette procédure
181 s'effectue en 2 étapes. D'abord, il faut récupérer le fichier <a
182 href="http://www.apache.org/dist/httpd/KEYS"><code>KEYS</code></a> du site
183 de distribution d'Apache. (Pour vérifier que ce fichier <code>KEYS</code>
184 n'a pas été modifié, une bonne idée peut être d'utiliser un fichier d'une
185 distribution précédente d'Apache ou d'importer les clés d'un serveur de
186 clés public.) Les clés peuvent être importées dans le keyring de
187 l'utilisateur au moyen d'une des commandes (selon la version de PGP):</p>
189 <example>$ pgp < KEYS</example>
193 <example>$ gpg --import KEYS</example>
195 <p>La prochaine étape est de tester l'archive tar au moyen de la signature
196 PGP, qui devrait toujours être disponible sur le <a
197 href="http://httpd.apache.org/download.cgi">site principal d'Apache</a>.
198 Un lien vers cette signature est placé derrière le lien de téléchargement
199 correspondant ou peut être trouvé dans le répertoire correspondant sur <a
200 href="http://www.apache.org/dist/httpd/">le site de distribution
201 d'Apache</a>. Le nom de ce fichier est le même que celui de l'archive
202 source, avec en plus l'extension <code>.asc</code>. La distribution
203 téléchargée peut alors être vérifiée au moyen de la commande (à nouveau,
204 selon la version de PGP):</p>
206 <example>$ pgp httpd-2_1_<em>NN</em>.tar.gz.asc</example>
210 <example>$ gpg --verify httpd-2_1_<em>NN</em>.tar.gz.asc</example>
212 <p>Un message comme celui-ci devrait s'afficher</p>
214 <example>Good signature from user "Martin Kraemer
215 <martin@apache.org>".</example>
217 <p>Selon les relations de confiances contenues dans le keyring de
218 l'utilisateur, un message peut s'afficher, spécifiant que la relation entre
219 la clé et le signataire ne peut être vérifiée. Ceci n'est pas un problème si
220 vous ne mettez pas en doute l'authenticité du fichier <code>KEYS</code>.</p>
223 <section id="extract"><title>Extraire</title>
225 <p>Extraire les sources à partir de l'archive tar est une simple affaire de
226 décompression et d'extraction tar:</p>
229 $ gzip -d httpd-2_1_<em>NN</em>.tar.gz<br />
230 $ tar xvf httpd-2_1_<em>NN</em>.tar
233 <p>Un nouveau répertoire est créé dans le répertoire courant, il contient le
234 code source de la distribution. Il faut aller dans ce répertoire au moyen
235 de la commande <code>cd</code> avant de commencer la compilation du
239 <section id="configure"><title>Configurer l'arborescence source</title>
241 <p>L'étape suivante est la configuration de l'arborescence source d'Apache,
242 pour votre plate-forme et selon les nécessités du site. Cette configuration est
243 réalisée au moyen du script <code>configure</code> fourni dans le
244 répertoire racine de la distribution. (Les développeurs qui téléchargent
245 Apache via CVS devront utiliser les outils <code>autoconf</code> et
246 <code>libtool</code> avant de passer à la suite. Ceci n'est pas nécessaire
247 pour les versions officielles.)</p>
249 <p>Pour configurer l'arborescence source en utilisant les options par
250 défaut, tapez <code>./configure</code>. Pour modifier les valeurs des
251 options par défaut, <code>configure</code> accepte un grand nombre de
252 variables et d'options de ligne de commande. </p>
254 <p>La plus importante de ces options est le chemin du répertoire où
255 Apache sera installé,
256 car Apache doit être configuré pour que cet emplacement fonctionne
257 correctement. Plusieurs autres options sont disponibles pour
258 le contrôle fin de l'emplacement des fichiers résultants avec <a
259 href="programs/configure.html#installationdirectories">options de
260 configuration</a>.</p>
262 <p>En outre, à ce moment, vous pouvez indiquer quels <a
263 href="programs/configure.html#optionalfeatures">fonctionnalités</a>
264 vous voulez inclure dans Apache en ajoutant et/ou en retranchant
265 des <a href="mod/">modules</a>. Apache vient avec un ensemble
266 de modules de <a href="mod/module-dict.html#Status">Base</a>
267 inclus par défaut. D'autres modules peuvent être ajoutés en utilisant
268 l'option <code>--enable-<var>module</var></code>, où
269 <var>module</var> est le nom du module avec la chaîne
270 <code>mod_</code> coupée et avec les caractères de soulignement
271 convertis en tirets. Vous pouvez également choisir de compiler
272 des modules en tant qu'<a href="dso.html">objets partagés (DSOs)</a>,
273 qui peuvent être chargés ou déchargé à l'exécution -- en employant
274 l'option <code>--enable-<var>module</var>=shared</code>.
275 De même, vous pouvez retrancher les modules de Base avec l'option
276 <code>--disable-<var>module</var></code>. Prenez garde lorsque
277 vous employez ces options, puisque <code>configure</code> ne peut
278 vous informer si le module cible n'existe pas; <code>configure</code>
279 ignorera simplement l'option.</p>
281 <p>Il est parfois nécessaire de fournir des
282 informations supplémentaires au script
283 <code>configure</code> sur l'emplacement de vos
284 compilateur, bibliothèques ou dossiers d'en-tête. Ceci se fait en
285 passant les variables d'environnement ou des options incluses sur la ligne
286 de commande à <code>configure</code>. Pour plus d'information
287 sur ce sujet, consultez la page de documentation
288 <a href="programs/configure.html">configurer</a>.</p>
290 <p>L'exemple suivant compile Apache pour être installé
291 dans <code>/sw/pkg/apache</code> avec un
292 compilateur et des options de compilation particulières, ainsi que les deux
293 modules <module>mod_rewrite</module> et <module>mod_speling</module>, qui
294 pourront être chargés plus tard au moyen des mécanismes DSO:</p>
297 $ CC="pgcc" CFLAGS="-O2" \<br />
298 ./configure --prefix=/sw/pkg/apache \<br />
299 --enable-rewrite=shared \<br />
300 --enable-speling=shared
303 <p>Une fois lancé, <code>configure</code> peut prendre quelques minutes
304 pour tester les possibilités du système et produire les fichiers
305 <code>Makefile</code> qui seront utilisés pour construire le serveur.</p>
307 <p>Les détails de toutes les options <code>configure</code> sont
308 disponibles sur la page de documentation <a href="programs/configure.html">configurer</a>.</p>
311 <section id="compile"><title>Compiler</title>
313 <p>Les différents composants d'Apache sont à présent prêts à
314 être compilés, en tapant simplement la commande:</p>
316 <example>$ make</example>
318 <p>Un peu de patience est requise, une configuration standard met environ 3
319 minutes à compiler sur un Pentium III sous Linux 2.2. Ce temps peut
320 varier largement suivant le matériel utilisé et les modules
321 selectionnés.</p>
324 <section id="install"><title>Installer</title>
326 <p>Il est temps d'installer le 'package' dans le répertoire d'installation
327 <em>PREFIX</em> configuré auparavant (voir l'option <code>--prefix</code>
328 ci-dessus) en tapant:</p>
330 <example>$ make install</example>
332 <p>En cas de mise à jour, l'installation n'écrasera ni les fichiers de
333 configuration du serveur, ni ses documents.</p>
336 <section id="customize"><title>Personnaliser la Configuration</title>
338 <p>Il reste à présent à configurer le serveur HTTP Apache, en éditant les
339 <a href="configuring.html">fichiers de configuration</a> placés dans
340 <code><em>PREFIX</em>/conf/</code>.</p>
342 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
344 <p>A consulter : le manuel d'Apache dans
345 <a href="./">docs/manual/</a> ou bien <a
346 href="http://httpd.apache.org/docs-2.1/"
347 >http://httpd.apache.org/docs-2.1/</a> pour la dernière version de ce
348 manuel, ainsi qu'une référence complète de toutes les
349 <a href="mod/directives.html">directives de configuration</a>.</p>
352 <section id="test"><title>Tester</title>
354 <p>Une fois configuré, le serveur HTTP Apache peut être
355 <a href="invoking.html">démarré</a> en tapant:</p>
357 <example>$ <em>PREFIX</em>/bin/apachectl start</example>
359 <p>Vous devriez alors pouvoir tester l'URL <code>http://localhost/</code>.
360 La page affichée se trouve dans le répertoire
361 <directive module="core">DocumentRoot</directive>, habituellement configuré
362 en tant que <code><em>PREFIX</em>/htdocs/</code>.
363 Le serveur peut être <a href="stopping.html">arrêté</a> en tapant:</p>
365 <example>$ <em>PREFIX</em>/bin/apachectl stop</example>
368 <section id="upgrading"><title>Mise à niveau</title>
370 <p>La première étape pour une mise à niveau est de lire
371 l'annonce de la nouvelle version et le fichier <code>CHANGES</code>
372 dans la distribution afin de trouver tous les changements qui
373 peuvent affecter votre site. Si la mise à jour est effectuée
374 entre deux versions principales (par exemple, de 1.3 à 2.0 ou
375 de 2.0 à 2.2), attendez-vous à des différences majeures
376 au moment de la compilation et de l'exécution, exigeant probablement
377 des ajustements manuels. Tous les modules devront également
378 être mis à niveau pour tenir compte des changements de l'API.</p>
380 <p>La mise à niveau d'une version mineure à une plus récente
381 (par exemple, de 2.0.55 à 2.0.57) est plus facile. Le processus
382 <code>make install</code> n'écrasera aucun de vos documents,
383 fichiers journaux, ou fichiers de configuration existants.
384 En outre, les développeurs font tous les efforts possibles
385 pour éviter les changements incompatibles des options
386 <code>configure</code>, de la configuration d'exécution,
387 ou de l'API entre les versions mineures. Dans la plupart
388 des cas vous devriez pouvoir employer une ligne de commande
389 <code>configure</code> et un fichier de configuration
390 identiques. De plus, tous vos modules devraient continuer à fonctionner.
391 (Ceci ne vaut que pour les versions postérieures à 2.0.41;
392 les versions antérieures ont des changements incompatibles.)</p>
394 <p>Si vous avez gardé l'arborescence source de votre dernière
395 installation, la mise à niveau est encore plus facile.
396 Le dossier <code>config.nice</code> dans la racine de l'ancienne
397 arborescence contient la ligne de commande <code>configure</code>
398 exacte que vous avez utilisée pour configurer l'arborescence des
399 sources. Pour faire la mise à niveau d'une version à la suivante,
400 vous devez copier le dossier <code>config.nice</code> dans
401 l'arborescence des sources de la nouvelle version, l'éditer
402 pour faire les changements désirés, puis exécuter:</p>
405 $ ./config.nice<br />
408 $ <em>PREFIX</em>/bin/apachectl stop<br />
409 $ <em>PREFIX</em>/bin/apachectl start<br />
412 <note type="warning">Vous devriez toujours essayer une
413 nouvelle version dans un environnement de test avant de la
414 mettre dans un environnement de production. Par exemple, vous pouvez
415 installer et exécuter la nouvelle version côte à côte avec l'ancienne
416 en employant un <code>--prefix</code> et un port différents
417 (ce qui est possible en ajustant la directive <directive module="mpm_common">Listen</directive>)
418 dans le but de tester toutes les incompatibilités possibles avant de
419 faire la mise à niveau finale.</note>