我试图在Windows 2008下为不同的写入权限在Apache2上配置SVN访问。
我有下一个Apache2 conf:
<Location /svn>
SVNParentPath "E:\SVN"
DAV svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repositories"
Require valid-user
AuthUserFile svn-auth.txt
AuthzSVNAccessFile svn-acl.txt
</Location>
<Location /svn/foobar>
SVNParentPath "E:\SVN\foobar"
DAV svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repositories"
Require valid-user
AuthUserFile svn-auth.txt
AuthzSVNAccessFile svn-acl.txt
</Location>E:\SVN是所有存储库的根目录--我想列出全部。它包含E:\SVN\test -是一个项目存储库。
E:\SVN\foobar -是一个包含E:\SVN\foobar\foo和E:\SVN\foobar\bar -项目存储库的子根目录.
文件svn-auth.txt包含许多由htpasswd.exe生成的用户密码。
文件svn-acl.txt包含一个写访问规则,但是它不工作!事件它只包含一个全局权限:
[/]
* = rwSVNPath和SVNParentPath在SVN的Apache2配置中有什么不同?也许这是有道理的?
当然,如果我添加一个组或一个用户,它也不起作用:
[groups]
full = abatishchev
[/]
* = r
@full = rw
abatishchev = rw我要去接403 Forbiden了。
我做错了什么?蒂娅!
更新:我从error.log找到了一条记录:
The URI does not contain the name of a repository. [403, #190001]这可能意味着什么?
发布于 2009-12-23 10:04:11
更改Apache配置
<Location /svn>至
<Location /svn/>修正目录列表中的403错误问题
发布于 2009-12-22 19:43:05
SVNPath用于一个存储库,SVNParentPath用于包含多个存储库的根目录。因此,您应该删除Apache文件中的第二个位置,因为如果您尝试访问http://<host>/svn/foobar,它与第一个位置发生冲突。
您应该为访问和身份验证文件设置绝对路径,确保Apache服务对父目录和所有存储库具有读/写访问权,并读取对这些访问和身份验证文件的访问权限,这在手动安装中经常被忽略。
例如:
<Location /svn>
RedirectMatch ^(/svn)$ $1/
SVNParentPath E:\SVN
DAV svn
SVNListParentPath on
AuthType Basic
AuthName "Subversion repositories"
Require valid-user
AuthUserFile C:\SVN\conf\svn-auth.txt
AuthzSVNAccessFile C:\SVN\conf\svn-acl.txt
</Location>您将在带有Subversion的版本控制中找到所有必要的信息(这是指向最新版本的链接,尽管Apache设置最近没有改变)。
然后,您应该能够为组和用户以及您的存储库指定全局或单独的权限。这方面的例子可以找到这里,其名称是您指定的:
[groups]
full = abatishchev, anotherguy
main = abatishchev
[/]
* = r
@full = rw
abatishchev = rw
[foobar:/]
* =
@main = rw
full = r
[otherproject:/]
@main = rw
full = r在本例中,您在[/]中设置了一般规则,然后为foorbar (和下面的所有内容)和otherproject设置了特定的规则。您甚至可以为存储库的各个目录指定特定规则。
发布于 2009-12-23 17:42:42
这并不是对你的问题的直接回答,从地面上学东西总是很棒的,就像你现在正在做的一样,但是当你在一台Windows机器上时,我想我会提到VisualSVN服务器。这是一个点和点击,非常好地配置包装的SVN二进制文件,提供了自己的网络访问。
https://stackoverflow.com/questions/1948318
复制相似问题