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