]> granicus.if.org Git - apache/blob - docs/manual/upgrading.xml.fr
Rebuild.
[apache] / docs / manual / upgrading.xml.fr
1 <?xml version="1.0" encoding="UTF-8" ?>
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: 1738217 -->
7
8 <!--
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
15
16      http://www.apache.org/licenses/LICENSE-2.0
17
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.
23 -->
24
25 <manualpage metafile="upgrading.xml.meta">
26
27 <title>Mise à jour de la version 2.2 vers la version 2.4</title>
28
29 <summary>
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
40   l'API</a>.</p>
41
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>
47
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>
53
54 </summary>
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>
57
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>
66
67     <ul>
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>
72
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
77       utilise.</li>
78
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>
82
83       <li>configure: les modules dynamiques (DSO) sont compilés par
84       défaut</li>
85
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 dans le fichier de configuration.</li>
89
90       <li>configure: le jeu de modules "most" est compilé par défaut</li>
91
92       <li>configure: le jeu de modules "reallyall" ajoute les modules de
93       développeur au jeu "all".</li>
94     </ul>
95
96   </section>
97
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>
104
105     <section id="authz">
106       <title>Autorisation</title>
107
108       <p>Tout fichier de configuration qui gère des autorisations devra
109       probablement être mis à jour.</p>
110
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>
118
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">RequireAll</directive>.</p>
129
130     <p>Si vous utilisez <module>mod_authz_dbm</module>, vous devez
131     mettre à jour votre configuration en remplaçant les directives du
132     style <code>Require group ...</code> par des directives du style
133     <code>Require dbm-group ...</code>.</p>
134
135     <section id="access">
136       <title>Contrôle d'accès</title>
137
138       <p>Dans la version 2.2, le contrôle d'accès basé sur le nom d'hôte
139       du client, son adresse IP, ou d'autres caractéristiques de la
140       requête était assuré via les directives <directive
141       module="mod_access_compat">Order</directive>, <directive
142       module="mod_access_compat">Allow</directive>, <directive
143       module="mod_access_compat">Deny</directive>, et <directive
144       module="mod_access_compat">Satisfy</directive>.</p>
145
146       <p>Dans la version 2.4, ce contrôle d'accès est assuré, comme tout
147       contrôle d'autorisation, par le nouveau module
148       <module>mod_authz_host</module>. Bien que le module
149       <module>mod_access_compat</module> assure la
150       compatibilité avec les anciennes configurations, les anciennes
151       directives de contrôle d'accès devront être remplacées par les
152       nouveaux mécanismes d'authentification.</p>
153
154       <note><title>Mélanger anciennes et nouvelles directives</title>
155       <p>Mélanger d'anciennes directives comme <directive
156       module="mod_access_compat">Order</directive>, <directive
157       module="mod_access_compat">Allow</directive> ou <directive
158       module="mod_access_compat">Deny</directive> avec des nouvelles comme
159       <directive module="mod_authz_core">Require</directive> est techniquement
160       possible mais déconseillé. En effet, <module>mod_access_compat</module> a
161       été conçu pour supporter des configurations ne contenant que des anciennes
162       directives afin de faciliter le passage à la version 2.4. Les
163       exemples ci-dessous vous permettront de vous faire une meilleure idée des
164       problèmes qui peuvent survenir.
165       </p>
166       </note>
167
168       <p>Voici quelques exemples de contrôle d'accès avec l'ancienne et
169       la nouvelle méthode :</p>
170
171       <p>Dans cet exemple, toutes les requêtes sont rejetées :</p>
172       <example>
173         <title>version 2.2 :</title>
174         <highlight language="config">
175 Order deny,allow
176 Deny from all
177         </highlight>
178       </example>
179       <example>
180         <title>version 2.4 :</title>
181         <highlight language="config">
182         Require all denied
183         </highlight>
184       </example>
185
186       <p>Dans cet exemple, toutes les requêtes sont acceptées :</p>
187       <example>
188         <title>version 2.2 :</title>
189         <highlight language="config">
190 Order allow,deny
191 Allow from all
192         </highlight>
193       </example>
194       <example>
195         <title>version 2.4 :</title>
196         <highlight language="config">
197         Require all granted
198         </highlight>
199       </example>
200
201       <p>Dans l'exemple suivant, tous les hôtes du domaine example.org
202       ont l'autorisation d'accès, tous les autres sont rejetés :</p>
203
204       <example>
205         <title>version 2.2 :</title>
206         <highlight language="config">
207 Order Deny,Allow
208 Deny from all
209 Allow from example.org
210         </highlight>
211       </example>
212       <example>
213         <title>version 2.4 :</title>
214         <highlight language="config">
215         Require host example.org
216         </highlight>
217       </example>
218
219       <p>Dans l'exemple suivant, le mélange d'anciennes et de nouvelles
220       directives produit des résultats inattendus.</p>
221  
222       <example>
223         <title>Mélange d'anciennes et de nouvelles directives : RESULTAT
224         INATTENDU</title>
225           <highlight language="config">
226 DocumentRoot "/var/www/html"
227
228 &lt;Directory "/"&gt;
229     AllowOverride None
230     Order deny,allow
231     Deny from all
232 &lt;/Directory&gt;
233
234 &lt;Location "/server-status"&gt;
235     SetHandler server-status
236     Require 127.0.0.1
237 &lt;/Location&gt;
238
239 access.log - GET /server-status 403 127.0.0.1
240 error.log - AH01797: client denied by server configuration: /var/www/html/server-status
241           </highlight>
242       </example>
243       <p>Pourquoi httpd interdit l'accès à server-status alors que la
244       configuration semble l'autoriser ? Parce que dans ce scénario de <a
245       href="sections.html#merging">fusion</a> de configuration, les
246       directives de <module>mod_access_compat</module> sont prioritaires par
247       rapport à celles de <module>mod_authz_host</module>.</p>
248
249       <p>L'exemple suivant quant à lui produit un résultat conforme :</p>
250
251       <example>
252         <title>Mélange d'anciennes et de nouvelles directives : RESULTAT
253         CONFORME</title>
254         <highlight language="config">
255 DocumentRoot "/var/www/html"
256
257 &lt;Directory "/"&gt;
258     AllowOverride None
259     Require all denied
260 &lt;/Directory&gt;
261
262 &lt;Location "/server-status"&gt;
263     SetHandler server-status
264     Order deny,allow
265     Deny from all
266     Allow From 127.0.0.1
267 &lt;/Location&gt;
268
269 access.log - GET /server-status 200 127.0.0.1
270         </highlight>
271       </example> 
272       <p>En conclusion, même si une configuration hybride peut fonctionner,
273       essayez de l'éviter lors de la mise à jour : soit conservez les anciennes
274       directives, puis migrez-les vers les nouvelles ultérieurement, soit
275       effectuez une migration immédiate de toutes les anciennes directives vers
276       les nouvelles.  
277       </p>
278     </section>
279
280     </section>
281
282     <section id="config">
283       <title>Autres changements dans la configuration</title>
284
285       <p>D'autres ajustements mineurs peuvent s'avérer nécessaires pour
286       certaines configurations particulières, comme décrit ci-dessous.</p>
287
288       <ul>
289         <li><directive>MaxRequestsPerChild</directive> a été renommée en
290         <directive module="mpm_common">MaxConnectionsPerChild</directive>;
291         ce nouveau nom reflète mieux l'usage de cette directive.
292         L'ancien nom est encore supporté.</li>
293
294         <li>La directive <directive>MaxClients</directive> a
295         été renommée en <directive
296         module="mpm_common">MaxRequestWorkers</directive>; ce nouveau
297         nom reflète mieux l'usage de cette directive. Pour les
298         modules multiprocessus asynchrones, comme <module>event</module>, le nombre
299         maximal de clients n'est pas équivalent au nombre de threads du
300         worker. L'ancien nom est encore supporté.</li>
301
302         <li>La directive <directive
303         module="core">DefaultType</directive> ne produit plus aucun
304         effet, si ce n'est d'émettre un avertissement si elle est
305         définie à une valeur autre que <code>none</code>. D'autres
306         directives de configuration la remplacent dans la version 2.4.
307         </li>
308
309         <li>La valeur par défaut de la directive <directive
310         module="core">AllowOverride</directive> est maintenant
311         <code>None</code>.</li>
312
313         <li>La valeur par défaut de la directive <directive
314         module="core">EnableSendfile</directive> est maintenant Off.</li>
315
316         <li>La valeur par défaut de la directive <directive
317         module="core">FileETag</directive> est maintenant "MTime Size"
318         (sans INode).</li>
319
320         <li><module>mod_dav_fs</module>: le format du fichier <directive
321         module="mod_dav_fs">DavLockDB</directive> a changé pour les systèmes
322         avec inodes. L'ancien fichier <directive
323         module="mod_dav_fs">DavLockDB</directive> doit être supprimé dans le
324         cadre de la mise à jour.
325         </li>
326
327         <li>La directive <directive module="core">KeepAlive</directive>
328         n'accepte que les valeurs <code>On</code> ou <code>Off</code>.
329         Avant, toute valeur autre que "Off" ou "0" était traitée comme
330         "On".</li>
331
332         <li>Les directives AcceptMutex, LockFile, RewriteLock, SSLMutex,
333         SSLStaplingMutex et WatchdogMutexPath ont été remplacées par la
334         directive unique <directive module="core">Mutex</directive>.
335         Vous devez évaluer l'impact de ces directives obsolètes dans
336         votre configuration version 2.2 afin de déterminer si elles
337         peuvent être simplement supprimées, ou si elles doivent être
338         remplacées par la directive <directive
339         module="core">Mutex</directive>.</li>
340
341         <li><module>mod_cache</module>: la directive <directive
342         module="mod_cache">CacheIgnoreURLSessionIdentifiers</directive>
343         effectue maintenant une correspondance exacte dans la chaîne de
344         paramètres au lieu d'une correspondance partielle. Si votre
345         configuration mettait en jeu des sous-chaînes comme
346         <code>sessionid</code> pour correspondre à
347         <code>/une-application/image.gif;jsessionid=123456789</code>,
348         vous devez maintenant utiliser la chaîne de correspondance
349         complète <code>jsessionid</code>.
350         </li>
351
352         <li><module>mod_cache</module>: le second paramètre de la
353         directive <directive module="mod_cache">CacheEnable</directive>
354         ne concerne les contenus en mandat direct que s'ils débutent par
355         le protocole approprié. Dans les versions 2.2 et antérieures, un
356         paramètre tel que '/' concernait tous les contenus.</li>
357
358         <li><module>mod_ldap</module>: la directive <directive
359         module="mod_ldap">LDAPTrustedClientCert</directive> s'utilise
360         maintenant exclusivement au sein d'une configuration de niveau
361         répertoire. Si vous utilisez cette directive, passez en revue
362         votre configuration pour vous assurer qu'elle est bien présente
363         dans tous les contextes de répertoire nécessaires.</li>
364
365         <li><module>mod_filter</module>: la syntaxe de la directive
366         <directive module="mod_filter">FilterProvider</directive> utilise
367         maintenant une expression booléenne pour déterminer si un filtre
368         s'applique.
369         </li>
370
371         <li><module>mod_include</module>:
372             <ul>
373             <li>L'élément <code>#if expr</code> utilise maintenant le
374             nouvel <a href="expr.html">interpréteur d'expressions</a>.
375             L'ancienne syntaxe peut être réactivée via la directive
376             <directive
377             module="mod_include">SSILegacyExprParser</directive>.
378             </li>
379             <li>Dans la portée du répertoire, une directive de
380             configuration SSI* ne provoque plus la réinitialisation à
381             leur valeur par défaut de toutes les directives SSI* de
382             niveau répertoire.</li>
383             </ul>
384         </li>
385
386         <li><module>mod_charset_lite</module> : l'option
387         <code>DebugLevel</code> a été supprimée en faveur d'une
388         configuration de la directive <directive
389         module="core">LogLevel</directive> au niveau répertoire.
390         </li>
391
392         <li><module>mod_ext_filter</module> : l'option
393         <code>DebugLevel</code> a été supprimée en faveur d'une
394         configuration de la directive <directive
395         module="core">LogLevel</directive> au niveau répertoire.
396         </li>
397
398         <li><module>mod_proxy_scgi</module>: certaines applications web
399         ne fonctionneront plus correctement avec la nouvelle
400         configuration de <code>PATH_INFO</code> qui est différente de
401         celle de la version 2.2. La configuration
402         précédente peut être
403         restaurée en définissant la variable
404         <code>proxy-scgi-pathinfo</code>.</li>
405
406         <li><module>mod_ssl</module>: le contrôle de révocation des
407         certificats basé sur les CRL doit être maintenant explicitement
408         configuré via la directive <directive
409         module="mod_ssl">SSLCARevocationCheck</directive>.
410         </li>
411
412         <li><module>mod_substitute</module>: la taille maximale d'une
413         ligne est maintenant 1Mo.
414         </li>
415
416         <li><module>mod_reqtimeout</module>: si ce module est chargé, il
417         définit maintenant certains temps d'attente par défaut.</li>
418
419         <li><module>mod_dumpio</module>: la directive
420         <directive>DumpIOLogLevel</directive> n'est plus supportée. Les
421         données sont toujours enregistrées au niveau <code>trace7</code>
422         de <directive module="core">LogLevel</directive></li>
423
424         <li>Jusqu'à la version 2.2, sur les plateformes de style Unix, 
425         les commandes de redirection des logs définies via <directive
426         module="core">ErrorLog</directive> ou <directive
427         module="mod_log_config">CustomLog</directive> étaient invoquées
428         en utilisant <code>/bin/sh -c</code>. A
429         partir de la version 2.4, les commandes de redirection des logs
430         sont exécutées directement. Pour retrouver l'ancien
431         comportement, voir la <a href="logs.html#piped">documentation
432         sur la redirection des logs</a></li>
433
434     </ul>
435     </section>
436   </section>
437
438   <section id="misc">
439     <title>Changements divers</title>
440
441     <ul>
442       <li><module>mod_auto_index</module>: extrait maintenant les titres
443       et affiche la description pour les fichiers .xhtml qui étaient
444       jusqu'alors ignorés.</li>
445
446       <li><module>mod_ssl</module> : le format par défaut des variables
447       <code>*_DN</code> a changé. Il est cependant encore possible
448       d'utiliser l'ancien format via la nouvelle option
449       <code>LegacyDNStringFormat</code> de la directive <directive
450       module="mod_ssl">SSLOptions</directive>. Le protocole SSLv2 n'est
451       plus supporté. Les directives <directive
452       module="mod_ssl">SSLProxyCheckPeerCN</directive> et
453       <directive module="mod_ssl">SSLProxyCheckPeerExpire</directive>
454       sont maintenant définies par défaut à On, et les requêtes mandatées
455       vers des serveurs HTTPS possèdant des certificats non conformes ou
456       périmés échoueront donc avec un code d'erreur 502 (Bad gateway).</li>
457
458       <li><program>htpasswd</program> utilise maintenant par défaut les
459       condensés MD5 sur toutes les plates-formes.</li>
460
461       <li>La directive <directive
462       module="core">NameVirtualHost</directive> n'a plus aucun effet, si
463       ce n'est l'émission d'un avertissement. Toute combinaison
464       adresse/port apparaissant dans plusieurs serveurs virtuels est
465       traitée implicitement comme un serveur virtuel basé sur le nom.
466       </li>
467
468       <li><module>mod_deflate</module> n'effectue plus de compression
469       s'il s'aperçoit que la quantité de données ajoutée par la
470       compression est supérieure à la quantité de données à compresser.
471       </li>
472
473       <li>Les pages d'erreur multilingues de la version 2.2.x ne
474       fonctionneront qu'après avoir été corrigées pour
475       respecter la nouvelle syntaxe de l'élément <code>#if expr=</code>
476       du module <module>mod_include</module>, ou si la directive
477       <directive module="mod_include">SSILegacyExprParser</directive> a
478       été activée pour le répertoire contenant les pages d'erreur.
479       </li>
480
481       <li>La fonctionnalité fournie par <code>mod_authn_alias</code>
482       dans les précédentes versions (en fait la directive
483       <directive module="mod_authn_core">AuthnProviderAlias</directive>)
484       est maintenant fournie par <module>mod_authn_core</module>.  
485       </li>
486
487       <li><module>mod_cgid</module> utilise la valeur de la directive
488       <directive module="core">Timeout</directive> du serveur pour
489       limiter le temps d'attente entre les sorties d'un programme CGI.
490       La valeur de ce temps d'attente peut maintenant être modifiée via
491       la directive <directive
492       module="mod_cgid">CGIDScriptTImeout</directive>.
493       </li>
494
495     </ul>
496
497     </section>
498
499   <section id="third-party">
500     <title>Modules tiers</title>
501
502         <p>Tous les modules tiers doivent être recompilés pour la
503         version 2.4 avant d'être chargés.</p>
504
505     <p>De nombreux modules tiers conçus pour la version 2.2
506     fonctionneront sans changement avec le serveur HTTP Apache
507     version 2.4. Certains nécessiteront cependant des modifications ; se
508     reporter à la vue d'ensemble <a
509     href="developer/new_api_2_4.html">Mise à jour de l'API</a>.</p>
510   </section>
511 <section id="commonproblems">
512     <title>Problèmes de mise à jour courants</title>
513     <ul><li>Erreurs au démarrage :
514     <ul>
515       <li><code>Invalid command 'User', perhaps misspelled or defined by
516       a module not included in the server configuration</code> - chargez
517       le module <module>mod_unixd</module></li>
518
519       <li><code>Invalid command 'Require', perhaps misspelled or defined
520       by a module not included in the server configuration</code>, ou
521       <code>Invalid command 'Order', perhaps misspelled or defined by a
522       module not included in the server configuration</code> - chargez
523       le module <module>mod_access_compat</module>, ou mettez à jour
524       vers la version 2.4 les directives d'autorisation.</li>
525
526       <li><code>Ignoring deprecated use of DefaultType in line NN of
527       /path/to/httpd.conf</code> - supprimez la directive <directive
528       module="core">DefaultType</directive> et remplacez-la par les
529       directives de configuration appropriées.</li>
530
531       <li><code>Invalid command 'AddOutputFilterByType', perhaps misspelled 
532       or defined by a module not included in the server configuration
533       </code> - la directive <directive
534       module="mod_filter">AddOutputFilterByType</directive> qui était
535       jusqu'alors implémentée par le module core, l'est maintenant par
536       le module mod_filter, qui doit donc être chargé.</li>
537
538     </ul></li>
539     <li>Erreurs de traitement des requêtes :
540     <ul>
541       <li><code>configuration error:  couldn't check user: /path</code> -
542       chargez le module <module>mod_authn_core</module>.</li>
543       <li>Les fichiers <code>.htaccess</code> ne sont pas traités -
544       Vérifiez la présence d'une directive <directive
545       module="core">AllowOverride</directive> appropriée ; sa valeur par
546       défaut est maintenant <code>None</code>.</li>
547     </ul>
548     </li>
549 </ul>
550
551   </section>
552 </manualpage>