我正在尝试在Raspberry Pi中配置svn服务器,例如我可以在浏览器中列出存储库路径,但仅限于pi用户。即使是只读的,也不允许其他人访问。
所以我将/etc/apache2/dav_svn.authz
配置为
[/]
*=
pi=rw
[svn:/]
*=
pi=rw
/etc/apache2/mods-enabled/dav_svn.conf
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath /media/usbhdd1/db
AuthType Basic
AuthName "Repositories"
AuthUserFile /etc/apache2/dav_svn.passwd
AuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
</Location>
发生了2个问题。一个在浏览器中,另一个在简单的结帐。
在浏览器中,问题是如果我使用http://.../svn/访问父文件夹,它会询问用户/密码,所以这没关系。但是当我从http://.../svn/myrepo直接访问存储库myrepo时,它不会询问用户/密码,因此存储库内容会被暴露。
在结帐时,它不会进行身份验证。在这种情况下,当我尝试使用TortoiseSVN结账时,它会返回错误:
无法连接到URL
的存储库'http://192.168.0.200:8888/svn/myrepo'
意外的HTTP状态405
'/ svn / myrepo'上的'p>'方法不允许'其他错误:
URI不包含存储库的名称。
我可以错过什么?
答案 0 :(得分:1)
无关(但现有)错误
svn
绝对无用 [名称:/]在部分名称中定义(现有)存储库名称,而不是来自Apache的位置,因此 - 对于存储库[svn:/]
(物理上,目录myrepo
){来自dav_svn.authz的{1}}部分根本没有任何意义
/media/usbhdd1/db