服务器端配置说明
1,软件下载
* 下载Subversion服务器程序。
到官方网站 的下载二进制安装文件,目前可以下载svn-1.4.4-setup.exe。
下载地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
此版本支持Apache2.0.x
2,服务器和客户端安装
* 服务器安装,直接运行svn-1.4.4-setup.exe,根据提示安装即可,这样我们就有了一套服务器可以运行的环境。(由于subversion已有自带的svnserver服务器,如果需要使用Apache服务器的特性则再将其集成到apache上即可,此处我们暂时使用它自带的服务器)
(注:apache的配置在文档最后边的附录中可以找到)
* 安装TortoiseSVN,同样直接运行TortoiseSVN-1.4.4.9706-win32-svn-1.4.4.msi按照提示安装即可,不过最后完成后会提示是否重启,其实重启只是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关,为了立刻看到好的效果,还是重新启动机器。
3,建立版本库(Repository)
运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行,如:
svnadmin create E:\svn\sise_repository
就会在目录E:\svn\sise_repository下创建一个版本库。
我们也可以使用TortoiseSVN图形化的完成这一步:
在目录E:\svn\sise_repository下"右键->TortoiseSVN->Create Repository here...“, 然后可以选择版本库模式, 这里使用默认即可, 然后就创建了一系列目录和文件。
如图所示:
在弹出的数据仓库类型我们选择默认的FSFS,点击OK。
4,配置用户和权限
1.来到E:\svn\sise_repository\conf目录,修改svnserve.conf:
# auth-access = write
# password-db = passwd
改为:
auth-access = write //通过验证的用户才能有读写的权限
password-db = passwd //验证用户所使用的文件passwd
2.然后修改同目录的passwd文件,去掉下面三行的注释:
# [users]
# harry = harryssecret
# sally = sallyssecret
最后变成:
[users]
harry = 123456 //以名值的方式存储用户名和密码 “用户名=密码”
sally = 654321
3.修改同目录下的authz文件来设置访问权限
在[groups]下创建用户组例如这里是
[groups]
Admin=admin
Developer=developer1,developer2
以上便创建了两个用户组,分别是admin和developer和其相应的组的成员。
设置访问路径
[/]
*=r
@admin=rw
如上所示,所有的用户对整个svn目录下的文件都可以读取,admin组有读写的权限(“*”代表所有的用户,r代表读 w代表写)
可设置具体的版本库的访问权限如下:
[版本库A:/]
@developer=rw
如上设置,表示所有developer组的成员对于“版本库A”下边的所有文件都有读写的权限
5,运行独立服务器
在任意目录下运行:(如果提示找不到svnserve则检查,%Subversion安装目录%\bin是否已添加至环境变量PATH)
svnserve -d -r E:\svn\sise_repository\
我们的服务器程序就已经启动了。
(注:可通过执行 svnserve –help 来得到svnserve的帮助信息)
附:将svnserve安装为系统服务
sc create svnserve binpath= "C:\developertools\Subversion\bin\svnserve.exe --service --root D:\svn\sise_repository" displayname= "Subversion" depend= Tcpip start= auto
另外还有两点需要小心处理。首先,如果路径中包括空格,一定要用“\”处理“"”号,例如上面的例子中如果svnserve.exe在“c:\program files\subversion\”中,则命令应该写为“binpath= "\"c:\program files\subversion\bin\svnserve.exe\"”(“”中的内容),整个命令如下,红色部分是改变部分:
sc create svnservice
binpath= "\" C:\developertools\Subversion\bin\svnserve.exe \" --service -r D:\svnroot"
displayname= "Subversion" depend= Tcpip start= auto
其次,sc对选项的格式还有要求,例如“depend= Tcpip”不能写为“depend = Tcpip”或“depend=Tcpip”,也就是“=”前不能有空各,而后面必须有空格。
如果服务安装的有问题,你可能需要删除服务。要删除前面添加的服务,只需要运行"sc delete svnservice","svnservice"就是我们创建服务时使用的名字。