GCS Amplitude
GCS Amplitude

Mise à jour de la version 2.2 vers la version 2.4

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 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".

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.

situé dans le répertoire de compilation du serveur). Voici certains changements intervenus dans la configuration par défaut :

. Vous devrez compiler et chargés tous les modules correspondants que votre configuration utilise.LoadModule

Tout fichier de configuration qui gère des autorisations devra probablement être mis à jour.

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.

Les directives qui contrôlent la manière dont les modules d'autorisation réagissent lorsqu'ils ne reconnaissent pas l'utilisateur authentifié ont été supprimées : elles comprennent les directives AuthzLDAPAuthoritative, AuthzDBDAuthoritative, AuthzDBMAuthoritative, AuthzGroupFileAuthoritative, AuthzUserAuthoritative et AuthzOwnerAuthoritative. Ces directives ont été remplacées par les directives plus explicites

, vous devez mettre à jour votre configuration en remplaçant les directives du style modauthzdbmRequire group ...

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

Dans la version 2.4, ce contrôle d'accès est assuré, comme tout contrôle d'autorisation, via le nouveau module

. Bien que le module modauthzhost

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.modaccesscompat

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

Dans l'exemple suivant, tous les hôtes du domaine example.org ont l'autorisation d'accès, tous les autres sont rejetés :

Require host example.org

D'autres ajustements mineurs peuvent s'avérer nécessaires pour certaines configurations particulières, comme décrit ci-dessous.

a été renommée en MaxConnectionsPerChild

; ce nouveau nom reflète mieux l'usage de cette directive. L'ancien nom est encore supporté.MaxClients

; ce nouveau nom reflète mieux l'usage de cette directive. Pour les modules multiprocessus asynchrones, comme event

, le nombre maximal de clients n'est pas équivalent au nombre de threads du worker. L'ancien nom est encore supporté.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. AllowOverride

est maintenant Off.FileETag

est maintenant "MTime Size" (sans INode).moddavfs

: 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

. 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

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 sessionid

pour correspondre à /une-application/image.gif;jsessionid=123456789

: le second paramètre de la directive CacheEnable

ne concerne les contenus en mandat direct que s'ils débutent par le protocole approprié. Dans les versions 2.2 et antérieures, un paramètre tel que '/' concernait tous les contenus.mod_ldap

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_filter

: la syntaxe de la directive FilterProvider

utilise maintenant une expression booléenne pour déterminer si un filtre s'applique. mod_include

utilise maintenant le nouvel SSILegacyExprParser

a été supprimée en faveur d'une configuration de la directive LogLevel

: le contrôle de révocation des certificats basé sur les CRL doit être maintenant explicitement configuré via la directive SSLCARevocationCheck

: la taille maximale d'une ligne est maintenant 1Mo. mod_reqtimeout

: si ce module est chargé, il définit maintenant certains temps d'attente par défaut.mod_dumpio

n'est plus supportée. Les données sont toujours enregistrées au niveau trace7

étaient invoquées en utilisant /bin/sh -c

. A partir de la version 2.4, les commandes de redirection des logs sont exécutées directement. Pour retrouver l'ancien comportement, voir la modautoindex

: extrait maintenant les titres et affiche la description pour les fichiers .xhtml qui étaient jusqu'alors ignorés.mod_ssl

a changé. Il est cependant encore possible d'utiliser l'ancien format via la nouvelle option LegacyDNStringFormat

. Le protocole SSLv2 n'est plus supporté. Les directives SSLProxyCheckPeerCN

sont maintenant définies par défaut à On, et les requêtes mandatées vers des serveurs HTTPS possèdant des certificats non conformes ou périmés échoueront donc avec un code d'erreur 502 (Bad gateway).htpasswd

utilise maintenant par défaut les condensés MD5 sur toutes les plates-formes.NameVirtualHost

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. mod_deflate

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. #if expr=

a été activée pour le répertoire contenant les pages d'erreur. modauthnalias

dans les précédentes versions (en fait la directive AuthnProviderAlias

) est maintenant fournie par modauthncore

qui permet de définir un niveau de journalisation approprié pour le module mod_rewrite

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

, ou mettez à jour vers la version 2.4 les directives d'autorisation. Ignoring deprecated use of DefaultType in line NN of /path/to/apache2.conf

et remplacez-la par les directives de configuration appropriées. Invalid command 'AddOutputFilterByType', perhaps misspelled or defined by a module not included in the server configuration

qui était jusqu'alors implémentée par le module core, l'est maintenant par le module mod_filter, qui doit donc être chargé.configuration error: couldn't check user: /path

ne sont pas traités - Vérifiez la présence d'une directive AllowOverride

Modules | Directives | FAQ | Glossaire | Plan du site

Serveur Apache HTTP Version 2.4

Mise à jour de la version 2.2 vers la version 2.4

Langues Disponibles: en | fr

Modifications des paramètres de compilation

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 cha

Modifications de la configuration à l'exécution

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.

Changements divers

Modules tiers

Tous les modules tiers doivent être recompilés pour la version 2.4 avant d'être chargés.

Problèmes de mise à jour courants