SVN Could not open the requested SVN filesystem SVN 403 Forbidden权限错误

来源:互联网 发布:樱井知香黑人番号 编辑:程序博客网 时间:2024/05/16 06:53

本来来自:http://blog.lixiphp.com/svn-could-not-open-the-requested-svn-filesystem-and-403-forbidden/

本文主要记录SVN配置过程的一些重要信息,以及各种错误解决方法。

  • 解决 SVN Could not open the requested SVN filesystem
  • 解决 SVN 403 Forbidden权限错误

Subversion安装与Apache配置

For an Apache server here’s the essentials:

1. Copy bin/mod_dav_svn.so and bin/mod_authz_svn.so to the Apache modules directory.(拷贝两个文件)
2. Add the Subversion/bin directory to the SYSTEM PATH and reboot so all the Subversion
support dll’s are visible to the Apache service.(设置环境变量)
3. Edit the Apache configuration file (httpd.conf) and make the following changes:(编辑http.conf)

3a. Uncomment the following two lines:(去掉注释)

#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so

3b. Add the following two lines to the end of the LoadModule section:(添加两个 LoadModule)

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

3c. Add the following to end of the file. Note: This Location directive is a
minimal example with no authentication directives. For other options,
especially authentication options, see the Subversion INSTALL file,
the Subversion Book, or the TortoiseSVN Manual.(本地目录)

<Location /svn>
DAV svn
SVNPath your/repository/path
</Location>

Apache配置详细信息

<Location /svn>
DAV svn
SVNPath F:/SvnData/4rims
AuthType Basic
AuthName “4RIMS Subversion”
AuthUserFile F:/SvnData/4rims/conf/passwd
AuthzSVNAccessFile F:/SvnData/4rims/conf/authz
Require valid-user
</Location>

密码生成指令

第一次创建passwd文件。

C:\xampp\apache\bin>htpasswd -c F:\SvnData\4rims\conf\passwd bruce

添加第二个用户,以此类推。

C:\xampp\apache\bin>htpasswd F:\SvnData\4rims\conf\passwd jack

页面错误信息是

<D:error>
<C:error/>
<m:human-readable errcode=”720002″>
Could not open the requested SVN filesystem
</m:human-readable>
</D:error>


error.log里错误信息是

[Tue Jul 13 10:42:54 2010] [error] [client 127.0.0.1] (20014)Internal error: Can’t open file

‘F:\\SvnData\\format’: \xe7\xb3\xbb\xe7\xbb\x9f\xe6\x89\xbe\xe4\xb8\x8d\xe5\x88\xb0\xe6\x8c\x87\xe5

\xae\x9a\xe7\x9a\x84\xe6\x96\x87\xe4\xbb\xb6\xe3\x80\x82
[Tue Jul 13 10:42:54 2010] [error] [client 127.0.0.1] Could not fetch resource information.  [500, #0]
[Tue Jul 13 10:42:54 2010] [error] [client 127.0.0.1] Could not open the requested SVN filesystem  [500,

#720002]
[Tue Jul 13 10:42:54 2010] [error] [client 127.0.0.1] Could not open the requested SVN filesystem  [500,

#720002]
[Tue Jul 13 10:46:08 2010] [warn] pid file C:/xampp/apache/logs/httpd.pid overwritten — Unclean shutdown of

previous Apache run?
[Tue Jul 13 10:46:09 2010] [notice] Apache/2.2.9 (Win32) SVN/1.6.5 DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h

mod_autoindex_color PHP/5.2.6 configured — resuming normal operations

使用SVNPath,必须定义到每个仓库位置,不能定义父级目录。SVNPath F:/SvnData 就会出现上面的错误,找不到format文件

解决方法:

SVNPath F:/SvnData/4rims    定义到具体仓库位置
SVNParentPath F:/SvnData    定义多个仓库

权限错误

SVN:服务器发送了意外的返回值(403 Forbidden),在响应”OPTIONS”的请求中

当定义到具体仓库时,[repository:/baz/fuz]就会无效,此时直接定义[/foo/bar]文件目录权限即可。
当定义多个仓库时,[repository:/baz/fuz]才会起到权限控制作用。