Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache Ubuntu+;SVN:无法打开请求的SVN文件系统_Apache_Svn_Ubuntu_Webdav - Fatal编程技术网

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

Apache Ubuntu+;SVN:无法打开请求的SVN文件系统,apache,svn,ubuntu,webdav,Apache,Svn,Ubuntu,Webdav,我知道这个问题已经被问了很多次了。我相信我理解答案,但我仍然没有运气 我尝试了one repo和multiple repo配置,这两种配置都有相同的问题 因此,对于我感兴趣的配置: <Location /svn> DAV svn #SVNPath /media/ssd/svn/test SVNParentPath /media/ssd/svn SVNListParentPath On AuthType Basic AuthName "Subversion Re

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

我尝试了
one repo
multiple repo
配置,这两种配置都有相同的问题

因此,对于我感兴趣的配置:

<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/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
用户lusowww-data都在svn和www数据组中。但是,当/system/administration/users and groups时,如果我选择www数据用户,则会出现一个警告:此帐户已禁用??如果我尝试启用它,它会要求我设置密码。不是我干的

/介质/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
与:

SVNPath /media/ssd/svn/test
#SVNParentPath /media/ssd/svn
#SVNListParentPath On
并重新加载/重新启动apache2

同样,当尝试通过https://访问时也会发生同样的情况,而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禁止

luso@bender:/media/ssd/svn$ ls -lart
total 16
drwx------ 7 luso     luso 4096 2012-09-15 16:20 ..

这可能是您的问题-虽然www数据用户可以访问存储库目录,但其父目录
/media/ssd
却不能。它及其树上的所有父目录至少需要world execute权限(
rwx--x--x
或711)。不需要允许www数据用户读取这些目录,但它确实需要能够进入这些目录(这是目录的执行位的含义)。

如果有人遇到类似问题,我的解决方案如下: 我将文件“/var/svn/format”归root所有,尽管设置了所有权限(777),apache不想读取root所有的文件。
只要一个简单的
chown
命令就解决了这个问题

太好了,成功了!我猜这和那件事有关。@luso你是怎么解决的?你能解释一下答案吗?对不起,我不明白你在说什么?伙计,请不要把加密的答案放在只有你和上帝才能理解的地方
SVNPath /media/ssd/svn/test
#SVNParentPath /media/ssd/svn
#SVNListParentPath On
AuthzSVNAccessFile /etc/apache2/svn-policy-file
luso@bender:/media/ssd/svn$ ls -lart
total 16
drwx------ 7 luso     luso 4096 2012-09-15 16:20 ..