13 votes

Apache sur Ubuntu : le module dav_module est déjà chargé

Je viens de déplacer mon dépôt subversion d'un vieux serveur FreeBSD vers un nouveau serveur Ubuntu 16 avec Apache 2.4. J'ai configuré un nouveau site dans "sites-available" et redémarré Apache, qui m'a donné cette erreur :

[so:warn] [pid 15619] AH01574 : le module dav_module est déjà chargé, en ignorant

Il semble que tous les modules chargés liés à dav soient différents. Je ne vois pas de module dav_module chargé deux fois :

# cd /etc/apache2
# grep -rI "LoadModule" * | grep dav
mods-available/dav_fs.load:LoadModule dav_fs_module /usr/lib/apache2/modules/mod_dav_fs.so
mods-available/dav_svn.load:LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
mods-available/dav.load:LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
mods-available/dav_lock.load:LoadModule dav_lock_module /usr/lib/apache2/modules/mod_dav_lock.so

En dehors de subversion et apache, j'ai installé ces paquets :

# apt-get install subversion-tools libapache2-svn

J'ai remarqué que l'installation se chargeait de charger les modules (a2enmod), donc je n'ai rien fait à ce sujet.

Voici la configuration de mon virtualhost :

<VirtualHost *:443>
  DocumentRoot /var/www/subversion
  ServerName svn.domain.com
  ErrorLog "|/usr/bin/rotatelogs -l /var/log/subversion/svn-error.%Y.%m.%d 86400"
  CustomLog /var/log/subversion/svn-access_log "%t %u %{SVN-ACTION}e" env=SVN-ACTION

  <Location "/">
     DAV svn 
     SVNPath /var/www/subversion

     #Authenticated users only
     Require valid-user
     # authenticating them valid ones
     AuthType Basic
     AuthName "Subversion Repository"
     AuthUserFile /var/www/passwd/.htpasswd-svn
       order deny,allow
       deny from all 
       satisfy any 
  </Location>

  SSLEngine on
  SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
  SSLCACertificateFile /etc/ssl/local_certs/2018-domain.com/intermediate.crt
  SSLCertificateFile /etc/ssl/local_certs/2018-domain.com/public.crt
  SSLCertificateKeyFile /etc/ssl/local_certs/2018-domain.com/private.key

  <FilesMatch "\.(cgi|shtml|phtml|php)$">
    SSLOptions +StdEnvVars
  </FilesMatch>

  BrowserMatch ".*MSIE.*" \
    nokeepalive ssl-unclean-shutdown \
    downgrade-1.0 force-response-1.0

  <Directory /var/www/subversion>
    Options -Indexes
  </Directory>
</VirtualHost>

Tout fonctionne bien malgré cet avertissement, mais il serait néanmoins agréable de s'en débarrasser.

31voto

Zilk Points 891

La configuration de votre hôte virtuel est correcte et n'a rien à voir avec l'avertissement. Le problème est créé par deux fichiers de configuration inclus qui chargent tous les deux mod_dav.so :

  • mods-enabled/dav_svn.load : charge le module DAV en tant que dépendance
  • mods-enabled/dav.load : (évidemment)

dav_svn.load est prudent à ce sujet et n'inclut que dav.load si le module n'est pas déjà chargé, mais dav.load n'a pas de contrôle de ce type. Cela fonctionne bien si dav.load est inclus avant dav_svn.load mais apparemment cela ne se produit pas dans votre cas (même chose ici, d'ailleurs).

J'ai pu me débarrasser de l'avertissement en changeant le contenu du fichier dav.load de

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>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X