Apache 选择错误版本的已安装 Subversion

Apache 选择错误版本的已安装 Subversion

我有一台 Debian Squeeze 服务器,其中安装了 Apache2 和 Subversion。Subversion 版本是 1.6.12 (r955767)。它来自 Debian 存储库。但最近我从源代码将 Subversion v1.7.7 安装了到 /usr/local/,现在在控制台中我看到

root@test:~# svn --version
svn, version 1.7.7 (r1393599)
   compiled Dec  6 2012, 17:28:19

   ...

root@test:~# svnadmin --version
svnadmin, version 1.7.7 (r1393599)
   compiled Dec  6 2012, 17:28:19

   ...

root@test:~# svnserve --version
svnserve, version 1.7.7 (r1393599)
   compiled Dec  6 2012, 17:28:19

   ...

但是当我通过 Apache 访问该服务器时,我得到了以下服务器签名

Powered by Subversion version 1.6.12 (r955767).

Apache 虚拟主机配置是

<VirtualHost XXX.XXX.XXX.XXX:80>
        ServerAdmin [email protected]
        ServerName svn.XXXXXXXXX.XX
        HostnameLookups Off
        UseCanonicalName Off
        ServerSignature On

        <IfModule mod_userdir.c>
                UserDir public_html
                Include /etc/apache2/mod_userdir.conf
        </IfModule>
        <Directory "/var/svn/">
                Options FollowSymLinks
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
        <Location />
                DAV svn
                SVNParentPath /var/svn/repos

                AuthType Basic
                AuthName "Advance Digital Subversion Repository."
                AuthUserFile /etc/apache2/dav_svn.passwd
                Require valid-user
        </Location>
</VirtualHost>

所以问题是:Apache 如何选择要使用的 Subversion 版本?如何更改此设置?

答案1

您还需要升级 Apache webDav / SVN 模块(libapache2-svn),因此您要么需要获取 Apache 源代码并编译 Apache 和 lib 的更新版本,要么 apt-get 获取最新的 Apache、SVN 和 libapache2-svn 包。

答案2

如果你仔细观察/etc/apache2/mods-enabled/dav_svn.load,你会看到

LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so

您可以确认这些指向 Debian 的 Subversion 1.6.12 模块:

$ strings /usr/lib/apache2/modules/mod_dav_svn.so | grep 'Powered by'
 <hr noshade><em>Powered by <a href="http://subversion.tigris.org/">Subversion</a> version 1.6.12 (r955767).</em>

您应该进行修改/etc/apache2/mods-available/dav_svn.load以指向您为 Apache 自建的 Subversion 模块。

相关内容