我想从网络浏览器访问存储库,这样做 -
通过WebDAV访问 -
passwd 档案:
...
[users]
harry = harryssecret
sally = sallyssecret
...
<VirtualHost remote-ip:81>
<Location /svn>
DAV svn
SVNPath /home/svn
AuthType Basic
AuthName "...."
AuthUserFile /etc/subversion/passwd
Require valid-user
</Location>
</VirtualHost>
然后重启Apache -
ctlscript.sh restart apache
来自 Windows 的请求 - 主机 -
http: //remote-ip:81/svn/test
得到回复 -
输入harry and harryssecret,但我得到了 -
401:需要授权
此服务器无法验证您是否有权访问所请求的文档。您提供了错误的凭据(例如,密码错误),或者您的浏览器不了解如何提供所需的凭据。
我做错了什么?
答案 0 :(得分:1)
我做错了什么?
全部,从“不阅读docs”
开始 AuthUserFile需要标准Apache的passwd文件,基于路径的ACL(你尝试写入passwd)需要LoadModule中的附加模块和,来自svn://的passwd文件 - 服务于svnserve的回购<Location>
中的附加指令
我的实时系统示例(相关部分)
https.conf
AuthType Basic
AuthBasicProvider file
AuthUserFile ...htpasswd
AuthzSVNAccessFile ...authz
Satisfy Any
Require valid-user
htpasswd的
lazybadger:$apr1$5tg...
(带有编码用户名的字符串 - 每个用户传递)
AuthZ的
[/]
*=r
[Elgg-Russian:/]
@Coders=rw
[Elgg-TranslationRU:/]
@Translators=rw
[Hello:/]
lazybadger=rw
(SVN位置的组,子树,从默认访问权限更改)