技术指导:Widonws下Subversion如何配置

开发 项目管理
以前的Svnserve要想成为Windows服务,必须依赖于Svnservice或其他工具,本文就介绍一下Windows下Subversion配置管理员指南。

SVN技术安装,配置下面为相应的步骤,如果又不懂的请留言大家一起来共同讨论这些问题~大家的智慧是无穷的。Subversion安装成service以前的svnserve要想成为windows服务,必须依赖于Svnservice或其他工具。从Subversion1.4开始,Subversion本身就集成Windows服务的工具。SVN技术安装,配置下面为相应的步骤,如果又不懂的请留言大家一起来共同讨论这些问题~大家的智慧是无穷的Subversion安装成service。

以前的svnserve要想成为windows服务,必须依赖于Svnservice或其他工具。从Subversion1.4开始,Subversion本身就集成Windows服务的工具。

1.安装Svnservice

在WindowsNT中(包括WindowsXP,Windows2000,Windows2003Server)本身包含了一个安装服务的工具,叫做"ServiceControl",也就是sc.exe。
例如我的Subversion安装在"D:\Subversion",版本库在"D:\svnroot",而我希望对应的Subversion服务名为Svnservice,安装这个svn服务的命令就可以这样写:
sccreateSvnservice
binpath="D:\Subversion\bin\svnserve.exe--service-rD:\svnroot"
displayname="Svnservice"
depend=Tcpip请注意,因为便于察看,上面的命令分为多行,但在实际执行时应该在一行里。另外,在以前启动svnserve时会使用"-d"选项,也就是守护进程模式,在这里不能使用,会导致服务无法启动。同样,"-i"和"-t"选项也不能使用。
在命令行窗口执行完这个命令之后,服务还没有启动,你可以继续运行"netstartSvnservice"启动这个服务,然后使用"netstopSvnservice"停止服务。
另外还有两点需要小心处理。首先,如果路径中包括空格,一定要用“\”处理“"”号,例如上面的例子中如果svnserve.exe在

“c:\programfiles\subversion\”中,则命令应该写为“binpath="\"c:\programfiles\subversion\bin\svnserve.exe\"”(“”中的内容),整个命令如下,红色部分是改变部分:
sccreateSvnservice
binpath="\"D:\programfiles\Subversion\bin\svnserve.exe\"--service-rD:\svnroot"
displayname="Svnservice"
depend=Tcpip其次,sc对选项的格式还有要求,例如“depend=Tcpip”不能写为“depend=Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必须有空格。

2.删除服务

如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"netstartSvnservice","Svnservice"就是我们创建服务时使用的名字。

3.配置服务是自动启动

默认情况下安装的服务不会随Windows的启动而启动,为了使svn服务能够随Windows启动而启动,需要修改一下"sccreate"命令(首先要删除),增加"start=auto"选项:
sccreateSvnservice
binpath="D:\Subversion\bin\svnserve.exe--service-rD:\svnroot"
displayname="Svnservice"
depend=Tcpip
start=auto当然你也可以使用图形化的工具修改服务的属性,你可以在“开始->运行...”中执行"services.msc",然后在界面中修改。

Subversion的权限控制

1.认证(Authentication)和授权(Authorization)
这两个术语经常一起出现。其中认证的意思就是鉴别用户的身份,最常见的方式就是使用用户名和密码,授权就是判断用户是否具备某种操作的权限,在Subversion里提供了“authz-db”文件,实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限,在Subversion1.3之后,svnserve和Apache一样都可以使用“authz-db”文件

2.svnserve下的配置文件
因为本文是以svnserve为例的,所以先介绍一下版本库目录的结构:
D:\SVNROOT\PROJECT1
├─conf
├─dav
├─db
│├─revprops
│├─revs
│└─transactions
├─hooks
└─locks
其中conf下面有三个文件:
authz
passwd
svnserve.conf
其中的“svnserve.conf”是这个版本库的配置文件,当使用svnserve时,这个配置文件决定了使用什么认证和授权文件:
password-db=passwd
authz-db=authz
上面的配置说明使用“svnserve.conf”同目录的passwd和authz,其中的password-db指定了用户密码文件,authz-db是我们的授权文件,也就是我们本文主要介绍的文件。
注意:使用Apache作为服务器时,根本就不会参考“svnserve.conf”文件的内容,而是会参考Apache的配置。

【编辑推荐】

  1. CentOS系统中安装subversion并使用svn+ssh访问
  2. Subversion SVN协议解析远程整数溢出漏洞
  3. 七步搞定Subversion服务器在Ubuntu下的配置
  4. 三大主流Subversion客户端初探
  5. 在Linux下subversion和apache安装配置
责任编辑:佚名
相关推荐

2010-05-17 17:13:09

Subversion端

2010-05-17 17:33:31

Subversion1

2010-05-18 09:07:14

Subversion安

2010-05-18 11:13:54

Subversion使

2010-05-18 11:34:08

2010-05-17 15:53:25

Subversion服

2010-05-17 16:11:44

2010-05-18 16:45:42

Tortoise Su

2010-05-18 16:56:03

Tortoise Su

2010-05-17 08:56:44

2010-05-19 14:28:18

Subversion权

2009-12-29 18:46:41

Silverlight

2010-05-19 11:07:49

TortoiseSVN

2010-05-18 12:50:47

Subversion配

2010-05-24 09:24:18

SVN服务器搭建

2010-09-01 17:21:26

无线局域网

2009-10-28 16:52:43

重建Oracle表空间

2010-01-11 18:12:57

VB.NET使用MS

2011-11-26 13:03:49

投影仪行情

2010-05-13 10:26:42

Subversion配
点赞
收藏

51CTO技术栈公众号