Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apache on Ubuntu: module dav_module is already loaded

I just moved my subversion repository from an old FreeBSD server to a new Ubuntu 16 server with Apache 2.4. I configuret a new site in "sites-available" and restarted Apache, which gave me this error:

[so:warn] [pid 15619] AH01574: module dav_module is already loaded, skipping

It seems that all loaded modules related to dav are different. I don't see dav_module loaded twice:

# 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

Apart form subversion and apache, I installed these packages:

# apt-get install subversion-tools libapache2-svn

I noticed that the installation took care of loading the modules (a2enmod), so I didn't do anything in that regard.

This is my virtualhost config:

<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>

Everything is working fine despite this warning, but nevertheless it would be nice to get rid of it.

like image 654
Jette Avatar asked May 08 '18 10:05

Jette


1 Answers

Your vitual host config is fine and has nothing to do with the warning. The problem is created by two included config files both loading mod_dav.so:

  • mods-enabled/dav_svn.load: loads the DAV module as a dependency
  • mods-enabled/dav.load: (obviously)

dav_svn.load is careful about it and only includes dav.load if the module isn't already loaded, but dav.load has no such check. This works fine if dav.load is included before dav_svn.load, but apparently that doesn't happen in your case (same here, by the way).

I was able to get rid of the warning by changing the content of dav.load from

LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so

to

<IfModule !mod_dav.c>
    LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
</IfModule>
like image 139
Zilk Avatar answered Nov 10 '22 18:11

Zilk