lus*_*uso 10 svn apache ubuntu webdav
我知道很多次都会问过这个问题.我相信我理解答案,但我仍然没有运气.
我都尝试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>
Run Code Online (Sandbox Code Playgroud)
我的存储库
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
Run Code Online (Sandbox Code Playgroud)
在项目内
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
Run Code Online (Sandbox Code Playgroud)
用户luso和www-data都在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
...
...
Run Code Online (Sandbox Code Playgroud)
然而,
luso@bender:~$ svn co http://localhost/svn/test test and
luso@bender:~$ svn co http://localhost/svn/test/trunk test
Run Code Online (Sandbox Code Playgroud)
引导我:
Authentication realm: <http://localhost:80> Subversion Repository
Password for 'luso':
svn: Could not open the requested SVN filesystem
Run Code Online (Sandbox Code Playgroud)
更确切地说
<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>
Run Code Online (Sandbox Code Playgroud)
当然,如果我尝试通过网络浏览器访问,也会发生同样的情况......
如果我改变,也会发生同样的事情
#SVNPath /media/ssd/svn/test
SVNParentPath /media/ssd/svn
SVNListParentPath On
Run Code Online (Sandbox Code Playgroud)
有:
SVNPath /media/ssd/svn/test
#SVNParentPath /media/ssd/svn
#SVNListParentPath On
Run Code Online (Sandbox Code Playgroud)
并重新加载/重启apache2
此外,尝试通过https://访问时也会发生同样的情况.
我读过一些表明SELinux有事可做的事情,但我不敢改变这一点.我真的不知道怎么...
它可能与权限发生某种冲突吗?/ media/ssd驱动器由luso拥有...(不知道,只是猜测)
那么任何其他线索?
我正在运行Ubuntu 10.04,Apache2和StackOverflow:D
谢谢你们.
编辑:正如p_strand所建议的,我添加了一行
AuthzSVNAccessFile /etc/apache2/svn-policy-file
Run Code Online (Sandbox Code Playgroud)
在dav_svn.conf配置中
现在,如果我尝试http://localhost/svn/test它仍然是相同的,如果我尝试http://localhost/svn我得到403禁止
Ian*_*rts 11
luso@bender:/media/ssd/svn$ ls -lart
total 16
drwx------ 7 luso luso 4096 2012-09-15 16:20 ..
Run Code Online (Sandbox Code Playgroud)
这可能是您的问题 - 虽然www-data用户可以访问存储库目录,但它们的父目录/media/ssd却不是.它及其在树上的所有父目录至少需要世界执行权限(rwx--x--x或711).不需要允许www-data用户读取这些目录,但它确实需要能够进入它们(这是执行位对目录的意义).
| 归档时间: |
|
| 查看次数: |
36282 次 |
| 最近记录: |