Welcome

首页 / 软件开发 / .NET编程技术 / SVN+Apache+AnkhSVN搭建版本控制环境

SVN+Apache+AnkhSVN搭建版本控制环境2011-01-12 博客园 glory看到题目,各位看官应该知道这样搭建的版本控制系统应该是和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:svnin添加到环境变量中的系统Path。【右击我的电脑->属性->高级->环境变量->系统变量,找到Path将";d:svn;d:svnin"(别加引号)粘贴到Path的最后。这么详细?!如果还搞不定,下面的就别看了,呵呵】

二、安装设置Apache

双击安装,一路下一步即可。

从d:svnin目录下将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:SVNRepositorypasswd
Require valid-user
# apache auth end
# SVN auth begin
AuthzSVNAccessFile f:SVNRepositorysvn_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安装上,以免出现问题。