一、安装
1.安装svn-1.6.11-setup.exe,路径为C:\svn
2.将SVNService文件夹中的SVNService.exe文件拷贝到C:\svn\bin目录中
3.安装TortoiseSVN-1.6.11-svn-1.6.13.msi(可以按照默认的路径),计算机会重新启动
4.安装简体中文语言包LanguagePack-1.6.11.6804-win32-zh_CN.exe
二、配置
1. 特别说明:
svn的权限管理涉及到以下文件:
passwd文件 — /conf目录下 用于存放本svn库的用户名和密码,admin= 123,左边是用户名,右边是密码(明文)。
authz — /conf目录下 用于存放本svn库的访问授权信息。
svnserve.conf /conf目录下 用于存放本svn库的全局访问控制信息。
--------------------------------------------------------------------------------------------------------
最重要的是authz文件,它定义了两部分的内容:
1,对组成员的定义,
2,对目录的授权定义,
可以针对一个单一用户授权,也可以针对在[groups]里面定义的一个组授权,还可以用*通配符来对所有的用户授权,
授权的选项有:只读访问(‘r’),读写访问(‘rw’),或者无权防问(”).
--------------------------------------------------------------------------------------------------------
2.开始配置
第一步:建立一个文件夹,比如D:\SVNRoot
第二步:(1)创建并启动SVN服务,并把目录指向D:\SVNRoot;
(2)具体操作:创建并执行一段cmd代码:
sc create svnserver binPath= "C:\Program Files\Subversion\bin\svnserve.exe --service -r \"D:\SVNRoot\"" DisplayName= "subversion" depend= Tcpip start= auto
(3)以上代码的大概意思是:创建一个服务名称为“subversion”的服务并且随机自动启动,提供服务的程序是“c:\ProgramFiles\Subversion\bin\svnserve.exe”svn数据文件存放于“D:\SVNRoot\”。
记得刚创建,需要到服务中,找到subversion,手动启动才可以开展后续工作
(4)删除以上服务的代码是:
sc delete subversion
第三步:(1)在D:\SVNRoot下建立ProjectManage,ISOF两个文件夹,
(2)分别右键选择“TortoiseSvn”-“Create RepositoryHere”子菜单创建版本库
(3)如果创建成功,ProjectManage目录下会自动创建好Conf,dav,db等目录和readme、format文件
第四步:在复制一份ProjectManage或者ISOF版本库的conf文件夹到D:\SVNRoot
第五步:删除D:\SVNRoot\conf\svnserve.conf文件。
第六步:修改版本库配置文件:
1. 版本库ProjectManage:
D:\SVNRoot\ProjectManage\conf\svnserve.conf
[general]
anon-access = none ##(none:不允许匿名用户访问)
auth-access = write
password-db = ../../conf/passwd ##指向/svnroot/conf目录的passwd文件
authz-db = ../../conf/authz
realm =ProjectManage ##也可以用其他名称代替,主要用于权限配置,比如:proa,注意后面会提到。
2.版本库ISOF:
D:\SVNRoot\ISOF\conf\svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = ../../conf/passwd
authz-db = ../../conf/authz
realm = ISOF
即除realm = ISOF外,其他与版本库与ProjectManage配置文件完全相同。如果有更多的版本库,依此类推。
3.配置允许访问的用户
(1)配置用户:
为了简化配置,2个版本库共用1个用户配置文件D:\SVNRoot \conf 下。如有必要,也可以分开。注意:对用户配置文件的修改立即生效,不必重启svn服务
打开D:\SVNRoot \conf 的passwd文件
[users]
jhon = 123
marry = d123
lili=213
(2)配置用户访问权限:
打开D:\SVNRoot \conf 的authz文件
为了简化配置,2个版本库共用1个权限配置文件D:\SVNRoot \conf\authz。如有必要,也可以分开。文件中定义用户组和版本库目录权限。
注意:
*权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
admin=jhon ,marry
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[:/项目/目录]
@admin =rw
De =r
“/”表示根目录及以下所有。根目录是svnserver启动时指定的,我们指定为D:\SVNRoot。这样,”/”就是表示对全部版本库设置权限。
“ProjectManage:/”表示对版本库ProjectManage设置权限(也可以是定义的,前面提到的proa:/以此类推)
“ISOF:/occi”表示对版本库ISOF中的occi目录设置权限
“ISOF:/”表示对版本库ISOF设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、rw和空,空表示没有任何权限
示例:
[groups]
admin=jhon ,marry
[/]
@admin = rw
[ProjectManage:/occi]
jhon = rw
[ISOF:/]
jhon = rw
lili = r
———————-
可以删除无用文件(不删也可以,但是一定要注意控制文件已经公用了):
D:\SVNRoot\ProjectManage\conf\authz
D:\SVNRoot\ ProjectManage\conf\passwd
D:\SVNRoot\ ISOF \conf\authz
D:\SVNRoot\ ISOF \conf\passwd