SVN+Apache+AnkhSVN搭建版本控制环境
看到题目,各位看官应该知道这样搭建的版本控制系统应该是和Visual Studio配合使用的,而作为Windows平台下最好的IDE Visual Studio搭档的版本控制系统是Visual Source Safe,但是Subversion的表现太优秀以至于似乎超过CVS都不在话下,当然区区VSS就更不值一提了。(呵呵,此处表述如果不和您的口味,请自行跳过,直接看下面的安装配置说明)
所使用的软件及其版本:
- SVN V1.6.1 http://subversion.tigris.org/
- TortoiseSVN V1.6.1 http://tortoisesvn.net/downloads
- Apache V2.2.11 http://httpd.apache.org/download.cgi
- AnkhSVN V2.0.6347.433 http://ankhsvn.open.collab.net/
- Visual Studio 2008 …
安装设置步骤:
一、设置SVN
首先将SVN加压缩到任意目录,如:d:\svn,将d:\svn和d:\svn\bin添加到环境变量中的系统Path。【右击我的电脑->属性->高级->环境变量->系统变量,找到Path将";d:\svn;d:\svn\bin"(别加引号)粘贴到Path的最后。这么详细?!如果还搞不定,下面的就别看了,呵呵】
二、安装设置Apache
双击安装,一路下一步即可。
从d:\svn\bin目录下将mod_dav_svn.so和mod_authz_svn.so两个文件拷贝到Apache安装目录下的modules。
打开Apache安装目录下的conf文件夹中的httpd.conf配置文件,找到下面两行:
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
去掉前面的#,然后再添加两行:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
该文件的最后添加如下信息:
#SVN virtual path
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath f:/SVNRepository# apache auth begin
AuthType Basic
AuthName "Subversion Repositories! Login Needed!"
AuthUserFile f:\SVNRepository\passwd
Require valid-user
# apache auth end# SVN auth begin
AuthzSVNAccessFile f:\SVNRepository\svn_authz
# SVN auth end</Location>
上述信息就是为我们设置了一个虚拟目录svn(有可能是http://localhost/svn,自己用的时候把localhost换成相应的域名和端口号即可),用途是供我们存放代码,也就是我们的代码库。虚拟目录要对应实际的物理文件夹,就是f:/SVNRepository,该文件夹中的两个文件passwd和authz,看名字就应该知道passwd保存的是用户名和密码,authz保存的是访问控制信息,passwd中的用户哪些可以访问哪些目录都在这里设置。至于passwd怎么生成,补一下基础知识吧---http://httpd.apache.org/docs/2.0/howto/auth.html。authz中设置的是,svn目录下的子目录的访问权限,我们可以在SVN目录下新建若干目录以放置不同的代码,然后使用TortoiseSVN创建代码库。如我们在svn中新建了一个目录叫myRepository,打开该目录,右键点击出现快捷菜单,TortoiseSVN下的Create Repository Here就可以创建代码库,自己或别人就可以通过http://你的域名/svn/myRepository访问了。
authz文件是一个文本文件内容如下形式:
[groups]
developers=username1,username2
[myRepository:/]
@developers=rw
这个例子中username1和username2用户都属于developers组,该组对myRepository目录具有读写权限,r-读,w-写。
到这里版本控制服务器端的就配置完成。
客户端安装
安装AnkhSVN,这个对vs2003,2005,2008的支持有不同的版本,选择跟你的vs版本相适应的版本,安装即可。完成之后打开vs就可以在菜单“文件”以及项目管理器中找到subversion的项目了,项目管理器中在项目或者文件上右键点击,出现的快捷菜单中就有了。
使用之前最好在开发用的机子上也把TortoiseSVN安装上,以免出现问题。