Ubuntu 上的 Apache:模块 dav_module 已加载
Apache on Ubuntu: module dav_module is already loaded
我刚刚将我的 subversion 存储库从旧的 FreeBSD 服务器移动到新的 Ubuntu 16 服务器和 Apache 2.4。我在 "sites-available" 中配置了一个新站点并重新启动了 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>
尽管有此警告,但一切正常,但最好摆脱它。
您的虚拟主机配置没有问题,与警告无关。问题是由两个包含的配置文件创建的,它们都加载 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>
我刚刚将我的 subversion 存储库从旧的 FreeBSD 服务器移动到新的 Ubuntu 16 服务器和 Apache 2.4。我在 "sites-available" 中配置了一个新站点并重新启动了 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>
尽管有此警告,但一切正常,但最好摆脱它。
您的虚拟主机配置没有问题,与警告无关。问题是由两个包含的配置文件创建的,它们都加载 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>