当我想要运行 SVN 时,我遇到了一个问题,我已经探索了所有相关问题,但我不明白我的情况出了什么问题。所以我决定在这里发布我的问题,请帮我仔细检查所有的步骤。
我正在使用 Apache 版本 2.0,我的 SVN 版本是 1.4。
我收到:“禁止访问您无权访问此服务器上的 /svn/。”当我输入
http://localhost/svn/
在我的電腦中。
禁止您无权访问此服务器上的 /svn/。
Apache/2.0.64 (Win32) SVN/1.4.0 DAV/2 服务器位于本地主机端口 80
我已经基于以下设置了我的 apache 和 SVN 服务器这里但我不知道我的设置出了什么问题,导致我收到权限拒绝错误消息。我希望有人能帮我检查一下我的工作,找出问题的根本原因。
我的httpd.conf:
<Location /svn/>
DAV svn
SVNParentPath c:/svnroot/
SVNListParentPath on
AuthzSVNAccessFile bin/apachesvnauth
AuthType Basic
AuthName "Subversion repository"
AuthUserFile bin/apachesvnpasswd
Require valid-user </Location>
我的身份验证文件。
[/]
* = r
[test1:/]
user1 = rw
user2
[test2:/]
user1 = r
user2 = rw
如果您需要更多信息,请随时通知我,以便我与您分享。我使用的是 Windows XP。还有一件事,我已经将 SVN 和存储库文件夹的所有读写权限也分配给了自己的用户。
我的 apache 日志如下:
> [Wed Apr 10 15:49:34 2013] [notice] Server built: Oct 18 2010 01:36:23
> [Wed Apr 10 15:49:34 2013] [notice] Parent: Created child process 1656
> [Wed Apr 10 15:49:35 2013] [notice] Child 1656: Child process is
> running [Wed Apr 10 15:49:35 2013] [notice] Child 1656: Acquired the
> start mutex. [Wed Apr 10 15:49:35 2013] [notice] Child 1656: Starting
> 250 worker threads. [Wed Apr 10 15:49:48 2013] [error] [client
> 10.8.8.139] Access denied: 'user1' GET svn:/
答案1
在您的<Location /svn/>
块中,添加Order allow,deny
和Allow from all
。
答案2
- 如果你的服务器是 Windows 主机(正如我从
SVNParentPath
字符串中看到的),则写入完整路径(非相对)至 AuthzSVNAccessFile|AuthUserFile Satisfy any
您可以通过将(临时)添加到位置容器来测试对存储库的匿名访问- 如果您希望在配置中有明确的访问规则(而缺失意味着
Allow from all
AFAICR),并且字符串也指向位置容器,而不是目录 通过访问测试配置
- 存储库,不是存储库根目录
- 经过SVN客户端,而不是浏览器(您将一次性看到所有可能出现的问题)
5.修复 test1 repo 中的 user2,使用正确的行格式