Ubuntu + SVN:无法打开请求的 SVN 文件系统

Ubuntu + SVN:无法打开请求的 SVN 文件系统

我知道这个问题已经被问过很多次了。我相信我明白答案,但我仍然没有运气。

我尝试了两种one repo配置multiple repos,但都存在同样的问题。

因此,我感兴趣的配置是:

<Location /svn>
  DAV svn
  #SVNPath /media/ssd/svn/test
  SVNParentPath /media/ssd/svn
  SVNListParentPath On
  AuthType Basic
  AuthName "Subversion Repository"
  AuthUserFile /etc/apache2/dav_svn.passwd
  Require valid-user
</Location>

我的存储库

luso@bender:/media/ssd/svn$ ls -lart
total 16
drwx------ 7 luso     luso 4096 2012-09-15 16:20 ..
drwxr-sr-x 6 www-data svn  4096 2012-09-24 22:13 test
drwxrwsr-x 4 www-data svn  4096 2012-09-24 22:31 .
drwxr-sr-x 6 www-data svn  4096 2012-09-24 22:31 test2

在项目内部

luso@bender:/media/ssd/svn/test$ ls -lart
total 32
-rw-r--r-- 1 www-data svn  229 2012-09-24 22:13 README.txt
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 locks
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 hooks
drwxr-sr-x 2 www-data svn 4096 2012-09-24 22:13 conf
-r--r--r-- 1 www-data svn    2 2012-09-24 22:13 format
drwxr-sr-x 6 www-data svn 4096 2012-09-24 22:13 .
drwxrwsr-x 4 www-data svn 4096 2012-09-24 22:31 ..
drwxr-sr-x 6 www-data svn 4096 2012-09-24 22:40 db

用户卢索www-数据svn 和 www-data 组。但是,当 /system/administration/users 和 groups 时,如果我选择 www-data 用户,则会出现警告:此帐户已被禁用 ¿¿?? 如果我尝试启用它,它会要求我设置密码。我没有这样做...

/media/ssd 是我的 /dev/sdc 驱动器(一个 ssd 驱动器)

我可以使用 file:// 协议

luso@bender:~$ svn co file:///media/ssd/svn/test test
A    test/.classpath
A    test/.project
A    test/target
A    test/target/test-my-app-0.0.1-SNAPSHOT.jar
...
...

然而,

luso@bender:~$ svn co http://localhost/svn/test test and
luso@bender:~$ svn co http://localhost/svn/test/trunk test

引导我:

Authentication realm: <http://localhost:80> Subversion Repository
Password for 'luso': 
svn: Could not open the requested SVN filesystem

更确切地说

<D:error xmlns:D="DAV:" xmlns:m="http://apache.org/dav/xmlns" xmlns:C="svn:">
<C:error/>
<m:human-readable errcode="13">Could not open the requested SVN filesystem</m:human-readable>
</D:error>

当然,如果我尝试通过网络浏览器访问,也会发生同样的情况......

如果我改变,也会发生同样的事情

#SVNPath /media/ssd/svn/test
SVNParentPath /media/ssd/svn
SVNListParentPath On

和:

SVNPath /media/ssd/svn/test
#SVNParentPath /media/ssd/svn
#SVNListParentPath On

并重新加载/重启 apache2

此外,尝试通过 https:// 访问时也会发生同样的情况,但访问过程一切正常。

我读到过一些文章表明 SELinux 做了一些事情,但我不敢改变这一点。我真的不知道该怎么做……

这可能是某种权限冲突吗?/media/ssd 驱动器归 luso 所有...(不知道,只是猜测)

还有其他线索吗?

我正在运行 Ubuntu 10.04、Apache2 和 StackOverflow :D

谢谢你们。

编辑:根据 p_strand 的建议,我添加了一行

AuthzSVNAccessFile /etc/apache2/svn-policy-file

在 dav_svn.conf 配置中

现在,如果我尝试,http://localhost/svn/test它仍然是一样的,如果我尝试,http://localhost/svn我会得到一个403 禁止

答案1

根据定义伊恩·罗伯茨在 StackOverflow.com 中,父目录(SSD 驱动器的挂载点)的权限问题

将此文件夹的执行权限添加到 www-data 组解决了此问题。答案这里

相关内容