SVN安装指南

来源:互联网 发布:怎样开通淘宝店铺 编辑:程序博客网 时间:2024/06/05 15:11

SVN安装指南 

 

  第一章 引 
1.1 编写目的
版本控制之于程序员,就好比安全网之于高空秋千表演者。知道安全网就在那里,万一自己摔落它能够提供保护,高空秋千表演者才能放心大胆地在空中飞跃。同样,版本控制使您有能力去冒以往想都不敢想的风险。如果哪儿出了错,您总是可以使自己的代码回复到一个已知的、工作正常的版本。您可以在不触及主干的分支中进行试验,而不会影响到其他小组成员。在已经发布的产品的较老版本中发现 bug 时,您可以轻松检出特定版本,以确认、修订,并生成该 bug 的修补程序。如果没有版本控制,您必须极为慎之又慎,缓慢地推进,总而言之,生产力会更低。
Subversion 是一种开放源码的全新版本控制系统,支持可在本地访问或通过网络访问的数据库和文件系统存储库。不但提供了常见的比较、修补、标记、提交、回复和分支功能性,Subversion 还增加了追踪移动和删除的能力。此外,它支持非 ASCII 文本和二进制数据,所有这一切都使 Subversion 不仅对传统的编程任务非常有用,同时也适于 Web 开发、图书创作和其他在传统方式下未采纳版本控制功能的领域!
 
第二章 安装配置
本安装基于Windows vista环境下进行安装与配置的,其它windows版本都可用;搭建此项目管理服务器首先必须要安装Apache服务器。
2.1 安装Apache
1)下载Apache
访问地址:http://httpd.apache.org/download.cgi下载Apache.
注意:Apache低于2.0.54的Windows版本的存在编译问题,低于2.0.54的版本不能与Subversion 1.2一起工作。2.2.X目前不能很好支持SVN 1.4.X。所以当前建议下载Apache 2.0.63版本
 (2) 安装     
下载完成后运行apache_2.0.63-win32-x86-no_ssl.msi ,根据提示进行操作。遇到系统要求输入SERVER的URL时,如果你的服务器没有DNS名称,请直接输入IP地址(此文件也可在安装后进行修改,该文件位于Apache Group/Apache2/conf/httpd.conf文件)。
   注意:如果你已经有了IIS或其他监听80段口的程序,安装会失败,如果发生这种情况,直接到程序的安装目录/Apache Group/Apache2/conf,打开httpd.conf。编辑文件的Listen 80为其他可用的端口,例如Listen 8080,然后重新启动-这样就不会那个问题了,或者将其它应用的端口进行改之。
3)检查     
安装完成后浏览 http://localhost/若成功,可看到apache欢迎页面。如下图所示:
2.2 安装Subversion
1)下载 Subversion
地址:http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91
在本实例中,选择下载svn-win32-1.4.6.zip此版本.
(2)安装
将svn-win32-1.4.6.zip解压到安装程序的目录下;(如果下载的是exe安装文件,可以根据指导安装, Subversion会自动认识到你安装了Apache,你就几乎完成了工作),本实例中采用解压方式进行安装,它不会自动找到Apache服务器,所以你还有额外的步骤。
 (3)后续
步骤1 从svn-win32-1.4.6/bin 中将mod_authz_svn.so mod_dav_svn.so复制到Apache Group/Apache2/modules下,再将svn-win32-1.4.6/bin目录下的所有dll文件全部复制到Apache Group/Apache2/bin文件夹下。
步骤2 找到Apache Group/Apache2/conf/httpd.conf文件,然后去掉如下几行的注释(删除 '#'标记):
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
将下面两行添加到LoadModule部分的最后。
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
进行如上后续修改后完成了SVN+Apache之间的WebDav的工作了。重启Apache以后可看到如下图:
这是安装最终的图,图中状态栏显示Apache/2.0.63(Win32) SVN1.4.6 DAV/2是由于还安装了mod_python,此步骤稍后将在Trac中讲解,如上安装好后应显示为Apache/2.0.63(Win32) SVN1.4.6 DAV.
2.3 配置
1)建立版本库
首先建立一个用于存在SVN项目的版本库,本例中在D盘驱动器中建立目录var/svnhome,可通过如下命令建立版本库,当然如果你需要建立多个版本库只需将名称进行换名即可。
首先以cmd命令窗口进入svn-win32-1.4.6/bin目录结构下,输入:
>svnadmin create --fs-type fsfs D:/var/svnhome/projects回车,等待提示创建完成;完成后则进行相关密码以及权限设置
(2)设置密码文件
cmd命令窗口进入路径Apache Group/Apache2/ bin目录然后输入:
> htpasswd -c D:/var/svnhome/projects/conf/<filename> <username>
本例中filename名称使用passwordfile,username名称使用admin(注意filename无需后缀名),这样便可在var/svnhome/projects/conf目录下创建一个用户名为admin的passwordfile文件,此文件将在后面配置权限所用
此后添加用户,可使用如下命令:
>htpasswd filename <username>
删除用户,使用如下命令:                       
>htpasswd -D filename <username>
若对密码不想加密可使用-cp参数,windows平台下默认是MD5加密
(3)设置权限文件
用文本编辑器在var/svnhome/projects/conf路径下生成名为svnaccessfile的文件,此名称将在Apache Group/Apache2/conf/httpd.conf配置文件中所用,此处不使用扩展名。编辑一下内容:
[groups]
committers = admin
developers = Allen
[/]
* = r
@developers = r
@committers = rw
[projects:/]
@ developers = rw
基本含义是根目录下任何人有读权限,committers组有读写权限;admin对projects读写权限,而developers组只有读的权限
备注:如果有中文路径,那要把文件存成UTF8格式,不建议使用中文路径,这在编程当中是严格禁止的.
(4)配置服务
    编辑Apache Group/Apache2/conf/httpd.conf文件,添加下面代码。
 
 
<Location /svn>
DAV svn
SVNPath "D:/var/svnhome/projects"
 
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile " D:/var/svnhome/projects/conf/passwordflie"
AuthzSVNAccessFile "D:/var/svnhome/projects/conf/svnaccessfile"
 
Require valid-user
SVNAutoversioning on
ModMimeUsePathInfo on
</Location>
 
备注: 如果使用<Location /svn/>可列出D:/var/svnhome/projects 下的版本库,若为<Location /svn>则不能访问http://127.0.0.1/svn下的项目,而只能这样访问,如http://127.0.0.1/svn/<projectname>
(5)配置内容说明

    设置
解释
<Location>
意思是Subversion版本库的URL是http://ipaddress/svn/
DAV svn
告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。
SVNPath
告诉Subversion需要查看的版本库位于D:/var/svnhome/projects之下
AuthType Basic
激活基本认证,就是用户名/密码
AuthName
用来说明弹出要求输入认证信息的对话框信息,可以使用中文.
AuthUserFile
指定使用认证密码的文件
AuthzSVNAccessFile
位置Subversion版本库的访问控制权限的路径文件
Require valid-user
指定只有输入了正确的用户/密码的用户可以访问URL

另外如果当此时通过访问http://127.0.0.1/svn提示403 Forbidden错误的信息的话,主要是由于svnserve.conf此文件中的[general]内容password-db = passwordfile内容加入(或者将原来的#去掉,同时将passwd修改你所创建的密码文件,本例中为passwordfile),也可以实现根目录的访问了!
2.4 安装TortoiseSVN(可选)
此工具是客户端软件,主要可以用于从服务器上check版本库项目以及updata与commit等相关SVN的管理操作,其下载地址为:http://tortoisesvn.net/downloads,另外还可以下一个语言包,都在给其的subversion官方网站上能下到.