blob: 64c61ba9e0de932776c6ccde988e5e62186a1316 [file]
<!DOCTYPE html SYSTEM "about:legacy-compat">
<html lang="fr"><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="width=device-width, initial-scale=1" name="viewport">
<!--
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
This file is generated from xml source: DO NOT EDIT
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-->
<title>Mise &agrave; jour de la version 2.2 vers la version 2.4 - Serveur HTTP Apache Version 2.5</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet">
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size">
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css"><link rel="stylesheet" type="text/css" href="./style/css/prettify.css">
<script src="./style/scripts/prettify.min.js">
</script>
<link href="./images/favicon.png" rel="shortcut icon"></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p>
<p class="apache">Serveur HTTP Apache Version 2.5</p>
<img alt="" src="./images/feather.png"></div>
<div class="up"><a href="./"><img title="<-" alt="<-" src="./images/left.gif"></a></div>
<div id="path">
<a href="https://www.apache.org/">Apache</a> &gt; <a href="https://httpd.apache.org/">Serveur HTTP</a> &gt; <a href="https://httpd.apache.org/docs/">Documentation</a> &gt; <a href="./">Version 2.5</a></div><div id="page-content"><div id="preamble"><h1>Mise &agrave; jour de la version 2.2 vers la version 2.4</h1>
<button aria-label="Toggle language list" class="lang-toggle"><svg xmlns="http://www.w3.org/2000/svg" stroke-width="2" stroke="currentColor" fill="none" viewBox="0 0 24 24" height="16" width="16"><circle r="10" cy="12" cx="12"/><line y2="12" x2="22" y1="12" x1="2"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/></svg></button>
<div class="toplang">
<p><span>Langues Disponibles: </span><a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/upgrading.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./pt-br/upgrading.html" hreflang="pt-br" rel="alternate" title="Portugu&ecirc;s (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div>
<p>Afin d'assister les utilisateurs lors de leurs op&eacute;rations de mise &agrave;
jour, nous maintenons un document
qui comporte des informations critiques &agrave; l'attention des personnes qui
utilisent d&eacute;j&agrave; le serveur HTTP Apache. Ces informations
ne sont que de br&egrave;ves notes, et vous
trouverez plus d'informations dans le document <a href="new_features_2_4.html">Nouvelles fonctionnalit&eacute;s</a>, ou dans
le fichier <code>src/CHANGES</code>. Les d&eacute;veloppeurs d'applications
et de modules trouveront un r&eacute;sum&eacute; des modifications de l'API dans la
vue d'ensemble <a href="developer/new_api_2_4.html">Mises &agrave; jour de
l'API</a>.</p>
<p>Ce document pr&eacute;sente les changements de comportement du serveur qui
peuvent n&eacute;cessiter une modification de la configuration, et la mani&egrave;re
d'utiliser la version 2.4 du serveur en parall&egrave;le avec la
version 2.2. Pour tirer parti des nouvelles fonctionnalit&eacute;s de la
version 2.4, reportez-vous au document "Nouvelles fonctionnalit&eacute;s".</p>
<p>Ce document ne d&eacute;crit que les modifications intervenues entre les versions
2.2 et 2.4. Si vous effectuez une mise &agrave; 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
&agrave; jour de 2.0 vers 2.2.</a></p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif"> <a href="#compile-time">Modifications des param&egrave;tres de compilation</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#run-time">Modifications de la configuration &agrave; l'ex&eacute;cution</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#misc">Changements divers</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#third-party">Modules tiers</a></li>
<li><img alt="" src="./images/down.gif"> <a href="#commonproblems">Probl&egrave;mes de mise &agrave; jour courants</a></li>
</ul><h3>Voir aussi</h3><ul class="seealso"><li><a href="new_features_2_4.html">Vue d'ensemble des nouvelles
fonctionnalit&eacute;s du serveur HTTP Apache 2.4</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="compile-time">Modifications des param&egrave;tres de compilation <a title="Lien permanent" href="#compile-time" class="permalink">&para;</a></h2>
<p>Le processus de compilation est tr&egrave;s similaire &agrave; 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&eacute;e dans le fichier <code>build/config.nice</code>
situ&eacute; dans le r&eacute;pertoire de compilation du serveur). Voici certains
changements intervenus dans la configuration par d&eacute;faut :</p>
<ul>
<li>Les modules suivants ont &eacute;t&eacute; supprim&eacute;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
<code class="module"><a href="./mod/mod_cache_disk.html">mod_cache_disk</a></code> dans la version 2.4.</li>
<li>Toutes les impl&eacute;mentations de r&eacute;partition de charge ont &eacute;t&eacute;
d&eacute;plac&eacute;es vers des sous-modules sp&eacute;cifiques de mod_proxy, comme
<code class="module"><a href="./mod/mod_lbmethod_bybusyness.html">mod_lbmethod_bybusyness</a></code>. Vous devrez compiler et
charg&eacute;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 &eacute;t&eacute; supprim&eacute;, car
elles ne sont plus consid&eacute;r&eacute;es comme maintenues.</li>
<li>configure: les modules dynamiques (DSO) sont compil&eacute;s par
d&eacute;faut</li>
<li>configure: par d&eacute;faut, seul un jeu de modules de base est
charg&eacute;. Les autres directives <code class="directive">LoadModule</code>
sont mises en commentaires dans le fichier de configuration.</li>
<li>configure: le jeu de modules "most" est compil&eacute; par d&eacute;faut</li>
<li>configure: le jeu de modules "reallyall" ajoute les modules de
d&eacute;veloppeur au jeu "all".</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="run-time">Modifications de la configuration &agrave; l'ex&eacute;cution <a title="Lien permanent" href="#run-time" class="permalink">&para;</a></h2>
<p>Des changements significatifs dans la configuration de
l'autorisation, ainsi que quelques changements mineurs, peuvent
n&eacute;cessiter une mise &agrave; jour des fichiers de configuration de la version
2.2 avant de les utiliser sous la version 2.4.</p>
<h3 id="authz">Autorisation</h3>
<p>Tout fichier de configuration qui g&egrave;re des autorisations devra
probablement &ecirc;tre mis &agrave; jour.</p>
<p>Vous devez vous reporter au document <a href="howto/auth.html">Authentification, autorisation et contr&ocirc;le
d'acc&egrave;s</a>, et plus particuli&egrave;rement &agrave; la section <a href="howto/auth.html#beyond">Plus loin qu'une simple
autorisation</a> qui explique les nouveaux m&eacute;canismes permettant de
contr&ocirc;ler l'ordre dans lequel les directives d'autorisation sont
appliqu&eacute;es.</p>
<p>Les directives qui contr&ocirc;lent la mani&egrave;re dont les modules
d'autorisation r&eacute;agissent lorsqu'ils ne reconnaissent pas
l'utilisateur authentifi&eacute; ont &eacute;t&eacute; supprim&eacute;es : elles comprennent les
directives AuthzLDAPAuthoritative, AuthzDBDAuthoritative,
AuthzDBMAuthoritative, AuthzGroupFileAuthoritative,
AuthzUserAuthoritative et AuthzOwnerAuthoritative. Ces directives
ont &eacute;t&eacute; remplac&eacute;es par les directives plus explicites <code class="directive"><a href="./mod/mod_authz_core.html#requireany">RequireAny</a></code>, <code class="directive"><a href="./mod/mod_authz_core.html#requirenone">RequireNone</a></code>, et <code class="directive"><a href="./mod/mod_authz_core.html#requireall">RequireAll</a></code>.</p>
<p>Si vous utilisez <code class="module"><a href="./mod/mod_authz_dbm.html">mod_authz_dbm</a></code>, vous devez
mettre &agrave; jour votre configuration en rempla&ccedil;ant les directives du
style <code>Require group ...</code> par des directives du style
<code>Require dbm-group ...</code>.</p>
<h4><a name="access" id="access">Contr&ocirc;le d'acc&egrave;s</a></h4>
<p>Dans la version 2.2, le contr&ocirc;le d'acc&egrave;s bas&eacute; sur le nom d'h&ocirc;te
du client, son adresse IP, ou d'autres caract&eacute;ristiques de la
requ&ecirc;te &eacute;tait assur&eacute; via les directives <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code>, et <code class="directive"><a href="./mod/mod_access_compat.html#satisfy">Satisfy</a></code>.</p>
<p>Dans la version 2.4, ce contr&ocirc;le d'acc&egrave;s est assur&eacute;, comme tout
contr&ocirc;le d'autorisation, par le nouveau module
<code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>. Bien que le module
<code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> assure la
compatibilit&eacute; avec les anciennes configurations, les anciennes
directives de contr&ocirc;le d'acc&egrave;s devront &ecirc;tre remplac&eacute;es par les
nouveaux m&eacute;canismes d'authentification.</p>
<div class="note"><h3>M&eacute;langer anciennes et nouvelles directives</h3>
<p>M&eacute;langer d'anciennes directives comme <code class="directive"><a href="./mod/mod_access_compat.html#order">Order</a></code>, <code class="directive"><a href="./mod/mod_access_compat.html#allow">Allow</a></code> ou <code class="directive"><a href="./mod/mod_access_compat.html#deny">Deny</a></code> avec des nouvelles comme
<code class="directive"><a href="./mod/mod_authz_core.html#require">Require</a></code> est techniquement
possible mais d&eacute;conseill&eacute;. En effet, <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> a
&eacute;t&eacute; con&ccedil;u pour supporter des configurations ne contenant que des anciennes
directives afin de faciliter le passage &agrave; la version 2.4. Les
exemples ci-dessous vous permettront de vous faire une meilleure id&eacute;e des
probl&egrave;mes qui peuvent survenir.
</p>
</div>
<p>Voici quelques exemples de contr&ocirc;le d'acc&egrave;s avec l'ancienne et
la nouvelle m&eacute;thode :</p>
<p>Dans cet exemple, il n'y a pas d'authentification et toutes les
requ&ecirc;tes sont rejet&eacute;es :</p>
<div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order deny,allow
Deny from all</pre>
</div>
<div class="example"><h3>version 2.4 :</h3><pre class="prettyprint lang-config">Require all denied</pre>
</div>
<p>Dans cet exemple, il n'y a pas d'authentification et toutes les
requ&ecirc;tes sont accept&eacute;es :</p>
<div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
Allow from all</pre>
</div>
<div class="example"><h3>version 2.4 :</h3><pre class="prettyprint lang-config">Require all granted</pre>
</div>
<p>Dans l'exemple suivant, il n'y a pas d'authentification et tous les
h&ocirc;tes du domaine example.org
ont l'autorisation d'acc&egrave;s, tous les autres &eacute;tant rejet&eacute;s :</p>
<div class="example"><h3>version 2.2 :</h3><pre class="prettyprint lang-config">Order Deny,Allow
Deny from all
Allow from example.org</pre>
</div>
<div class="example"><h3>version 2.4 :</h3><pre class="prettyprint lang-config">Require host example.org</pre>
</div>
<p>Dans l'exemple suivant, le m&eacute;lange d'anciennes et de nouvelles
directives produit des r&eacute;sultats inattendus.</p>
<div class="example"><h3>M&eacute;lange d'anciennes et de nouvelles directives : RESULTAT
INATTENDU</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
&lt;Directory "/"&gt;
AllowOverride None
Order deny,allow
Deny from all
&lt;/Directory&gt;
&lt;Location "/server-status"&gt;
SetHandler server-status
Require local
&lt;/Location&gt;
access.log - GET /server-status 403 127.0.0.1
error.log - AH01797: client denied by server configuration: /var/www/html/server-status</pre>
</div>
<p>Pourquoi httpd interdit l'acc&egrave;s &agrave; server-status alors que la
configuration semble l'autoriser ? Parce que dans ce sc&eacute;nario de <a href="sections.html#merging">fusion</a> de configuration, les
directives de <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code> sont prioritaires par
rapport &agrave; celles de <code class="module"><a href="./mod/mod_authz_host.html">mod_authz_host</a></code>.</p>
<p>L'exemple suivant quant &agrave; lui produit un r&eacute;sultat conforme :</p>
<div class="example"><h3>M&eacute;lange d'anciennes et de nouvelles directives : RESULTAT
CONFORME</h3><pre class="prettyprint lang-config">DocumentRoot "/var/www/html"
&lt;Directory "/"&gt;
AllowOverride None
Require all denied
&lt;/Directory&gt;
&lt;Location "/server-status"&gt;
SetHandler server-status
Order deny,allow
Deny from all
Allow From 127.0.0.1
&lt;/Location&gt;
access.log - GET /server-status 200 127.0.0.1</pre>
</div>
<p>En conclusion, m&ecirc;me si une configuration hybride peut fonctionner,
essayez de l'&eacute;viter lors de la mise &agrave; jour : soit conservez les anciennes
directives, puis migrez-les vers les nouvelles ult&eacute;rieurement, soit
effectuez une migration imm&eacute;diate de toutes les anciennes directives vers
les nouvelles.
</p>
<p>Dans de nombreuses configurations avec authentification o&ugrave; la directive
<code class="directive">Satisfy</code> &eacute;tait d&eacute;finie &agrave; sa valeur par d&eacute;faut
<em>ALL</em>, les lignes de configuration qui d&eacute;sactivent le contr&ocirc;le
d'acc&egrave;s bas&eacute; sur l'h&ocirc;te sont maintenant omises :</p>
<div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config"># configuration en version 2.2 qui d&eacute;sactive le contr&ocirc;le d'acc&egrave;s bas&eacute; sur le nom
# d'h&ocirc;te pour n'utiliser que l'authentification
Order Deny,Allow
Allow from all
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
Require valid-user</pre>
</div>
<div class="example"><h3>Version 2.4 :</h3><pre class="prettyprint lang-config"># Pas besoin de remplacer les directives Order et deny pour les d&eacute;sactiver
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
Require valid-user</pre>
</div>
<p>Dans les configurations o&ugrave; l'authentification et le contr&ocirc;le d'acc&egrave;s se
combinaient dans un but pr&eacute;cis, les directives de contr&ocirc;le d'acc&egrave;s doivent
&ecirc;tre migr&eacute;es. Dans l'exemple suivant, les requ&ecirc;tes qui correspondent aux
<em>deux</em> crit&egrave;res sont accept&eacute;es :</p>
<div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
Deny from all
# ALL est la valeur par d&eacute;faut de Satisfy
Satisfy ALL
Allow from 127.0.0.1
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
Require valid-user</pre>
</div>
<div class="example"><h3>Version 2.4 :</h3><pre class="prettyprint lang-config">AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
&lt;RequireAll&gt;
Require valid-user
Require ip 127.0.0.1
&lt;/RequireAll&gt;</pre>
</div>
<p>Dans les configurations o&ugrave; l'authentification et le contr&ocirc;le d'acc&egrave;s se
combinaient dans un but pr&eacute;cis, les directives de contr&ocirc;le d'acc&egrave;s doivent
&ecirc;tre migr&eacute;es. Dans l'exemple suivant, les requ&ecirc;tes qui correspondent &agrave;
<em>au moins un</em> crit&egrave;re sont accept&eacute;es :</p>
<div class="example"><h3>Version 2.2 :</h3><pre class="prettyprint lang-config">Order allow,deny
Deny from all
Satisfy any
Allow from 127.0.0.1
AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
Require valid-user</pre>
</div>
<div class="example"><h3>Version 2.4 :</h3><pre class="prettyprint lang-config">AuthType Basic
AuthBasicProvider file
AuthUserFile /example.com/conf/users.passwd
AuthName secure
# Implicite : &lt;RequireAny&gt;
Require valid-user
Require ip 127.0.0.1</pre>
</div>
<h3 id="config">Autres changements dans la configuration</h3>
<p>D'autres ajustements mineurs peuvent s'av&eacute;rer n&eacute;cessaires pour
certaines configurations particuli&egrave;res, comme d&eacute;crit ci-dessous.</p>
<ul>
<li><code class="directive">MaxRequestsPerChild</code> a &eacute;t&eacute; renomm&eacute;e en
<code class="directive"><a href="./mod/mpm_common.html#maxconnectionsperchild">MaxConnectionsPerChild</a></code>;
ce nouveau nom refl&egrave;te mieux l'usage de cette directive.
L'ancien nom est encore support&eacute;.</li>
<li>La directive <code class="directive">MaxClients</code> a
&eacute;t&eacute; renomm&eacute;e en <code class="directive"><a href="./mod/mpm_common.html#maxrequestworkers">MaxRequestWorkers</a></code>; ce nouveau
nom refl&egrave;te mieux l'usage de cette directive. Pour les
modules multiprocessus asynchrones, comme <code class="module"><a href="./mod/event.html">event</a></code>, le nombre
maximal de clients n'est pas &eacute;quivalent au nombre de threads du
worker. L'ancien nom est encore support&eacute;.</li>
<li>La directive <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code> ne produit plus aucun
effet, si ce n'est d'&eacute;mettre un avertissement si elle est
d&eacute;finie &agrave; 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&eacute;faut de la directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> est maintenant
<code>None</code>.</li>
<li>La valeur par d&eacute;faut de la directive <code class="directive"><a href="./mod/core.html#enablesendfile">EnableSendfile</a></code> est maintenant Off.</li>
<li>La valeur par d&eacute;faut de la directive <code class="directive"><a href="./mod/core.html#fileetag">FileETag</a></code> est maintenant "MTime Size"
(sans INode).</li>
<li><code class="module"><a href="./mod/mod_dav_fs.html">mod_dav_fs</a></code>: le format du fichier <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> a chang&eacute; pour les syst&egrave;mes
avec inodes. L'ancien fichier <code class="directive"><a href="./mod/mod_dav_fs.html#davlockdb">DavLockDB</a></code> doit &ecirc;tre supprim&eacute; dans le
cadre de la mise &agrave; jour.
</li>
<li>La directive <code class="directive"><a href="./mod/core.html#keepalive">KeepAlive</a></code>
n'accepte que les valeurs <code>On</code> ou <code>Off</code>.
Avant, toute valeur autre que "Off" ou "0" &eacute;tait trait&eacute;e comme
"On".</li>
<li>Les directives AcceptMutex, LockFile, RewriteLock, SSLMutex,
SSLStaplingMutex et WatchdogMutexPath ont &eacute;t&eacute; remplac&eacute;es par la
directive unique <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.
Vous devez &eacute;valuer l'impact de ces directives obsol&egrave;tes dans
votre configuration version 2.2 afin de d&eacute;terminer si elles
peuvent &ecirc;tre simplement supprim&eacute;es, ou si elles doivent &ecirc;tre
remplac&eacute;es par la directive <code class="directive"><a href="./mod/core.html#mutex">Mutex</a></code>.</li>
<li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: la directive <code class="directive"><a href="./mod/mod_cache.html#cacheignoreurlsessionidentifiers">CacheIgnoreURLSessionIdentifiers</a></code>
effectue maintenant une correspondance exacte dans la cha&icirc;ne de
param&egrave;tres au lieu d'une correspondance partielle. Si votre
configuration mettait en jeu des sous-cha&icirc;nes comme
<code>sessionid</code> pour correspondre &agrave;
<code>/une-application/image.gif;jsessionid=123456789</code>,
vous devez maintenant utiliser la cha&icirc;ne de correspondance
compl&egrave;te <code>jsessionid</code>.
</li>
<li><code class="module"><a href="./mod/mod_cache.html">mod_cache</a></code>: le second param&egrave;tre de la
directive <code class="directive"><a href="./mod/mod_cache.html#cacheenable">CacheEnable</a></code>
ne concerne les contenus en mandat direct que s'ils d&eacute;butent par
le protocole appropri&eacute;. Dans les versions 2.2 et ant&eacute;rieures, un
param&egrave;tre tel que '/' concernait tous les contenus.</li>
<li><code class="module"><a href="./mod/mod_ldap.html">mod_ldap</a></code>: la directive <code class="directive"><a href="./mod/mod_ldap.html#ldaptrustedclientcert">LDAPTrustedClientCert</a></code> s'utilise
maintenant exclusivement au sein d'une configuration de niveau
r&eacute;pertoire. Si vous utilisez cette directive, passez en revue
votre configuration pour vous assurer qu'elle est bien pr&eacute;sente
dans tous les contextes de r&eacute;pertoire n&eacute;cessaires.</li>
<li><code class="module"><a href="./mod/mod_filter.html">mod_filter</a></code>: la syntaxe de la directive
<code class="directive"><a href="./mod/mod_filter.html#filterprovider">FilterProvider</a></code> utilise
maintenant une expression bool&eacute;enne pour d&eacute;terminer si un filtre
s'applique.
</li>
<li><code class="module"><a href="./mod/mod_include.html">mod_include</a></code>:
<ul>
<li>L'&eacute;l&eacute;ment <code>#if expr</code> utilise maintenant le
nouvel <a href="expr.html">interpr&eacute;teur d'expressions</a>.
L'ancienne syntaxe peut &ecirc;tre r&eacute;activ&eacute;e via la directive
<code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code>.
</li>
<li>Dans la port&eacute;e du r&eacute;pertoire, une directive de
configuration SSI* ne provoque plus la r&eacute;initialisation &agrave;
leur valeur par d&eacute;faut de toutes les directives SSI* de
niveau r&eacute;pertoire.</li>
</ul>
</li>
<li><code class="module"><a href="./mod/mod_charset_lite.html">mod_charset_lite</a></code> : l'option
<code>DebugLevel</code> a &eacute;t&eacute; supprim&eacute;e en faveur d'une
configuration de la directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> au niveau r&eacute;pertoire.
</li>
<li><code class="module"><a href="./mod/mod_ext_filter.html">mod_ext_filter</a></code> : l'option
<code>DebugLevel</code> a &eacute;t&eacute; supprim&eacute;e en faveur d'une
configuration de la directive <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code> au niveau r&eacute;pertoire.
</li>
<li><code class="module"><a href="./mod/mod_proxy_scgi.html">mod_proxy_scgi</a></code> : certaines applications web ne
fonctionneront plus correctement avec la nouvelle configuration de
<a class="glossarylink" href="./glossary.html#pathinfo" title="voir glossaire">PATH_INFO</a> qui est diff&eacute;rente de
celle de la version 2.2. La configuration pr&eacute;c&eacute;dente peut &ecirc;tre restaur&eacute;e
en d&eacute;finissant la variable <code>proxy-scgi-pathinfo</code>.</li>
<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code>: le contr&ocirc;le de r&eacute;vocation des
certificats bas&eacute; sur les CRL doit &ecirc;tre maintenant explicitement
configur&eacute; via la directive <code class="directive"><a href="./mod/mod_ssl.html#sslcarevocationcheck">SSLCARevocationCheck</a></code>.
</li>
<li><code class="module"><a href="./mod/mod_substitute.html">mod_substitute</a></code>: la taille maximale d'une
ligne est maintenant 1Mo.
</li>
<li><code class="module"><a href="./mod/mod_reqtimeout.html">mod_reqtimeout</a></code>: si ce module est charg&eacute;, il
d&eacute;finit maintenant certains temps d'attente par d&eacute;faut.</li>
<li><code class="module"><a href="./mod/mod_dumpio.html">mod_dumpio</a></code>: la directive
<code class="directive">DumpIOLogLevel</code> n'est plus support&eacute;e. Les
donn&eacute;es sont toujours enregistr&eacute;es au niveau <code>trace7</code>
de <code class="directive"><a href="./mod/core.html#loglevel">LogLevel</a></code></li>
<li>Jusqu'&agrave; la version 2.2, sur les plateformes de style Unix,
les commandes de redirection des logs d&eacute;finies via <code class="directive"><a href="./mod/core.html#errorlog">ErrorLog</a></code> ou <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> &eacute;taient invoqu&eacute;es
en utilisant <code>/bin/sh -c</code>. A
partir de la version 2.4, les commandes de redirection des logs
sont ex&eacute;cut&eacute;es directement. Pour retrouver l'ancien
comportement, voir la <a href="logs.html#piped">documentation
sur la redirection des logs</a></li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="misc">Changements divers <a title="Lien permanent" href="#misc" class="permalink">&para;</a></h2>
<ul>
<li><code class="module"><a href="./mod/mod_auto_index.html">mod_auto_index</a></code>: extrait maintenant les titres
et affiche la description pour les fichiers .xhtml qui &eacute;taient
jusqu'alors ignor&eacute;s.</li>
<li><code class="module"><a href="./mod/mod_ssl.html">mod_ssl</a></code> : le format par d&eacute;faut des variables
<code>*_DN</code> a chang&eacute;. Il est cependant encore possible
d'utiliser l'ancien format via la nouvelle option
<code>LegacyDNStringFormat</code> de la directive <code class="directive"><a href="./mod/mod_ssl.html#ssloptions">SSLOptions</a></code>. Le protocole SSLv2 n'est
plus support&eacute;. Les directives <code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeercn">SSLProxyCheckPeerCN</a></code> et
<code class="directive"><a href="./mod/mod_ssl.html#sslproxycheckpeerexpire">SSLProxyCheckPeerExpire</a></code>
sont maintenant d&eacute;finies par d&eacute;faut &agrave; On, et les requ&ecirc;tes mandat&eacute;es
vers des serveurs HTTPS poss&egrave;dant des certificats non conformes ou
p&eacute;rim&eacute;s &eacute;choueront donc avec un code d'erreur 502 (Bad gateway).</li>
<li><code class="program"><a href="./programs/htpasswd.html">htpasswd</a></code> utilise maintenant par d&eacute;faut les
condens&eacute;s MD5 sur toutes les plates-formes.</li>
<li>La directive <code class="directive"><a href="./mod/core.html#namevirtualhost">NameVirtualHost</a></code> n'a plus aucun effet, si
ce n'est l'&eacute;mission d'un avertissement. Toute combinaison
adresse/port apparaissant dans plusieurs serveurs virtuels est
trait&eacute;e implicitement comme un serveur virtuel bas&eacute; sur le nom.
</li>
<li><code class="module"><a href="./mod/mod_deflate.html">mod_deflate</a></code> n'effectue plus de compression
s'il s'aper&ccedil;oit que la quantit&eacute; de donn&eacute;es ajout&eacute;e par la
compression est sup&eacute;rieure &agrave; la quantit&eacute; de donn&eacute;es &agrave; compresser.
</li>
<li>Les pages d'erreur multilingues de la version 2.2.x ne
fonctionneront qu'apr&egrave;s avoir &eacute;t&eacute; corrig&eacute;es pour
respecter la nouvelle syntaxe de l'&eacute;l&eacute;ment <code>#if expr=</code>
du module <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>, ou si la directive
<code class="directive"><a href="./mod/mod_include.html#ssilegacyexprparser">SSILegacyExprParser</a></code> a
&eacute;t&eacute; activ&eacute;e pour le r&eacute;pertoire contenant les pages d'erreur.
</li>
<li>La fonctionnalit&eacute; fournie par <code>mod_authn_alias</code>
dans les pr&eacute;c&eacute;dentes versions (en fait la directive
<code class="directive"><a href="./mod/mod_authn_core.html#authnprovideralias">AuthnProviderAlias</a></code>)
est maintenant fournie par <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.
</li>
<li><code class="module"><a href="./mod/mod_cgid.html">mod_cgid</a></code> utilise la valeur de la directive
<code class="directive"><a href="./mod/core.html#timeout">Timeout</a></code> du serveur pour
limiter le temps d'attente entre les sorties d'un programme CGI.
La valeur de ce temps d'attente peut maintenant &ecirc;tre modifi&eacute;e via
la directive <code class="directive"><a href="./mod/mod_cgid.html#cgidscripttimeout">CGIDScriptTImeout</a></code>.
</li>
<li>Le symbole <code>&lt;set&gt;</code> de <code class="module"><a href="./mod/mod_include.html">mod_include</a></code>
n'effectue plus le d&eacute;codage d'entit&eacute; sur la valeur d&eacute;finie.</li>
</ul>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="third-party">Modules tiers <a title="Lien permanent" href="#third-party" class="permalink">&para;</a></h2>
<p>Tous les modules tiers doivent &ecirc;tre recompil&eacute;s pour la
version 2.4 avant d'&ecirc;tre charg&eacute;s.</p>
<p>De nombreux modules tiers con&ccedil;us pour la version 2.2
fonctionneront sans changement avec le serveur HTTP Apache
version 2.4. Certains n&eacute;cessiteront cependant des modifications ; se
reporter &agrave; la vue d'ensemble <a href="developer/new_api_2_4.html">Mise &agrave; jour de l'API</a>.</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif"></a></div>
<div class="section">
<h2 id="commonproblems">Probl&egrave;mes de mise &agrave; jour courants <a title="Lien permanent" href="#commonproblems" class="permalink">&para;</a></h2>
<ul><li>Erreurs au d&eacute;marrage :
<ul>
<li><code>Invalid command 'User', perhaps misspelled or defined by
a module not included in the server configuration</code> - chargez
le module <code class="module"><a href="./mod/mod_unixd.html">mod_unixd</a></code></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 <code class="module"><a href="./mod/mod_access_compat.html">mod_access_compat</a></code>, ou mettez &agrave; jour
vers la version 2.4 les directives d'autorisation.</li>
<li><code>Ignoring deprecated use of DefaultType in line NN of
/path/to/httpd.conf</code> - supprimez la directive <code class="directive"><a href="./mod/core.html#defaulttype">DefaultType</a></code> et remplacez-la par les
directives de configuration appropri&eacute;es.</li>
<li><code>Invalid command 'AddOutputFilterByType', perhaps misspelled
or defined by a module not included in the server configuration
</code> - la directive <code class="directive"><a href="./mod/mod_filter.html#addoutputfilterbytype">AddOutputFilterByType</a></code> qui &eacute;tait
jusqu'alors impl&eacute;ment&eacute;e par le module core, l'est maintenant par
le module mod_filter, qui doit donc &ecirc;tre charg&eacute;.</li>
</ul></li>
<li>Erreurs de traitement des requ&ecirc;tes :
<ul>
<li><code>configuration error: couldn't check user: /path</code> -
chargez le module <code class="module"><a href="./mod/mod_authn_core.html">mod_authn_core</a></code>.</li>
<li>Les fichiers <code>.htaccess</code> ne sont pas trait&eacute;s -
V&eacute;rifiez la pr&eacute;sence d'une directive <code class="directive"><a href="./mod/core.html#allowoverride">AllowOverride</a></code> appropri&eacute;e ; sa valeur par
d&eacute;faut est maintenant <code>None</code>.</li>
</ul>
</li>
</ul>
</div></div>
<div class="bottomlang">
<p><span>Langues Disponibles: </span><a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./fr/upgrading.html" title="Fran&ccedil;ais">&nbsp;fr&nbsp;</a> |
<a href="./pt-br/upgrading.html" hreflang="pt-br" rel="alternate" title="Portugu&ecirc;s (Brasil)">&nbsp;pt-br&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2026 The Apache Software Foundation.<br>Autoris&eacute; sous <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Modules</a> | <a href="./mod/quickreference.html">Directives</a> | <a href="https://cwiki.apache.org/confluence/display/httpd/FAQ">FAQ</a> | <a href="./glossary.html">Glossaire</a> | <a href="./sitemap.html">Plan du site</a> | <a href="https://bz.apache.org/bugzilla/enter_bug.cgi?product=Apache%20httpd-2">Signaler un bug</a></p></div><script><!--//--><![CDATA[//><!--
if (typeof(prettyPrint) !== 'undefined') {
prettyPrint();
}
var langToggle = document.querySelector('.lang-toggle');
var topLang = document.querySelector('.toplang');
if (langToggle && topLang) {
langToggle.addEventListener('click', function() { topLang.classList.toggle('open'); });
}
var qv = document.getElementById('quickview');
if (qv) {
document.body.appendChild(qv);
var qvBtn = document.createElement('button');
qvBtn.className = 'qv-toggle';
qvBtn.setAttribute('aria-label', 'Toggle page navigation');
qvBtn.innerHTML = '&#9776;';
document.body.appendChild(qvBtn);
qvBtn.addEventListener('click', function() {
var isOpen = qv.classList.toggle('open');
if (isOpen) {
qv.style.top = window.scrollY + 10 + 'px';
}
});
window.addEventListener('scroll', function() { qv.classList.remove('open'); });
}
//--><!]]></script>
</body></html>