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 *