Apache 2.2 vers 2.4 dans une dist-upgrade

Quelques remarques pour ceux qui tenteront une migration Debian wheezy – jessie , mais ceci peut probablement intéresser les utilisateurs Ubuntu lors d’un passage (dist-upgrade) entre Apache 2.2 et 2.4 ( 12.04/14.04 Trusty )

Sous Debian, un système Apache 2.2 “dist upgradé” vers Apache 2.4 est soumis de façon “transparente” à de nombreux scripts de migration. L’essentiel est migré, mais l’Apache 2.4 résultant reste dans un état quelque peu “mixte” entre la structure des répertoires de Apache 2.2 et la structure de Apache 2.4

Anciennement, Apache 2.2 lisait ( via /etc/apache2/apache2.conf )

# Include generic snippets of statements
Include conf.d/

Lors d’un dist-upgrade, Apache2.conf sera modifié automatiquement, les endroits “anciennement 2.2” sont conservés, et les nouveaux endroits prévus en Apache 2.4 sont ajoutés.

# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
IncludeOptional conf-enabled/*.conf

Il y aura donc étrangement ces deux groupes de lignes dans votre config, et donc deux endroits autorisés pour placer les configurations suite à une dist upgrade, avec un endroit qui exige un fichier en “.conf” tandis que l’autre pas. Il me parait utile de “nettoyer” les Apache upgradés de façon à avoir une vraie config “2.4” en nettoyant le apache2.conf :

  1. suppression de l’include de “conf.d”
  2. migration manuelle des fichiers dans les nouveaux répertoires;
  3. en les renommant en .conf le cas échéant
  4. Attention à la structure conf-available/conf-enabled 

Certaines migrations se sont automatiquement (le fichier part de /conf.d vers /conf-available avec ajout d’un symlink dans conf-enabled), d’autres se font mal ou pas du tout. Par exemple, munin et Cacti sont mals migrés lors d’un dist upgrade, le fichier de config restera à l’ancien endroit. Il sera inclus via l’ancienne ligne de config (/conf.d/* ).

D’autres packages sont mal migrés ou mal supportés. En particulier tous les modules Zend qui possèdent une version ou que vous avez installé à la main sont ignorés (eg Ioncube), et sont migrés “tels quels” en Apache 2.4 ce qui mènera inévitablement a des problèmes.
(Le module n’est pas loadé, mais Apache tourne.)

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *