前几天在网上找资料给我们的项目配了一个SVN服务器,今天想把这些资料和心得写下来,以后用得着! 一、准备工作 1、下载subversion,地址:http://subversion./servlets/ProjectDocumentList?folderID=11151&expandFolder=11151&folderID=91。这里有各个版本的安装文件,我用的是1.6.1windows msi格式的安装文件,这个版本的安装文件支持用Apache服务器作为SVN服务器,Apache服务器版本要求2.2以上。 2、下载TortoiseSVN,地址:http:///downloads。 3、下载IDE插件,如果用visual studio2005,2008或者2010作为开发环境,可以下载AnkhSVN插件来在visual studio中利用SVN管理源代码,地址:http://ankhsvn.open./downloads。如果是用Eclipse或者MyEclipse作为开发环境,可以下载subeclipse插件来在Eclipse中利用SVN管理源代码 http://subclipse./servlets/ProjectProcess?pageID=p4wYuA。我们项目用的是c#开发,所以我们用的IDE是vs2008,所以下面主要介绍的是在vs2008上安装AnkhSVN插件来管理源代码。 4、下载Apache服务器,地址:http://httpd./download.cgi,在Apache官网上可以找到2.2以上版本的Apache服务器。 二、安装 这几个软件的安装都很傻瓜式,都是一直next到最后,TortoiseSVN安装完后需要重启系统,不过如果安装了AnkhSVN插件的话,TortoiseSVN不是必须的。 安装好AnkhSVN后,打开vs2008,打开菜"工具"->选项,找到souce control 选择”插件选择“在右边的插件选择下拉列表中选择AnkhSVN-subversion support for visual studio。这样visual studio就会出现相应的菜单和界面,然后就可以在visual studio上直接进行svn操作了。 三、建立版本库 安装subversion的时候会自动配置好环境变量。建立版本库可以直接通过dos命令,或者用TortoiseSVN。我这里介绍用dos命令创建版本库。打开dos界面,输入: svnadmin create e:\svn\repository 这样就在e盘的svn目录下建立了名为repository的版本仓库。在repository文件夹下subversion会自动建立一些文件夹,待会儿会讲到。 四、架设SVN服务器 svn服务器的架设有两种方式: 二是基于Apache服务器,这种方式是让客户端通过http协议访问版本库,当代码需要跨网共享的时候,我们就要用到这种方式了。 架设基于svnserve的svn服务器,在dos界面输入以下命令: svnserve --daemon --root e:\svn 这个命令在服务器端建立了一个守护线程监听3690端口(svn默认端口)等待请求。dos窗口不能关闭,否则守护线程退出。这个方法不是最好的方法,因为这样,每次重启服器的时候都要重新打开一个dos窗口,并且要一直保持dos窗口。最好的方法是将svnserve作为windows服务运行,运行如下命令: --root c:\repos" displayname= "Subversion" depend= tcpip start= auto
架设基于Apache服务器的svn服务器。 找到 Subversion 安装目录下的以下文件: bin/mod_authz_svn.so 复制到 Apache 安装目录下 modules 目录中 bin/intl3_svn.dll 找到 Apache 安装目录下 conf/httpd.conf 文件,用文本编辑器修改: 找到以下两句取消注释: #LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_svn_module modules/mod_dav_svn.so 在Apache的conf/httpd.conf文件,在末尾添加以下内容 #配置虚拟目录 #版本库路径 #授权文件 #所有用户都需要身份验证 #验证方式 #项目的名称 #用户文件 这样基于Apache服务器的svn服务器就配置好了,下面我们就可以进行权限配置了。 五、权限控制 上面说过,建立版本库后,subversion会在版本库中建立若干文件夹,其中conf文件夹就是进行权限控制配置的,里面有三个文件svnserve.conf,password,authz。用记事本打开svnserve.conf文件:找到以下两行: 修改为: 用户配置,用记事本打开password文件,添加如下几行: 这里配置了两个用户,用户名分别为"admin"和"thinker"。其中"admin"用户的口令为"admin";"thinker"用户的口令为"123456"。如果是Apache服务器的话,password文件应该由Apache来生成,因为在 Subversion 和 Apache 中无法使用相同的 passwd 文件,因为 Apache 是以加密方式存储密码,而 Subversion 使用明文储存密码,所以要使用Apache服务器就要使用Apache生成的passwd文件。 使用Apache的bin目录下的htpasswd.exe可执行文件生成用户文件,第一次生成使用-cb参数,添加新用户使用-b。 如: htpasswd -cb passwd.apache islee 123 然后将生成的passwd.apache文件拷到版本库的conf文件夹下,并将Apache conf文件夹下的httpd.conf刚刚添加的<location>段AuthUserFile属性值改为passwd.apache文件。 组和权限配置 用文本编辑器打开authz文件,添加如下文字: [group] all=thinker,admin
[/] @all=rw *=r 上面两段文字的意思是,添加一个用户组all,包括admin合thinker两个用户,对所有库给all用户组添加读写权限,所有用户添加读权限。 Apache服务器配置好后就可以在浏览器中通过输入http://localhost/svn测试。 |
|
来自: Lucia‘s doc > 《资料整理》