Chargement module dav sous Apache
Sous Ubuntu
il est possible de recharger la configuration de Apache
dynamiquement en fournissant l'argument graceful
à la commande apache2ctl
. Cependant, pour une installation standard sous Ubuntu
, ceci produit un message d'avertissement lorsque le module DAV
, utilisé pour l'exposition de SVN sous Apache, est activé.
#sudo apache2ctl graceful [Thu Nov 29 22:36:29.984202 2018] [so:warn] [pid 16861] AH01574: module dav_module is already loaded, skipping
Cet article présente une modification possible pour éviter le message d'avertissement.
Sommaire
Votre avis
Nobody voted on this yet
|
|
Etude
Afin de bien comprendre le fonctionnement, il est nécessaire d'étudier la configuration des différents modules activés. Les modules sont activés à l'aide de lien dans le répertoire /etc/apache2/mods-enabled
, pointant sur les définitions dans /etc/apache2/mods-available
.
La première commande va permettre de rechercher les modules impliqués dans le chargement de mod_dav
.
#sudo grep mod_dav /etc/apache2/mods-enabled/* /etc/apache2/mods-enabled/authz_svn.load:<IfModule !mod_dav_svn.c> /etc/apache2/mods-enabled/dav.load:#LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so /etc/apache2/mods-enabled/dav.load:<IfModule !mod_dav.c> /etc/apache2/mods-enabled/dav.load: LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so /etc/apache2/mods-enabled/dav_svn.load:<IfModule !mod_dav_svn.c> /etc/apache2/mods-enabled/dav_svn.load: <IfModule !mod_dav.c> /etc/apache2/mods-enabled/dav_svn.load: LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
Le fichier /etc/apache2/mods-available/authz_svn.load
contient la configuration suivante.
# Depends: dav_svn
<IfModule !mod_dav_svn.c>
Include mods-enabled/dav_svn.load
</IfModule>
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
Si le module mod-dav_svn
n'est pas déjà activé, le fichier /etc/apache2/mods-enabled/dav_svn.load
, lien vers /etc/apache2/mods-available/dav_svn.load
, est chargé avec le contenu suivant.
# Depends: dav
<IfModule !mod_dav_svn.c>
<IfModule !mod_dav.c>
Include mods-enabled/dav.load
</IfModule>
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
</IfModule>
Si le module mod_dav
n'est pas déjà activé, le fichier /etc/apache2/mods-enabled/dav.load
, lien vers /etc/apache2/mods-available/dav.load
, est chargé avec le contenu suivant.
#LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
Cette configuration ne contient aucune vérification sur une possible activation préalable du module, comme dans le cas des deux précédents fichiers.
Configuration
Afin de ne plus avoir de ne plus avoir de message, il suffit donc de rajouter un contrôle sur le chargement préalable du module en s'inspirant des déclarations faites dans authz_svn.load
ou dav_svn.load
. La vérification porte sur le module mod_dav.c
.
Le fichier /etc/apache2/mods-enabled/dav.load
est modifié ainsi.
#LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
<IfModule !mod_dav.c>
LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
</IfModule>
Puis il suffit de recharger la configuration.
#sudo apache2ctl graceful
Voir aussi
Cette explication est inspirée de la réponse sur Stackoverflow: https://stackoverflow.com/questions/50231086/apache-on-ubuntu-module-dav-module-is-already-loaded