在上一篇笔记中,我实验配置了最简单的svn协议控制版本,为了兼容不同客户端版本的访问以及基于windows的基本认证,接着我又配置了基于http协议的svn服务。
因为是在Windows环境下,所以为了简单方便,我直接安装了xampp集成环境包。接下来的配置也十分的简单。详细讲解请参考:
1)http://www.blogjava.net/hadeslee/archive/2008/03/12/185788.html
最后还是来一段关于权限配置的总结:
在使用svn协议的时候,主要的认证配置文件是svnserve.conf:
①如果在svnserve.conf里禁用passwd和authz,则任何用户都可以svn协议访问,可以checkout,但不可以上传;
②如果启用passwd和authz(也就是去掉#号),但是passwd和authz保持配置,则使用svn协议访问的时候需要用户密码验证,因为无用户密码的配置,所以无法访问。
③在②的情况下,启动apache,使用http协议访问,此时的安全验证文件是access.auth 和 users.auth(当然也可以是其它名字,随你喜欢)。
users.auth:记录帐号和密码信息。
access.auth:记录帐号权限,以及不同目录赋予不同帐号的权限。
添加帐号密码即时生效,无须重启svn或者httpd服务。
#############users.auth的创建###############
htpasswd -c D:\repos\svn\conf\users.auth wwwadmin
//用htpasswd命令创建用户(wwwadmin),同时生成密码认证文件,c参数为create,m参数为MD5加密方式 ,不加m的话,会自动md5加密。
htpasswd -m D:\repos\svn\conf\users.auth test
//此刻用-m表示添加新用户,如果用-c则会覆盖已经创建好的文件。
########access.auth手动建立##################
新建记事本,然后改名如此即可。内容格式如下:
[/svn]
admin = rw
wwwadmin = r
wwwtest = w
test = rw
总结:也就是说,如果是用http协议,无须再考虑和配置svnserve.conf,passwd和authz这三个文件。http协议与svn协议既可以独立运行,也可以同时运行,看需求来定。