【问题标题】:Apache on Ubuntu: module dav_module is already loadedUbuntu 上的 Apache:模块 dav_module 已加载
【发布时间】:2018-10-18 06:09:06
【问题描述】:

我刚刚将我的 subversion 存储库从旧的 FreeBSD 服务器移动到带有 Apache 2.4 的新 Ubuntu 16 服务器。我在“站点可用”中配置了一个新站点并重新启动了 Apache,这给了我这个错误:

[so:warn] [pid 15619] AH01574: 模块 dav_module 已加载,正在跳过

似乎所有加载的与 dav 相关的模块都不一样。我没有看到 dav_module 加载了两次:

# 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

除了 subversion 和 apache,我安装了这些包:

# apt-get install subversion-tools libapache2-svn

我注意到安装过程负责加载模块 (a2enmod),所以我没有在这方面做任何事情。

这是我的虚拟主机配置:

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

尽管有此警告,但一切正常,但最好摆脱它。

【问题讨论】:

    标签: apache ubuntu svn module


    【解决方案1】:

    您的虚拟主机配置很好,与警告无关。问题是由两个包含的配置文件造成的,它们都加载了mod_dav.so

    • mods-enabled/dav_svn.load:将 DAV 模块作为依赖加载
    • mods-enabled/dav.load:(显然)

    dav_svn.load 对此很小心,如果模块尚未加载,则仅包含dav.load,但dav.load 没有此类检查。如果dav.load 包含在dav_svn.load 之前,这可以正常工作,但显然在您的情况下不会发生这种情况(顺便说一下,这里也一样)。

    我可以通过更改 dav.load 的内容来摆脱警告

    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>
    

    【讨论】:

    • 应该在 apache2 上作为功能或错误请求发布,已经完成了吗?
    • @Pipo:这可能是 Ubuntu 对 Apache 的封装所特有的。这个错误可能应该在 Launchpad 上提交,但我目前在那里没有活动帐户,所以我还没有这样做。跨度>
    • Debian 9 更新后出现同样的问题并通过 Zilk 回答解决。谢谢!!
    • 在 Debian 10 中存在同样的问题。我认为没有修复('18, '19, '20)。
    猜你喜欢
    • 2019-06-22
    • 1970-01-01
    • 2017-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2015-12-22
    相关资源
    最近更新 更多