以下步骤在svn1.6.5,apache2.2.11下测试通过
1.下载服务器端,选择zip包,名称类似svn-win32-1.6.5.zip
http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91
2.下载客户端,注意一定要选择最新的
http://tortoisesvn.net/downloads
3.将svn-win32-1.6.5.zip解压到某个路径下,如C:/svn
4.运行CMD命令行,输入:
cd c:/svn/bin
svnadmin create E:/svn/repos1
注意E盘的svn文件夹要先建立,因为svnadmin不能递归创建多个层级的目录
5.打开apache的配置文件httpd.conf,做如下两步:
取消注释LoadModule dav_module modules/mod_dav.so
添加LoadModule dav_svn_module modules/mod_dav_svn.so
6.从C:/svn/bin下复制以下文件到apache的module目录下:
intl3_svn.dll,libdb44.dll,libsvn_delta-1.dll,libsvn_fs-1.dll,libsvn_repos-1.dll,libsvn_subr-1.dll,mod_authz_svn.so,mod_dav_svn.so
7.在httpd.conf最后添加以下内容
<Location /repos> #这里为浏览器访问的网址,如http://localhost/repos
DAV svn
SVNPath F:/SVN/repos #这里是对应的版本库目录
</Location>
8.如果想要指定多个版本库,可以用多个 Location 标签,也可以使用 SVNParentPath 代替 SVNPath
9.重启apache
/************** 以下为扩展配置,设置用户权限 ************/
10.利用apache的htpasswd工具创建用户文件
创建用户文件:
htpasswd -c c:/svn/passwd
添加新用户(-m 表示以 MD5 加密密码,可选项):
htpasswd [-m] c:/svn/passwd Newusername
更改用户密码:
htpasswd [-m] c:/svn/passwd username
删除用户(要用大写的 D ):
htpasswd –D c:/svn/passwd username
11.修改httpd.conf:
添加LoadModule authz_svn_module modules/mod_authz_svn.so
在 Location 标签中加入如下内容:
AuthType Basic
AuthName "svn repos"
AuthUserFile c:/svn/passwd
Require valid-user
AuthzSVNAccessFile c:/svn/access.conf
12.access.conf的格式类似如下:
[groups]
committers = paulex, richard
developers = jimmy, michel, spark, sean
[/]
* = r
@committers = rw
[/branches/dev]
@developers = rw
[/tags]
tony = rw
[/private]
* =
@committers= r
[repos1:/]
* = r
@ project1_committer = rw
[repos2:/]
* = r
@ project2_committer = rw