目标:
1、在windows 2003 server上建立公司版本服务器
2、要求支持多个版本库,每个版本库需要有独立的用户权限管理
3、要求接入方式可采用http ssl方式
使用的各软件如下:
1、Apache 2.0.59 no ssl版本,由于美国出口管制,Apache的可下载版本不能集成ssl。
注意为了和下面的svn server配合,apache的版本只能是2.0.x
2、Svn Server 1.4.3
3、Tortoise SVN 1.4.3,有中文语言包,需要的可以下载。
4、Open ××× 2.0.9,主要是用来制作证书用的
从网上下载安装以上四个软件。现在开始配置:
1、建立SVN库目录。我的目录是F:\SVNROOT,在SVNROOT目录下建立TestLib子目录,然后右键点击TestLib目录,通过TortoiseSVN的菜单创建版本库,TortoiseSVN提供了“本地文件系统”和“berkeley数据库”两种方式,用任何一种建立版本库都是可以的。
2、打开F:\SVNROOT\TestLib\conf目录下的svnserve.conf文件,找到
# anon-access = read
# auth-access = write
# auth-access = write
将之改为:
anon-access = none
auth-access = write
auth-access = write
这表示我们不允许TestLib库匿名访问,同时写库也必须要授权访问。
3、建立你的访问TestLib的第一个用户,运行:
"C:\Program Files\Apache Group\Apache2\bin\htpasswd" -cm "F:/SVNROOT/TestLib/conf/svn-auth-file.ini" user1
输入密码后即可。
如果要建立更多用户,注意将 -cm 选项改为 -m
4、更新Apache httpd.conf参数。打开
C:\Program Files\Apache Group\Apache2\conf\httpd.conf文件,找到:
#<Location /server-info>
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from xxxx.com
#</Location>
在其后添加:
# SetHandler server-info
# Order deny,allow
# Deny from all
# Allow from xxxx.com
#</Location>
在其后添加:
<Location /TestLib>
DAV svn
SVNPath F:/SVNROOT/TestLib
AuthType Basic
AuthName "Subversion repository"
AuthUserFile F:/SVNROOT/TestLib/conf/svn-auth-file.ini
Require valid-user
</Location>
DAV svn
SVNPath F:/SVNROOT/TestLib
AuthType Basic
AuthName "Subversion repository"
AuthUserFile F:/SVNROOT/TestLib/conf/svn-auth-file.ini
Require valid-user
</Location>
在Location中还有一个 AuthzSVNAccessFile 参数,是可以用来控制svn-auth-file.ini
中的用户read、write权限的,之后我再单独介绍。
中的用户read、write权限的,之后我再单独介绍。
5、重启Apache Server。windows桌面右下角有Apache Monitor图标,通过它就可以重启Apache。
6、为了验证TestLib版本库是否已经可以使用,你可以在另外一台PC上,安装TortoiseSVN。然后随便打开一个文件夹,在空白处点右键,执行弹出菜单上的“TortoiseSVN\版本库浏览器”功能,输入
[url]http://22.144.20.115/TestLib[/url],其中22.144.20.115是我这边的Server IP,你需要将之改为自己的Server IP,确定后,输入在第三步建立的用户名和密码,如果能成功进入,就表示TestLib版本库可以使用了。
根据以上的介绍,你完全可以再建立出N个不同的版本库来。
如何配置以
[url]https://22.144.20.115/TestLib[/url]方式通过证书来访问SVN版本库,将在以后再介绍。
(待续)
转载于:https://blog.51cto.com/ronald/27440