Linux Mandriva上的SVN - 从Windows网络浏览器访问远程存储库

时间:2012-12-09 18:34:07

标签: linux svn redmine

我想从网络浏览器访问存储库,这样做 -

通过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

得到回复 - enter image description here

输入harry and harryssecret,但我得到了 -

401:需要授权

此服务器无法验证您是否有权访问所请求的文档。您提供了错误的凭据(例如,密码错误),或者您的浏览器不了解如何提供所需的凭据。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

  

我做错了什么?

全部,从“不阅读docs

开始

AuthUserFile需要标准Apache的passwd文件,基于路径的ACL(你尝试写入passwd)需要LoadModule中的附加模块和<Location>中的附加指令,来自svn://的passwd文件 - 服务于svnserve的回购

我的实时系统示例(相关部分)

https.conf

AuthType Basic
AuthBasicProvider file
AuthUserFile ...htpasswd
AuthzSVNAccessFile ...authz

Satisfy Any
Require valid-user
  • 满足+要求RO匿名访问回购
  • 要求使用auth的有效用户。写访问
  • AuthUserFile - 平面用户列表
  • AuthzSVNAccessFile - 基于路径的ACL

htpasswd的

lazybadger:$apr1$5tg...

(带有编码用户名的字符串 - 每个用户传递)

AuthZ的

[/]
*=r

[Elgg-Russian:/]
@Coders=rw

[Elgg-TranslationRU:/]
@Translators=rw

[Hello:/]
lazybadger=rw

(SVN位置的组,子树,从默认访问权限更改)