您的位置:首页 > 运维架构 > Apache

windows server 2003 svn 服务器安装及配置(无Apache)

2012-10-04 00:00 459 查看
SVN,不用介绍了,一款相当不错的版本控制服务器,跨于多个平台之上。以前在Linux下装过一个,配置相对复杂一点,但是windows下的服务器安装比较简单。具体过程如下:

1、安装服务器。我选择了比较好用的VisualSVN-Server,现在版本是2.1.2

2、客户端安装TortoiseSVN,现在版本1.6.8,以及其LanguagePack,都可以下到。在安装完客户端后,就可以在文件夹
右键的菜单里面看到版本控制的信息了。对,就是这么好用,它将windows的文件夹进行了重载,受版本管理的文件夹都会有相应的图标,相应好认。

在安装完语言包后,右键进行设置,把语言设置为中文即可。

注意:在服务器端同时安装客户端是为了配置及使用服务器方便一些。并不一定要装。

3、进行服务器端的配置。

启动服务器:可以选择将其安装为
系统服务,也可以建立一个
批处理文件,将其拖到系统启动下。

下面以批处理文件为例:

cd H:\Program Files\VisualSVN Server\bin\

svnserve.exe -d -r G:\ServerData\Data\SVN\Repositories\svnrepos\

该路径为目前的版本库位置。运行该批处理文件,
弹出的命令窗口不要关闭。现在可以看到
3690端口已经被监听了,说明启动成功了。

系统服务的安装方法:

sc create svnservice binpath= "H:\Program Files\VisualSVN Server\bin\svnserve.exe --service -r G:\ServerData\Data\SVN\Repositories\" displayname= "SVNService" depend= Tcpip start= auto

但是不一定能成功。

精细的访问权限设置

在版本控制中,权限配置是相当重要的,SVN服务器采用
authz文件来进行权限配置。首先在某个文件夹下建立版本库(右键中有哦~~~),然后对其下的conf文件夹内的一些文件进行配置。

文件:svnserve.conf,该文件对SVN进行总体配置,包括是否使用帐号密码,使用使用authz权限控制方式,默认的访问权限等等。

我的文件内容如下(我去除了被注释掉的内容):

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz.public

文件:passwd,该文件中保存了用户的帐号和密码,看看就会写了,不多说。

文件:authz,该文件用于配置精细的访问权限。

这里有两种情况:

A:-r直接指定到版本库(称之为单库svnserve方式)

比如,有一个库project1,位于D:\svn\project1
使用以下命令启动svnserve

svnserve -d -r D:\svn\project1

在这种情况下,一个svnserve只能为一个版本库工作
authz文件如果配置成下面这样就是错的,

[groups]

admin=user1

dev=user2

[project1:/]

@admin=rw

@doc=r

应该配置成

[groups]

admin=user1

dev=user2

[/]

@admin=rw

@doc=r

因为[project1:/]表示库project1的根目录,而按上面的启动参数,是没有库的概念的。
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1

B:-r指定到版本库的上级目录(称之为多库svnserve方式)

同样,有一个库project1,位于D:\svn\project1
如果使用以下命令启动svnserve

svnserve -d -r D:\svn

这种情况,一个svnserve可以为多个版本库工作,
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样

[groups]

admin=user1

dev=user2

[project1:/]

@admin=rw

@doc=r

如果此时你还用[/],则表示所有库的根目录,同理,[/src]表示所有库的根目录下的src目录
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1
这样的URL:svn://192.168.0.1/project2 即可访问project2

2,对中文目录进行权限控制时,没有将权限文件authz改为utf-8格式。

svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制,
应该使用无BOM的utf-8格式,如何将默认的文件转为utf-8,
我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"。在UltraEdit的配置中,可以设置有无BOM
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: