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
|
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.fr.xsl"?>
<!-- French translation : Lucien GENTIS -->
<!-- Reviewed by : Vincent Deffontaines -->
<!-- English Revision : 1174747 -->
<!--
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="upgrading.xml.meta">
<title>Mise à jour de la version 2.2 vers la version 2.4</title>
<summary>
<p>Afin d'assister les utilisateurs lors de leurs opérations de mise à
jour, nous maintenons un document
qui comporte des informations critiques à l'attention des personnes qui
utilisent déjà le serveur HTTP Apache. Ces informations
ne sont que de brèves notes, et vous
trouverez plus d'informations dans le document <a
href="new_features_2_4.html">Nouvelles fonctionnalités</a>, ou dans
le fichier <code>src/CHANGES</code>. Les développeurs d'applications
et de modules trouveront un résumé des modifications de l'API dans la
vue d'ensemble <a href="developer/new_api_2_4.html">Mises à jour de
l'API</a>.</p>
<p>Ce document présente les changements de comportement du serveur qui
peuvent nécessiter une modification de la configuration, et la manière
d'utiliser la version 2.4 du serveur en parallèle avec la
version 2.2. Pour tirer parti des nouvelles fonctionnalités de la
version 2.4, reportez-vous au document "Nouvelles fonctionnalités".</p>
<p>Ce document ne décrit que les modifications intervenues entre les versions
2.2 et 2.4. Si vous effectuez une mise à jour depuis la version 2.0, vous
devez aussi consulter le
<a href="http://httpd.apache.org/docs/2.2/upgrading.html">document de mise
à jour de 2.0 vers 2.2.</a></p>
</summary>
<seealso><a href="new_features_2_4.html">Vue d'ensemble des nouvelles
fonctionnalités du serveur HTTP Apache 2.4</a></seealso>
<section id="compile-time">
<title>Modifications des paramètres de compilation</title>
<p>Le processus de compilation est très similaire à celui de la
version 2.2. Dans la plupart des cas, vous pourrez utiliser votre
ancienne ligne de commande <code>configure</code> (telle qu'elle
est enregistrée dans le fichier <code>build/config.nice</code>
situé dans le répertoire de compilation du serveur). Voici certains
changements intervenus dans la configuration par défaut :</p>
<ul>
<li>Les modules suivants ont été supprimés : mod_authn_default,
mod_authz_default et mod_mem_cache. Si vous utilisiez
mod_mem_cache sous la version 2.2, vous devez maintenant utiliser
<module>mod_cache_disk</module> dans la version 2.4.</li>
<li>Toutes les implémentations de répartition de charge ont été
déplacées vers des sous-modules spécifiques de mod_proxy, comme
<module>mod_lbmethod_bybusyness</module>. Vous devrez compiler et
chargés tous les modules correspondants que votre configuration
utilise.</li>
<li>Le support de BeOS, TPF, et des anciennes plates-formes telles
que A/UX, Next, et Tandem a été supprimé, car
elles ne sont plus considérées comme maintenues.</li>
<li>configure: les modules dynamiques (DSO) sont compilés par
défaut</li>
<li>configure: le jeu de modules "most" est compilé par défaut</li>
</ul>
</section>
<section id="run-time">
<title>Modifications de la configuration à l'exécution</title>
<p>Des changements significatifs dans la configuration de
l'autorisation, ainsi que quelques changements mineurs, peuvent
nécessiter une mise à jour des fichiers de configuration de la version
2.2 avant de les utiliser sous la version 2.4.</p>
<section id="authz">
<title>Autorisation</title>
<p>Tout fichier de configuration qui gère des autorisations devra
probablement être mis à jour.</p>
<p>Vous devez vous reporter au document <a
href="howto/auth.html">Authentification, autorisation et contrôle
d'accès</a>, et plus particulièrement à la section <a
href="howto/auth.html#beyond">Plus loin qu'une simple
autorisation</a> qui explique les nouveaux mécanismes permettant de
contrôler l'ordre dans lequel les directives d'autorisation sont
appliquées.</p>
<section id="access">
<title>Contrôle d'accès</title>
<p>Dans la version 2.2, le contrôle d'accès basé sur le nom d'hôte
du client, son adresse IP, ou d'autres caractéristiques de la
requête était assuré via les directives <directive
module="mod_access_compat">Order</directive>, <directive
module="mod_access_compat">Allow</directive>, <directive
module="mod_access_compat">Deny</directive>, et <directive
module="mod_access_compat">Satisfy</directive>.</p>
<p>Dans la version 2.4, ce contrôle d'accès est assuré, comme tout
contrôle d'autorisation, via le nouveau module
<module>mod_authz_host</module>. Bien que le module
<module>mod_access_compat</module> soit fourni à des fins de
compatibilité avec les anciennes configurations, les anciennes
directives de contrôle d'accès devront être remplacées par les
nouveaux mécanismes d'authentification.</p>
<p>Voici quelques exemples de contrôle d'accès avec l'ancienne et
la nouvelle méthode :</p>
<p>Dans cet exemple, toutes les requêtes sont rejetées :</p>
<example>
<title>version 2.2 :</title>
Order deny,allow<br />
Deny from all
</example>
<example>
<title>version 2.4 :</title>
Require all denied
</example>
<p>Dans cet exemple, toutes les requêtes sont acceptées :</p>
<example>
<title>version 2.2 :</title>
Order allow,deny<br />
Allow from all
</example>
<example>
<title>version 2.4 :</title>
Require all granted
</example>
<p>Dans l'exemple suivant, tous les hôtes du domaine example.org
ont l'autorisation d'accès, tous les autres sont rejetés :</p>
<example>
<title>version 2.2 :</title>
Order Deny,Allow<br />
Deny from all<br />
Allow from example.org
</example>
<example>
<title>version 2.4 :</title>
Require host example.org
</example>
</section>
</section>
<section id="config">
<title>Autres changements dans la configuration</title>
<p>D'autres ajustements mineurs peuvent s'avérer nécessaires pour
certaines configurations particulières, comme décrit ci-dessous.</p>
<ul>
<li><directive>MaxRequestsPerChild</directive> a été renommée en
<directive module="mpm_common">MaxConnectionsPerChild</directive>;
ce nouveau nom reflète mieux l'usage de cette directive.
L'ancien nom est encore supporté.</li>
<li>La directive <directive>MaxClients</directive> a
été renommée en <directive
module="mpm_common">MaxRequestWorkers</directive>; ce nouveau
nom reflète mieux l'usage de cette directive. Pour les
modules multiprocessus asynchrones, comme <module>event</module>, le nombre
maximal de clients n'est pas équivalent au nombre de threads du
worker. L'ancien nom est encore supporté.</li>
<li>La directive <directive
module="core">DefaultType</directive> ne produit plus aucun
effet, si ce n'est d'émettre un avertissement si elle est
définie à une valeur autre que <code>none</code>. D'autres
directives de configuration la remplacent dans la version 2.4.
</li>
<li>La valeur par défaut de la directive <directive
module="core">EnableSendfile</directive> est maintenant Off.</li>
<li><module>mod_log_config</module>: <a
href="modules/mod_log_config.html#formats">${cookie}C</a>
correspond au nom du cookie dans son ensemble, alors qu'avant,
toute sous-chaîne pouvait correspondre.</li>
<li><module>mod_dav_fs</module>: le format du fichier <directive
module="mod_dav_fs">DavLockDB</directive> a changé pour les systèmes
avec inodes. L'ancien fichier <directive
module="mod_dav_fs">DavLockDB</directive> doit être supprimé dans le
cadre de la mise à jour.
</li>
<li>La directive <directive module="core">KeepAlive</directive>
n'accepte que les valeurs <code>On</code> ou <code>Off</code>.
Avant, toute valeur autre que "Off" ou "0" était traitée comme
"On".</li>
<li>Les directives AcceptMutex, LockFile, RewriteLock, SSLMutex,
SSLStaplingMutex et WatchdogMutexPath ont été remplacées par la
directive unique <directive module="core">Mutex</directive>.
Vous devez évaluer l'impact de ces directives obsolètes dans
votre configuration version 2.2 afin de déterminer si elles
peuvent être simplement supprimées, ou si elles doivent être
remplacées par la directive <directive
module="core">Mutex</directive>.</li>
<li><module>mod_cache</module>: la directive <directive
module="mod_cache">CacheIgnoreURLSessionIdentifiers</directive>
effectue maintenant une correspondance exacte dans la chaîne de
paramètres au lieu d'une correspondance partielle. Si votre
configuration mettait en jeu des sous-chaînes comme
<code>sessionid</code> pour correspondre à
<code>/une-application/image.gif;jsessionid=123456789</code>,
vous devez maintenant utiliser la chaîne de correspondance
complète <code>jsessionid</code>.
</li>
<li><module>mod_ldap</module>: la directive <directive
module="mod_ldap">LDAPTrustedClientCert</directive> s'utilise
maintenant exclusivement au sein d'une configuration de niveau
répertoire. Si vous utilisez cette directive, passez en revue
votre configuration pour vous assurer qu'elle est bien présente
dans tous les contextes de répertoire nécessaires.</li>
<li><module>mod_filter</module>: la syntaxe de la directive
<directive module="mod_filter">FilterProvider</directive> utilise
maintenant une expression booléenne pour déterminer si un filtre
s'applique.
</li>
<li><module>mod_include</module>:
<ul>
<li>L'élément <code>#if expr</code> utilise maintenant le
nouvel <a href="expr.html">interpréteur d'expressions</a>.
L'ancienne syntaxe peut être réactivée via la directive
<directive
module="mod_include">SSILegacyExprParser</directive>.
</li>
<li>Dans la portée du répertoire, une directive de
configuration SSI* ne provoque plus la réinitialisation à
leur valeur par défaut de toutes les directives SSI* de
niveau répertoire.</li>
</ul>
</li>
<li><module>mod_charset_lite</module> : l'option
<code>DebugLevel</code> a été supprimée en faveur d'une
configuration de la directive <directive
module="core">LogLevel</directive> au niveau répertoire.
</li>
<li><module>mod_ext-filter</module> : l'option
<code>DebugLevel</code> a été supprimée en faveur d'une
configuration de la directive <directive
module="core">LogLevel</directive> au niveau répertoire.
</li>
</ul>
</section>
</section>
<section id="misc">
<title>Changements divers</title>
<ul>
<li><module>mod_auto_index</module>: extrait maintenant les titres
et affiche la description pour les fichiers .xhtml qui étaient
jusqu'alors ignorés.</li>
<li><module>mod_ssl</module> : le format par défaut des variables
<code>*_DN</code> a changé. Il est cependant encore possible
d'utiliser l'ancien format via la nouvelle option
<code>LegacyDNStringFormat</code> de la directive <directive
module="mod_ssl">SSLOptions</directive>.</li>
<li><program>htpasswd</program> utilise maintenant par défaut les
condensés MD5 sur toutes les plates-formes.</li>
<li>La directive <directive
module="core">NameVirtualHost</directive> n'a plus aucun effet, si
ce n'est l'émission d'un avertissement. Toute combinaison
adresse/port apparaissant dans plusieurs serveurs virtuels est
traitée implicitement comme un serveur virtuel basé sur le nom.
</li>
<li><module>mod_deflate</module> n'effectue plus de compression
s'il s'aperçoit que la quantité de données ajoutée par la
compression est supérieure à la quantité de données à compresser.
</li>
</ul>
</section>
<section id="third-party">
<title>Modules tiers</title>
<p>Tous les modules tiers doivent être recompilés pour la
version 2.4 avant d'être chargés.</p>
<p>De nombreux modules tiers conçus pour la version 2.2
fonctionneront sans changement avec le serveur HTTP Apache
version 2.4. Certains nécessiterons cependant des modifications ; se
reporter à la vue d'ensemble <a
href="developer/new_api_2_4.html">Mise à jour de l'API</a>.</p>
</section>
<section id="commonproblems">
<title>Problèmes de mise à jour courants</title>
<ul><li>Erreurs au démarrage :
<ul>
<li><code>Invalid command 'User', perhaps misspelled or defined by
a module not included in the server configuration</code> - chargez
le module <module>mod_unixd</module></li>
<li><code>Invalid command 'Require', perhaps misspelled or defined
by a module not included in the server configuration</code>, ou
<code>Invalid command 'Order', perhaps misspelled or defined by a
module not included in the server configuration</code> - chargez
le module <module>mod_access_compat</module>, ou mettez à jour
vers la version 2.4 les directives d'autorisation.</li>
<li><code>mixing * ports and non-* ports with a NameVirtualHost address is not supported</code>, <code>Either NameVirtualHost w.x.y.z:n has no VirtualHosts, or there is more than one identical NameVirtualHost line, or your VirtualHost declarations do not match the NameVirtualHost line</code> - ces messages ne sont pas nouveaux, mais ils bloquent désormais le démarrage en générant une erreur</li>
<li><code>_default_ is not allowed in NameVirtualHost directive</code> - ceci a toujours été le cas, mais à présent cette erreur bloque le démarrage du serveur.</li>
<li><code>Ignoring deprecated use of DefaultType in line NN of
/path/to/httpd.conf</code> - supprimez la directive <directive
module="core">DefaultType</directive> et remplacez-la par les
directives de configuration appropriées.</li>
<li><code>mixing * ports and non-* ports with a NameVirtualHost
address is not supported</code>, <code>Either NameVirtualHost
w.x.y.z:n has no VirtualHosts, or there is more than one identical
NameVirtualHost line, or your VirtualHost declarations do not
match the NameVirtualHost line</code> -
ce ne sont pas des nouveaux messages, mais ils empêchent
maintenant le serveur de démarrer</li>
<li><code>_default_ is not allowed in NameVirtualHost
directive</code> - l'explication est dans le message ; cette
définition n'a jamais été valide, mais elle empêche maintenant le
serveur de démarrer.</li>
</ul></li>
<li>Erreurs de traitement des requêtes :
<ul>
<li><code>configuration error: couldn't check user: /path</code> -
chargez le module <module>mod_authn_core</module>.</li>
</ul>
</li>
</ul>
</section>
</manualpage>
|