SVN与Apache 2.2错误:“禁止您没有权限访问/仓库在这个服务器上”

我一直遵循这个svn安装指南 ,当我尝试通过访问http://localhost/repos访问我的testinghttp://localhost/repos ,我validation成功,但是我得到这个:

 "Forbidden You don't have permission to access /repos on this server" 

这是我的subversion.conf文件:

 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so <Location /repos> DAV svn SVNParentPath /var/www/svn/repos # # # Limit write permission to list of valid users. # <LimitExcept GET PROPFIND OPTIONS REPORT> # # Require SSL connection for password protection. # # SSLRequireSSL # AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user # </LimitExcept> </Location> 

我的path是/ var / www / svn / repos,这里是我的权限

 [root@localhost svn]# ls -la repos/ total 32 drwxr-xr-x. 6 apache apache 4096 Aug 24 11:42 . drwxr-xr-x. 3 root root 4096 Aug 24 11:42 .. drwxr-xr-x. 2 apache apache 4096 Aug 24 13:50 conf drwxr-sr-x. 6 apache apache 4096 Aug 24 11:42 db -rwxr-xr-x. 1 apache apache 2 Aug 24 11:42 format drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 hooks drwxr-xr-x. 2 apache apache 4096 Aug 24 11:42 locks -rwxr-xr-x. 1 apache apache 229 Aug 24 11:42 README.txt 

如果我去localhost / repos / README.TXT我得到这个消息。

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

其他任何文件名都会给出errcode ="2"

selinux设置为宽容,我可以看到位于var / www / html / index.html的localhost / index.html文件就好了。

我已经阅读了几个相似的问题论坛post无济于事。

任何想法,将不胜感激!

编辑1:

我编辑了我的subversion.conf文件,将SVNParentPath /var/www/svn/repos更改为SVNParentPath /var/www/svn但似乎没有效果。

编辑2:

brain99钉了它。 更改Location />解决了问题,现在我得到了repos - Revision 0: /

Powered by Subversion version 1.6.11 (r934486).

看来你混淆了SVNPath和SVNParentPath指令。

从你发布的内容来看, /var/www/svn/repos包含一个单独的版本库。 在这种情况下,使用

 SVNPath /var/www/svn/repos 

只有当你有多个存储库时,你应该使用SVNParentPath。 然后,每个单独的存储库都应位于您在此处configuration的目录的子文件夹中。

所以要么将其设置为父目录:

 SVNParentPath /var/www/svn 

或者按原样保留configuration并将当前的存储库移动到一个子目录,例如/ var / www / svn / repos / myRepo

有关使用mod_dav_svn的更多信息,请查看mod_dav_svn上的SVN Book部分

首先检查目录SVNParentPath / var / www / svn / repos存在。 接下来,有没有子目录? 应该有自己的数据库存储库directori。 如果目录为空或没有子目录,则使用svnadmin命令(call manual)创build任何存储库。 创build后问题依然存在? 然后注释掉所有的指令AUTH *,并且需要重启apache。 访问将是匿名的,但你会检查,授权是或不是问题。 当访问可能时,授权是问题。 你必须configuration这个。 你必须阅读Apache的人,并学习如何pipe理AuthUserFile / etc / svn-auth-conf的基本授权。 当问题(与auth相关联)仍然存在时,问题是与文件访问权限有关。 configuration对Apache服务器使用的用户名的读/写访问。 ps auxww告诉你什么是用户。 你将从/ etc / passwd文件获得组号。 组名将从/ etc / group文件中获得。 在此之后,您将能够检出/更新并提交,您可以解决授权问题。 有很多收件人。 我把问题“svn创build我的第一个存储库”到谷歌,我已经得到了很多ansvers。 第一个是例如: http : //queens.db.toronto.edu/~nilesh/linux/subversion-howto/试试这个:)

顺便说一句。 centos是类似redhat的linux发行版。 你可以通过/etc/init.d/httpd start / stop重新启动apache。 看什么是写入文件/ etc / apache或/ etc / httpd(取决于Linux分配和默认的apacheconfiguration)。

试试这个选项:SVNListParentPath on