我在Ubuntu Server 14.04上安装了subversion
和libapache2-svn
。我可以在本地检查一个svn而没有任何问题所以我知道Subversion正在工作。
我试图在Windows机器上使用TortoiseSVN检查它,但是当我这样做时,我得到以下错误列表:
无法通过网址' http://myurl.com/svn/testproject'
连接到存储库意外的HTTP状态500'内部服务器错误' on' / svn / testproject'
其他错误:
OPTIONS请求' / svn / testproject'失败:500内部服务器错误
在testproject
中,我的passwd
文件如下:
[users]
username1 = password1
和我的authz
文件如下
[groups]
username1_group = username1
[/svn/testproject]
@username1_group = rw
和/etc/apache2/mods-enables/dav_svn.conf
如下:
<Location /svn/testproject>
DAV svn
SVNPath /svn/testproject
AuthType Basic
AuthName "myproject subversion repository"
AuthUserFile /svn/tesproject/conf/passwd
Require valid-user
</Location>
我对它的理解是,这应该足以让我在上面的以下网址查看我的svn。 TortiseSVN提示我输入用户名和密码,但我passwd
文件中的组合不起作用。我哪里错了?
答案 0 :(得分:1)
我看到很多错误,错误和错误解释
htpasswd
authz
- 文件在您的配置中没有任何意义,因为您尚未使用AuthzSVNAccessFile启用Path-Based Authorization Subversion通过提供Apache中基于路径的访问控制 mod_authz_svn模块,必须使用LoadModule加载 httpd.conf中的指令与mod_dav_svn本身的方式相同 加载。为了能够将此模块用于您的存储库,您需要 添加AuthzSVNAccessFile指令
[/svn/testproject]
是authz文件也是完全不正确的定义,因为它定义了单个存储库中的路径/svn/testproject
,而不是存储库的根目录,正如你所料。来自SVN Book
如果您正在使用SVNParentPath指令,那么指定它很重要 您的部分中的存储库名称。如果省略它们,则为一节 例如[/ some / dir]将匹配每个存储库中的路径/ some / dir。 但是,如果您正在使用SVNPath指令,则可以提供 只有你的部分中的路径 - 毕竟,只有一个存储库。
用于恢复最小功能的必须修复是第1-2页
答案 1 :(得分:0)
更改
[组]
username1_group = username1
到
[组]
username1_group = 密码