当前位置: 代码迷 >> CVS/SVN >> windows上svn服务器配置简介
  详细解决方案

windows上svn服务器配置简介

热度:7017   发布时间:2013-02-26 00:00:00.0
windows下svn服务器配置简介

本文参考了网上一些文章,总结了在windows平台下的安装与配置,希望对大家有帮助。
1.下载安装。
下载服务器端:Subversion,地址在http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91

下载客户端TortoiseSvn:http://tortoisesvn.net/downloads
安装好Subversion,我是装在D:\Program Files (x86)\Subversion下。客户端随意安装。


2.建立版本库(Repository)。
版本库可以看作是服务器上集中存放和管理数据的地方。可以建立多个,每个版本库有自己独立的配置。
比如我新建文件夹F:\svn作为版本库。那么在Subversion的bin目录下运行命令:
svnadmin create F:\svn\
你会看到该目录下新建了一堆文件和文件夹。接下来就可以对该版本库进行权限配置了。

3.运行服务器。
在Subversion的bin目录下运行命令:

svnserve --daemon --root F:\svn

如果你是在cmd窗口运行的,注意不要关闭该窗口,否则svnserve也被关闭了。你可以在cmd窗口中ctrl+c终止其运行。

4.服务器自启动
windows下最好的方式是采用服务的方式。建立一个bat,复制如下代码:
sc create SVN binpath= "\"D:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service -r f:\svn" displayname= "SVN" depend= Tcpip
pause
请格外注意,由于路径中包括空格,一定要用\处理"号。而displayname= "SVN" depend= Tcpip这里等号后面的空格也是必不可少的。

最后你可以在services.msc里面亲自查看svn服务是否设置为自启动。

要删除服务很简单,使用如下命令:
sc delete svn

5.权限配置
在版本库的conf文件夹中有svnserve.conf、passwd、authz 这3个文件。里面有一些例子,都被#注释了,注意删掉#号和紧跟他的空格。
svnserve.conf文件配置如下:
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

anon-access表示匿名用户只有只读权限;
auth-access表示授权用户拥有可写权限;
password-db指定帐号密码配置文件的文件名;
authz-db指定用户权限配置文件的文件名。

passwd文件配置举例如下:
[users]
admin = 123123
guest1 = 111111|
guest2 = 111111

规则很简单。等号左边是用户名,右边是密码。
最后是authz文件,配置很灵活,例如:
[groups]
g_admin = admin
g_guest = guest1, guest2
这一段用于配置用户组。在这里我创建一个g_admin表示管理员分组,组里有一个管理员帐号admin ,g_guest表示普通用户分组,内有帐号guest1 ,guest2
#根目录
[/]
@g_admin = rw
@g_admin = r
*=r
这一段表示根目录的权限。管理员组有所有权限,而用户组只有可读权限,不在这2个组的其他所有用户都只有只读权限。
可以按照这个规则配置每个文件夹的规则。比如要配置\Project\Doc目录,就新建一个[\Project\Doc]字段即可。
如果要支持中文目录 ,需要将配置文件采用UTF-8无BOM模式编码。

6.访问

上文已经建立了一个名为svn的版本库。要测试是否可被访问,使用TortoiseSvn的版本库浏览器(Repository Browser),在地址栏输入
svn://localhost/svn
只要把localhost改成你的IP地址或者计算机名就可以让同一个局域网内的其他机器访问了。


参考文献:

http://www.blogjava.net/MEYE/archive/2010/03/10/315041(此文章很详细)

http://blog.csdn.net/yangtalent1206/article/details/6267842(此文章通过分析具体案例来配置权限,相当赞)

http://hi.baidu.com/_rains_/item/9e0fd316d47346e2dceecac3

http://blog.csdn.net/yangtalent1206/article/details/6327568

  相关解决方案