Suite à la mise à jour vers Debian 8 Jessie que je décrivais dans mon précédent article, le paquet Apache passe de la version 2.2 à la version 2.4, ce qui m’a causé quelques ennuis de paramétrage.

Si vous avez le temps de lire le patch note vous devriez déjà le savoir, mais il y a deux aspects qui vous touchent immédiatement après la montée en version d’Apache :

  • Les paramétrages des vhosts ne sont pas automatiquement chargés au redémarrage d’Apache dans sa nouvelle version,
  • Des erreurs « Client denied by server configuration » apparaissent, vos vhosts ne sont plus accessibles.

Paramétrage des vhosts

Par défaut, les fichiers de configuration situés dans /etc/apache2/sites-enabled/ doivent avoir l’extension *.conf.

Ce n’était pas mon cas auparavant et j’ai mis quelques instants avant de m’en rendre compte. Vous pouvez cependant modifier ce comportement par défaut dans le fichier /etc/apache2/apache2.conf de la façon suivante :

 # Include the virtual host configurations:
 IncludeOptional sites-enabled/*.conf

Devient :

 # Include the virtual host configurations:
 IncludeOptional sites-enabled/*

Résoudre l’erreur « Client denied by server configuration »

Dans mes fichiers de paramétrage de vhosts, je fais mention aux droits d’accès aux document_root et au répertoire de CGI avec la syntaxe suivante :

 Options -Indexes +FollowSymLinks +MultiViews
 AllowOverride All
 Order allow,deny
 Allow from all

La syntaxe du Order allow,deny et Allow from all a été changée pour être remplacée par quelque chose de plus simple :

 Options -Indexes +FollowSymLinks +MultiViews
 AllowOverride All
 Require all granted

Vous devriez retrouver l’usage de vos vhosts en changeant cela et en rechargeant la configuration de votre serveur Apache avec la commande suivante :

/etc/init.d/apache2 graceful

Vous trouverez d’autres évolutions en consultant la page dédiée à la version 2.4 d’Apache sur le site officiel.