从1.4版开始,Subversion Server就自带Windows服务程序,通过执行简单的命令,即可注册为服务方式运行。本文中,主要阐述两个问题:如何将Subversion注册成windows服务;如何实现Http方式访问Svn服务器。
本文中所使用的命令及配置文件,可以从如下URL下载:http://download.csdn.net/detail/attagain/5334595
一、如何以Windows服务方式运行Subversion
1、注册服务的前提条件
A、Subversion安装路径为:“C:\Program Files (x86)\Subversion”
B、Subversion的repository路径为:"E:\svn_server_repository"
2、执行命令,创建Svn的Windows服务
命令行内容:
sc create svnservice binpath= "\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service -r E:\svn_server_repository" displayname= "SVNService" depend= Tcpip start= auto
命令解释:
binpath= "\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service -r E:\svn_server_repository"----指定创建服务运行程序的路径及参数(注意:如果路径为带有空格字符时,需要使用双引号括起。其中,【\"】,引号转义符;【\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\"】,Subversion注册服务需要运行的可执行程序路径;【--service】,以服务的方式运行;【-r E:\svn_server_repository】,指定Subversion的repository路径)。
displayname= "SVNService"----注册的windows服务显示名称。
depend= Tcpip ----服务所依赖的网络协议。
start= auto ----系统启动,服务自动运行。
3、删除Svn服务的方法(仅当卸载服务时使用)
命令行内容:
sc delete svnservice
4、服务的启动和停止
服务启动命令行内容:
sc start SVNService
服务停止命令行内容:
sc stop SVNService
注:Windows服务的更多操作,可以借助于【services.msc】,在图形化界面中进行。
5、创建Subversion的repository并配置权限
A、在路径【E:\svn_server_repository】下,创建想要的repository目录,比如:PG_01_01_00001_ag.fw
B、切换到目录【E:\svn_server_repository\PG_01_01_00001_ag.fw】,借助于TortoiseSVN工具菜单下的命令【create repository here】,执行创建repository命令,同时执行【create folder structure】,生成【trunk】(基线库)、【branches】(分支库)、【tags】(标签库)三个目录。当然,我们用的最多的还是第一个,如果没有branches和tags的应用,完全可以不执行B的操作。
C、在目录【E:\svn_server_repository\PG_01_01_00001_ag.fw\conf】下,设置权限信息
文件【svnserver.conf】,添加或打开如下设置:
anon-access = none
password-db = passwd
authz-db = authz
文件【authz】,添加如下设置(针对每个文件夹,设置具体权限):
[groups]
group_adm = lihaijun
group_leader = lihaijun
group_developer = lihaijun
[/]
@group_adm = rw
@group_leader = rw
@group_developer = rw
[/00. Custom document]
@group_leader = r
@group_developer = r
[/01. Management]
@group_leader = rw
@group_developer = r
[/02. Specification]
@group_leader = rw
@group_developer = rw
[/03. Schedule]
@group_leader = rw
@group_developer = r
[/04. Design]
@group_leader = rw
@group_developer = rw
[/05. Make]
@group_leader = rw
@group_developer = rw
[/06. Test]
@group_leader = rw
@group_developer = rw
[/07. Product]
@group_leader = rw
@group_developer = rw
[/08. Quality]
@group_leader = rw
@group_developer = rw
[/09. Open Issue]
@group_leader = rw
@group_developer = rw
[/10. Companion plan]
@group_leader = rw
@group_developer = rw
[/11. Meeting]
@group_leader = rw
@group_developer = rw
[/20. Reference]
@group_leader = rw
@group_developer = rw
[/21. Tools]
@group_leader = rw
@group_developer = r
[/30. Baseline]
@group_leader = rw
@group_developer = rw
文件【authz】,添加具体用户密码信息。
6、客户端连接,从svnserver签出目录,执行批处理创建客户端目录结构。
客户端批处理内容如下:
mkdir "00. Custom document"
mkdir "01. Management"
mkdir "02. Specification"
mkdir "03. Schedule"
mkdir "04. Design"
mkdir "05. Make"
mkdir "06. Test"
mkdir "07. Product"
mkdir "08. Quality"
mkdir "09. Open Issue"
mkdir "10. Companion plan"
mkdir "11. Meeting"
mkdir "20. Reference"
mkdir "21. Tools"
mkdir "30. Baseline"
二、如何使用Apache httpd server,以Http方式访问Svn
1、安装httpd-2.2.17-win32-x86-no_ssl.msi,假定安装路径为【C:\Program Files (x86)\Apache Software Foundation\Apache2.2】。
2、根据【CollabNet】提供的Subversion服务器程序,修改httpd.conf文件。
主要添加内容如下:
LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
<Location /svn>
DAV svn
SVNParentPath E:\svn_server_repository
</Location>
3、将【CollabNet】提供的Subversion服务器程序中的【mod_dav_svn.so】程序,复制到【C:\Program Files (x86)\Apache Software Foundation\Apache2.2\modules】中。
到此,配置已经完成。
本文中所使用的命令及配置文件,可以从如下URL下载:http://download.csdn.net/detail/attagain/5334595