Serveur Apache HTTP Version 2.3
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 Nouvelles fonctionnalités, ou dans
le fichier src/CHANGES
. Les développeurs d'applications
et de modules trouveront un résumé des modifications de l'API dans la
vue d'ensemble Mises à jour de
l'API.
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 continuant d'utiliser la version 2.2. Pour tirer parti des nouvelles fonctionnalités de la version 2.4, reportez-vous au document "Nouvelles fonctionnalités".
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 document de mise à jour de 2.0 vers 2.2.
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 configure
(telle qu'elle
est enregistrée dans le fichier build/config.nice
situé dans le répertoire de compilation du serveur). Voici certains
changements intervenus dans la configuration par défaut :
mod_disk_cache
dans la version 2.4.mod_lbmethod_bybusyness
. Vous devrez compiler et
chargés tous les modules correspondants que votre configuration
utilise.Des changements significatifs dans la configuration de l'autorisation, ainsi que quelques changements mineurs, peuvent nécessiter une modification des fichiers de configuration de la version 2.2 avant de les utiliser sous la version 2.4.
Tout fichier de configuration qui gère des autorisations devra probablement être modifié.
Vous devez vous reporter au document Authentification, autorisation et contrôle d'accès, et plus particulièrement à la section Plus loin qu'une simple autorisation qui explique les nouveaux mécanismes permettant de contrôler l'ordre dans lequel les directives d'autorisation sont appliquées.
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 du client était assuré via les directives Order
, Allow
, Deny
, et Satisfy
.
Dans la version 2.4, ce contrôle d'accès est assuré, comme tout
contrôle d'autorisation, via le nouveau module
mod_authz_host
. Bien que le module
mod_access_compat
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.
Voici quelques exemples de contrôle d'accès avec l'ancienne et la nouvelle méthode :
Dans cet exemple, toutes les requêtes sont rejetées :
Order deny,allow
Deny from all
Require all denied
Dans cet exemple, toutes les requêtes sont acceptées :
Order allow,deny
Allow from all
Require all granted
Dans l'exemple suivant, tous les hôtes du domaine apache.org ont l'autorisation d'accès, tous les autres sont rejetés :
Order Deny,Allow
Deny from all
Allow from apache.org
Require host apache.org
D'autres ajustements mineurs peuvent s'avérer nécessaires pour certaines configurations particulières, comme décrit ci-dessous.
DefaultType
ne produit plus aucun
effet, si ce n'est d'émettre un avertissement si elle est
définie à une valeur autre que none
. D'autres
directives de configuration la remplacent dans la version 2.4.
mod_log_config
: ${cookie}C
correspond au nom du cookie dans son ensemble, alors qu'avant,
toute sous-chaîne pouvait correspondre.mod_dav_fs
: le format du fichier DavLockDB
a changé pour les systèmes
avec inodes. L'ancien fichier DavLockDB
doit être supprimé dans le
cadre de la mise à jour.
KeepAlive
n'accepte que les valeurs On
ou Off
.
Avant, toute valeur autre que "Off" ou "0" était traitée comme
"On".Mutex
.
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 Mutex
.mod_cache
: la directive CacheIgnoreURLSessionIdentifiers
effectue maintenent 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
sessionid
pour correspondre à
/une-application/image.gif;jsessionid=123456789
,
vous devez maintenant utiliser la chaîne de correspondance
complète jsessionid
.
mod_ldap
: la directive LDAPTrustedClientCert
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.mod_auto_index
: extrait maintenant les titres
et affiche la description pour les fichiers .xhtml qui étaient
jusqu'alors ignorés.htpasswd
utilise maintenant par défaut les
condensés MD5 sur toutes les plates-formes.Tous les modules tiers doivent être recompilés pour la version 2.4 avant d'être chargés.
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 Mise à jour de l'API.
Invalid command 'User', perhaps misspelled or defined by
a module not included in the server configuration
- chargez
le module mod_unixd
Invalid command 'Require', perhaps misspelled or defined
by a module not included in the server configuration
, ou
Invalid command 'Order', perhaps misspelled or defined by a
module not included in the server configuration
- chargez
le module mod_access_compat
, ou mettez à jour
vers la version 2.4 les directives d'autorisation.Ignoring deprecated use of DefaultType in line NN of
/path/to/httpd.conf
- supprimez la directive DefaultType
et remplacez-la par les
directives de configuration appropriées.configuration error: couldn't check user: /path
-
chargez le module mod_authn_core
.