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 : 1375996 -->
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="upgrading.xml.meta">
27 <title>Mise à jour de la version 2.2 vers la version 2.4</title>
30 <p>Afin d'assister les utilisateurs lors de leurs opérations de mise à
31 jour, nous maintenons un document
32 qui comporte des informations critiques à l'attention des personnes qui
33 utilisent déjà le serveur HTTP Apache. Ces informations
34 ne sont que de brèves notes, et vous
35 trouverez plus d'informations dans le document <a
36 href="new_features_2_4.html">Nouvelles fonctionnalités</a>, ou dans
37 le fichier <code>src/CHANGES</code>. Les développeurs d'applications
38 et de modules trouveront un résumé des modifications de l'API dans la
39 vue d'ensemble <a href="developer/new_api_2_4.html">Mises à jour de
42 <p>Ce document présente les changements de comportement du serveur qui
43 peuvent nécessiter une modification de la configuration, et la manière
44 d'utiliser la version 2.4 du serveur en parallèle avec la
45 version 2.2. Pour tirer parti des nouvelles fonctionnalités de la
46 version 2.4, reportez-vous au document "Nouvelles fonctionnalités".</p>
48 <p>Ce document ne décrit que les modifications intervenues entre les versions
49 2.2 et 2.4. Si vous effectuez une mise à jour depuis la version 2.0, vous
50 devez aussi consulter le
51 <a href="http://httpd.apache.org/docs/2.2/upgrading.html">document de mise
52 à jour de 2.0 vers 2.2.</a></p>
55 <seealso><a href="new_features_2_4.html">Vue d'ensemble des nouvelles
56 fonctionnalités du serveur HTTP Apache 2.4</a></seealso>
58 <section id="compile-time">
59 <title>Modifications des paramètres de compilation</title>
60 <p>Le processus de compilation est très similaire à celui de la
61 version 2.2. Dans la plupart des cas, vous pourrez utiliser votre
62 ancienne ligne de commande <code>configure</code> (telle qu'elle
63 est enregistrée dans le fichier <code>build/config.nice</code>
64 situé dans le répertoire de compilation du serveur). Voici certains
65 changements intervenus dans la configuration par défaut :</p>
68 <li>Les modules suivants ont été supprimés : mod_authn_default,
69 mod_authz_default et mod_mem_cache. Si vous utilisiez
70 mod_mem_cache sous la version 2.2, vous devez maintenant utiliser
71 <module>mod_cache_disk</module> dans la version 2.4.</li>
73 <li>Toutes les implémentations de répartition de charge ont été
74 déplacées vers des sous-modules spécifiques de mod_proxy, comme
75 <module>mod_lbmethod_bybusyness</module>. Vous devrez compiler et
76 chargés tous les modules correspondants que votre configuration
79 <li>Le support de BeOS, TPF, et des anciennes plates-formes telles
80 que A/UX, Next, et Tandem a été supprimé, car
81 elles ne sont plus considérées comme maintenues.</li>
83 <li>configure: les modules dynamiques (DSO) sont compilés par
86 <li>configure: par défaut, seul un jeu de modules de base est
87 chargé. Les autres directives <directive>LoadModule</directive>
88 sont mises en commentaires.</li>
90 <li>configure: le jeu de modules "most" est compilé par défaut</li>
92 <li>configure: le jeu de modules "reallyall" ajoute les modules de
93 développeur au jeu "all".</li>
98 <section id="run-time">
99 <title>Modifications de la configuration à l'exécution</title>
100 <p>Des changements significatifs dans la configuration de
101 l'autorisation, ainsi que quelques changements mineurs, peuvent
102 nécessiter une mise à jour des fichiers de configuration de la version
103 2.2 avant de les utiliser sous la version 2.4.</p>
106 <title>Autorisation</title>
108 <p>Tout fichier de configuration qui gère des autorisations devra
109 probablement être mis à jour.</p>
111 <p>Vous devez vous reporter au document <a
112 href="howto/auth.html">Authentification, autorisation et contrôle
113 d'accès</a>, et plus particulièrement à la section <a
114 href="howto/auth.html#beyond">Plus loin qu'une simple
115 autorisation</a> qui explique les nouveaux mécanismes permettant de
116 contrôler l'ordre dans lequel les directives d'autorisation sont
117 appliquées.</p>
119 <p>Les directives qui contrôlent la manière dont les modules
120 d'autorisation réagissent lorsqu'ils ne reconnaissent pas
121 l'utilisateur authentifié ont été supprimées : elles comprennent les
122 directives AuthzLDAPAuthoritative, AuthzDBDAuthoritative,
123 AuthzDBMAuthoritative, AuthzGroupFileAuthoritative,
124 AuthzUserAuthoritative et AuthzOwnerAuthoritative. Ces directives
125 ont été remplacées par les directives plus explicites <directive
126 module="mod_authz_core">RequireAny</directive>, <directive
127 module="mod_authz_core">RequireNone</directive>, et <directive
128 module="mod_authz_core">RequireAall</directive>.</p>
130 <section id="access">
131 <title>Contrôle d'accès</title>
133 <p>Dans la version 2.2, le contrôle d'accès basé sur le nom d'hôte
134 du client, son adresse IP, ou d'autres caractéristiques de la
135 requête était assuré via les directives <directive
136 module="mod_access_compat">Order</directive>, <directive
137 module="mod_access_compat">Allow</directive>, <directive
138 module="mod_access_compat">Deny</directive>, et <directive
139 module="mod_access_compat">Satisfy</directive>.</p>
141 <p>Dans la version 2.4, ce contrôle d'accès est assuré, comme tout
142 contrôle d'autorisation, via le nouveau module
143 <module>mod_authz_host</module>. Bien que le module
144 <module>mod_access_compat</module> soit fourni à des fins de
145 compatibilité avec les anciennes configurations, les anciennes
146 directives de contrôle d'accès devront être remplacées par les
147 nouveaux mécanismes d'authentification.</p>
149 <p>Voici quelques exemples de contrôle d'accès avec l'ancienne et
150 la nouvelle méthode :</p>
152 <p>Dans cet exemple, toutes les requêtes sont rejetées :</p>
154 <title>version 2.2 :</title>
155 <highlight language="config">
161 <title>version 2.4 :</title>
162 <highlight language="config">
167 <p>Dans cet exemple, toutes les requêtes sont acceptées :</p>
169 <title>version 2.2 :</title>
170 <highlight language="config">
176 <title>version 2.4 :</title>
177 <highlight language="config">
182 <p>Dans l'exemple suivant, tous les hôtes du domaine example.org
183 ont l'autorisation d'accès, tous les autres sont rejetés :</p>
186 <title>version 2.2 :</title>
187 <highlight language="config">
190 Allow from example.org
194 <title>version 2.4 :</title>
195 <highlight language="config">
196 Require host example.org
203 <section id="config">
204 <title>Autres changements dans la configuration</title>
206 <p>D'autres ajustements mineurs peuvent s'avérer nécessaires pour
207 certaines configurations particulières, comme décrit ci-dessous.</p>
210 <li><directive>MaxRequestsPerChild</directive> a été renommée en
211 <directive module="mpm_common">MaxConnectionsPerChild</directive>;
212 ce nouveau nom reflète mieux l'usage de cette directive.
213 L'ancien nom est encore supporté.</li>
215 <li>La directive <directive>MaxClients</directive> a
216 été renommée en <directive
217 module="mpm_common">MaxRequestWorkers</directive>; ce nouveau
218 nom reflète mieux l'usage de cette directive. Pour les
219 modules multiprocessus asynchrones, comme <module>event</module>, le nombre
220 maximal de clients n'est pas équivalent au nombre de threads du
221 worker. L'ancien nom est encore supporté.</li>
223 <li>La directive <directive
224 module="core">DefaultType</directive> ne produit plus aucun
225 effet, si ce n'est d'émettre un avertissement si elle est
226 définie à une valeur autre que <code>none</code>. D'autres
227 directives de configuration la remplacent dans la version 2.4.
230 <li>La valeur par défaut de la directive <directive
231 module="core">EnableSendfile</directive> est maintenant Off.</li>
233 <li>La valeur par défaut de la directive <directive
234 module="core">FileETag</directive> est maintenant "MTime Size"
237 <li><module>mod_log_config</module>: <a
238 href="modules/mod_log_config.html#formats">${cookie}C</a>
239 correspond au nom du cookie dans son ensemble, alors qu'avant,
240 toute sous-chaîne pouvait correspondre.</li>
242 <li><module>mod_dav_fs</module>: le format du fichier <directive
243 module="mod_dav_fs">DavLockDB</directive> a changé pour les systèmes
244 avec inodes. L'ancien fichier <directive
245 module="mod_dav_fs">DavLockDB</directive> doit être supprimé dans le
246 cadre de la mise à jour.
249 <li>La directive <directive module="core">KeepAlive</directive>
250 n'accepte que les valeurs <code>On</code> ou <code>Off</code>.
251 Avant, toute valeur autre que "Off" ou "0" était traitée comme
254 <li>Les directives AcceptMutex, LockFile, RewriteLock, SSLMutex,
255 SSLStaplingMutex et WatchdogMutexPath ont été remplacées par la
256 directive unique <directive module="core">Mutex</directive>.
257 Vous devez évaluer l'impact de ces directives obsolètes dans
258 votre configuration version 2.2 afin de déterminer si elles
259 peuvent être simplement supprimées, ou si elles doivent être
260 remplacées par la directive <directive
261 module="core">Mutex</directive>.</li>
263 <li><module>mod_cache</module>: la directive <directive
264 module="mod_cache">CacheIgnoreURLSessionIdentifiers</directive>
265 effectue maintenant une correspondance exacte dans la chaîne de
266 paramètres au lieu d'une correspondance partielle. Si votre
267 configuration mettait en jeu des sous-chaînes comme
268 <code>sessionid</code> pour correspondre à
269 <code>/une-application/image.gif;jsessionid=123456789</code>,
270 vous devez maintenant utiliser la chaîne de correspondance
271 complète <code>jsessionid</code>.
274 <li><module>mod_ldap</module>: la directive <directive
275 module="mod_ldap">LDAPTrustedClientCert</directive> s'utilise
276 maintenant exclusivement au sein d'une configuration de niveau
277 répertoire. Si vous utilisez cette directive, passez en revue
278 votre configuration pour vous assurer qu'elle est bien présente
279 dans tous les contextes de répertoire nécessaires.</li>
281 <li><module>mod_filter</module>: la syntaxe de la directive
282 <directive module="mod_filter">FilterProvider</directive> utilise
283 maintenant une expression booléenne pour déterminer si un filtre
287 <li><module>mod_include</module>:
289 <li>L'élément <code>#if expr</code> utilise maintenant le
290 nouvel <a href="expr.html">interpréteur d'expressions</a>.
291 L'ancienne syntaxe peut être réactivée via la directive
293 module="mod_include">SSILegacyExprParser</directive>.
295 <li>Dans la portée du répertoire, une directive de
296 configuration SSI* ne provoque plus la réinitialisation à
297 leur valeur par défaut de toutes les directives SSI* de
298 niveau répertoire.</li>
302 <li><module>mod_charset_lite</module> : l'option
303 <code>DebugLevel</code> a été supprimée en faveur d'une
304 configuration de la directive <directive
305 module="core">LogLevel</directive> au niveau répertoire.
308 <li><module>mod_ext_filter</module> : l'option
309 <code>DebugLevel</code> a été supprimée en faveur d'une
310 configuration de la directive <directive
311 module="core">LogLevel</directive> au niveau répertoire.
314 <li><module>mod_ssl</module>: le contrôle de révocation des
315 certificats basé sur les CRL doit être maintenant explicitement
316 configuré via la directive <directive
317 module="mod_ssl">SSLCARevocationCheck</directive>.
320 <li><module>mod_substitute</module>: la taille maximale d'une
321 ligne est maintenant 1Mo.
324 <li><module>mod_reqtimeout</module>: si ce module est chargé, il
325 définit maintenant certains temps d'attente par défaut.</li>
332 <title>Changements divers</title>
335 <li><module>mod_auto_index</module>: extrait maintenant les titres
336 et affiche la description pour les fichiers .xhtml qui étaient
337 jusqu'alors ignorés.</li>
339 <li><module>mod_ssl</module> : le format par défaut des variables
340 <code>*_DN</code> a changé. Il est cependant encore possible
341 d'utiliser l'ancien format via la nouvelle option
342 <code>LegacyDNStringFormat</code> de la directive <directive
343 module="mod_ssl">SSLOptions</directive>. Le protocole SSLv2 n'est
344 plus supporté. Les directives <directive
345 module="mod_ssl">SSLProxyCheckPeerCN</directive> et
346 <directive module="mod_ssl">SSLProxyCheckPeerExpire</directive>
347 sont maintenant définies par défaut à On, et les requêtes mandatées
348 vers des serveurs HTTPS possèdant des certificats non conformes ou
349 périmés échoueront donc avec un code d'erreur 502 (Bad gateway).</li>
351 <li><program>htpasswd</program> utilise maintenant par défaut les
352 condensés MD5 sur toutes les plates-formes.</li>
354 <li>La directive <directive
355 module="core">NameVirtualHost</directive> n'a plus aucun effet, si
356 ce n'est l'émission d'un avertissement. Toute combinaison
357 adresse/port apparaissant dans plusieurs serveurs virtuels est
358 traitée implicitement comme un serveur virtuel basé sur le nom.
361 <li><module>mod_deflate</module> n'effectue plus de compression
362 s'il s'aperçoit que la quantité de données ajoutée par la
363 compression est supérieure à la quantité de données à compresser.
366 <li>Les pages d'erreur multilingues de la version 2.2.x ne
367 fonctionneront qu'après avoir été corrigées pour
368 respecter la nouvelle syntaxe de l'élément <code>#if expr=</code>
369 du module <module>mod_include</module>, ou si la directive
370 <directive module="mod_include">SSILegacyExprParser</directive> a
371 été activée pour le répertoire contenant les pages d'erreur.
374 <li>La fonctionnalité fournie par <code>mod_authn_alias</code>
375 dans les précédentes versions (en fait la directive
376 <directive module="mod_authn_core">AuthnProviderAlias</directive>)
377 est maintenant fournie par <module>mod_authn_core</module>.
383 <section id="third-party">
384 <title>Modules tiers</title>
386 <p>Tous les modules tiers doivent être recompilés pour la
387 version 2.4 avant d'être chargés.</p>
389 <p>De nombreux modules tiers conçus pour la version 2.2
390 fonctionneront sans changement avec le serveur HTTP Apache
391 version 2.4. Certains nécessiterons cependant des modifications ; se
392 reporter à la vue d'ensemble <a
393 href="developer/new_api_2_4.html">Mise à jour de l'API</a>.</p>
395 <section id="commonproblems">
396 <title>Problèmes de mise à jour courants</title>
397 <ul><li>Erreurs au démarrage :
399 <li><code>Invalid command 'User', perhaps misspelled or defined by
400 a module not included in the server configuration</code> - chargez
401 le module <module>mod_unixd</module></li>
403 <li><code>Invalid command 'Require', perhaps misspelled or defined
404 by a module not included in the server configuration</code>, ou
405 <code>Invalid command 'Order', perhaps misspelled or defined by a
406 module not included in the server configuration</code> - chargez
407 le module <module>mod_access_compat</module>, ou mettez à jour
408 vers la version 2.4 les directives d'autorisation.</li>
409 <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>
411 <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>
413 <li><code>Ignoring deprecated use of DefaultType in line NN of
414 /path/to/httpd.conf</code> - supprimez la directive <directive
415 module="core">DefaultType</directive> et remplacez-la par les
416 directives de configuration appropriées.</li>
417 <li><code>mixing * ports and non-* ports with a NameVirtualHost
418 address is not supported</code>, <code>Either NameVirtualHost
419 w.x.y.z:n has no VirtualHosts, or there is more than one identical
420 NameVirtualHost line, or your VirtualHost declarations do not
421 match the NameVirtualHost line</code> -
422 ce ne sont pas des nouveaux messages, mais ils empêchent
423 maintenant le serveur de démarrer</li>
424 <li><code>_default_ is not allowed in NameVirtualHost
425 directive</code> - l'explication est dans le message ; cette
426 définition n'a jamais été valide, mais elle empêche maintenant le
427 serveur de démarrer.</li>
429 <li>Erreurs de traitement des requêtes :
431 <li><code>configuration error: couldn't check user: /path</code> -
432 chargez le module <module>mod_authn_core</module>.</li>