2014-01-17 58 views
1

我建立了一个svn服务器,服务器地址为http://www.oliverdavies.co.uk/blog/2011/10/install-and-configure-subversion-svn-server-ubuntu。我为它创建了一个密码,当使用Web浏览器查看时,它确实需要密码,但是当我使用“svn checkout http://”时,我可以将存储库中的所有内容像无密码一样提取。有人知道这里发生了什么吗?使svn结账需要密码

我/etc/apache2/apache2.conf中的配置包含同样的事情,在上面提到的文章,这是

<Location /svn> 
    DAV svn 
    SVNParentPath /home/svn 
    AuthType Basic 
    AuthName "SVN Repositories" 
    AuthUserFile /etc/svn-auth 
    Require valid-user 
</Location> 

[!解决]事实证明,它可以解决通过将/etc/apache2/apache2.conf中的<location /svn>配置移动到/etc/apache2/mods-available/dav_svn.conf。

+0

发布您的Apache配置? – TypeIA

+0

更新上面的/etc/apache2/apache2.conf,那是什么意思? – chentingpc

+0

我没有看到该配置有任何问题。 –

回答

0

我怀疑两件事情之一:

无论你使用当前用户帐户来测试通过svn命令行命令版本库,并已缓存的凭据;或者Apache httpd配置的其他部分允许访问相同的目录,绕过样本中的svn身份验证。

要测试前者,您可以尝试these instructions或者您可以简单地删除整个~/.subversion目录。如果后续svn co命令失败,请求输入密码,那么问题就解决了。

要测试后者,请将整个<Location /svn>块注释掉,然后尝试通过svn co再次访问它。如果你仍然可以,那么httpd配置的其他部分提供对该目录的访问。在这种情况下,您需要仔细检查您的配置(可以分布在多个文件中)以查看可能允许访问/home和/或/home/svn目录的任何内容。请记住,Apache可以配置为允许用户访问他们自己的主目录,这可能是问题所在。

您也可以检查从Apache HTTP允许访问的其他目录中的/home/svn目录的符号链接。

希望有帮助!

+0

谢谢,事实证明,它可以通过将/etc/apache2/apache2.conf中的配置移动到/etc/apache2/mods-available/dav_svn.conf来解决。 – chentingpc