我知道这个问题已经被问过很多次了。我相信我理解答案,但我仍然没有运气。
我尝试了两种配置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
用户luso和www-data都在svn 和 www-data 组中。但是,当 /system/administration/users 和组时,如果我选择 www-data 用户,则会出现警告:This account is disabled ¿¿?? 如果我尝试启用它,它会要求我设置密码。我没做...
/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 Forbidden