Subversion 的配置以及安装

来源:互联网 发布:淘宝上的金子是真的吗 编辑:程序博客网 时间:2024/05/22 03:30

这段时间因为对版本控制的需要,所以自己根据网上的资料以及自己的在配置中遇到的问题,来写个自己的Subversion的配置心得。

 

一、安装Subversion

 

1) 准备工作

1. Apache服务器程序。到http://www.apache.org/上下载apache http server,我的是(apache_2.2.21-win32-x86-no_ssl.msi)。


2. SVN服务器端程序。到http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91上下载Subversion当前1.1.3版本的二进制安装文件,一般tigris.org并不提供二进制包,这些二进制包是有一些志愿者维护的,所以可能不是当前最新的版本。如果你想尝鲜使用Subversion的最新版,请下载源码自己编译。


3.TortoiseSVN,客户端程序。TortoiseSVN是扩展Windows Shell的一套工具,可以看作Windows资源管理器的插件,安装之后Windows就可以识别Subversion的工作目录。
官方网站是TortoiseSVN,下载方式和前面的svn服务器类似,在Download页面的我们选择Official version for Win2k/XP or higher的版本,然后在sourceforge的下载页面选择目前的最高稳定版本的安装文件TortoiseSVN-1.6.7-svn-1.2.3.msi。(注意:TortoiseSVN有一个特殊对VS.Net运行时一个BUG修正的版本,在下载页面有选择:Special version for Win2k/XP or higher: (We provide NO support for this!) uses _svn folders instead of .svn to work around the VS.NET bug with web projects. If you don't use web projects then please use the official version. )

4. TortoiseSVN的中文语言包,注意这个需要下和客户端程序版本相同的。可以在Download页面内的Language Packs选择下载

2) 开始安装

1. 先安装Apache服务器。

运行下载好的“apache_2.2.13-win32-x86-no_ssl.msi”,出现如下界面:

image

出现Apache HTTP Server 2.2.13的安装向导界面,点“Next”继续,

 

确认同意软件安装使用许可条例,选择“I accept the terms in the license agreement”,点“Next”继续,

 

将Apache安装到Windows上的使用须知,请阅读完毕后,按“Next”继续

 

设置系统信息,在Network Domain下填入您的域名(比如:lk.com),在Server Name下填入您的服务器名称(比如:http://www.lk.com/,也就是主机名加上域名),在Administrator's Email Address下填入系统管理员的联系电子邮件地址(比如:lk@sina.com),

 

选择安装类型,Typical为默认安装,Custom为用户自定义安装,我们这里选择Custom,有更多可选项。按“Next”继续

 

现选择安装选项界面,如图所示,左键点选“Apache HTTP Server 2.0.55”,选择“This feature, and all subfeatures, will be installed on local hard drive.”,即“此部分,及下属子部分内容,全部安装在本地硬盘上”。点选“Change...”,手动指定安装目录。

 

我这里选择安装在“D:\”,各位自行选取了,一般建议不要安装在操作系统所在盘,免得操作系统坏了之后,还原操作把Apache配置文件也清除了。选“OK”继续。

选“Next”继续,直到出现下面的画面。

安装向导成功完成,这时右下角状态栏应该出现了下面的这个绿色图标,表示Apache服务已经开始运行,按“Finish”结束Apache的软件安装

安装完成之后到安装目录下找到conf目录下的httpd.config文件,搜索Listen,并将Listen后面的80改为9000(或者你希望的端口),

image

测试

然后重新启动Apache服务器,这时可以用http://localhost:9000/ 来测试是否安装正确。

 image

2.运行下载好的“Setup-Subversion-1.5.6.msi”,一路下一步就行

image

使用Windwos资源管理器,来到Subversion的安装目录(通常是e:\program files
\Subversion),找到文件/httpd/mod_dav_svn.so和mod_authz_svn.so,复制这些文件到
Apache的模块目录(通常是E:\Program Files\Apache Software Foundation\Apache2.2\modules )。

 

从 Subversion 安装目录将 /bin/libdb*.dll 和 /bin/intl3_svn.dll 复制到 Apache 的bin 目录
(通常是E:\Program Files\Apache Software Foundation\Apache2.2\bin)。
3.运行下载好的“TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi”和“LanguagePack_1.6.5.16974-win32-zh_CN.msi”,一路下一步就行

image

 image

安装TortoiseSVN时按照提示安装就好了,安装完成后会提示重启

 

再修改httpd.conf,并做如下修改:
找到Apache安装目录下的conf目录,用文本编辑器打开httpd.conf,找到一下两行:

 

#LoadModule dav_module modules/mod_dav.so#LoadModule dav_fs_module modules/mod_dav_fs.so

将每行前面的注释符“#”去掉。

 

下面注意,到Subversion/bin 目录下把
mod_authz_svn

mod_dav_svn

拷贝到D:\Program Files\Apache Software Foundation\Apache2.2\modules(个人路径不一样,但是都是modules)目录中,

因为这个错误我纠结了很长时间,所以希望大家能够重视下。

然后在所有LoadModule语句的最后添加一下几行:(请将下面的路径改为绝对路径,这个最近困扰了我很长时间)

#SVNLoadModule dav_svn_module modules/mod_dav_svn.soLoadModule authz_svn_module modules/mod_authz_svn.so

其实在成功安装SVN之后,Apache服务器已经和SVN初步集成。如图:

image

注意下面的状态栏已经是Apache/2.2.13 SVN1.5.6 DAV/2

测试:

1.建版本库,我在F盘下创建一个文件夹:E:\SubversionFiles 作为所有版本库的根目录
2.在E:\SubversionFiles建立一个版本库test1,
运行命令: svnadmin create E:\SubversionFiles\test1
创建成功后目录结构为

image

3.接下来我们必须告诉Apache我们的资源库所在的路径,可以通过Location指令来完成这个设置。因为不希望为每个单独的项目都进行单独的设置,所以我们把所有项目都存放在统一的资源库目录,那么可以使用SVNParentPath指令来指定存放所有项目的路径。在httpd.conf文件最后添加下面配置:

#SVN
<Location /svn>
    DAV svn
    SVNParentPath E:\SubversionFiles
</Location>

这样我们就可以通过http://localhost:9000/svn/test1 来访问

image

4.加入用户身份验证:
在命令行窗口中转到Apache所在的目录,执行下列命令
说明:创建用户liuke
输入:htpasswd –c e:\SubversionFiles\svn_auth_passwd liuke


说明:使用-c参数来创建一个passwd文件
输出:

E:\Program Files\Apache Software Foundation\Apache2.2\bin>htpasswd -c e:\SubverionFiles\svn_auth_passwd liuke
Automatically using MD5 format.
New password: *****
Re-type new password: *****
Adding password for user liuke

再创建用户的时候就不用-c参数,而是用-m参数,因为文件svn_auth_passwd 已经创建。
(第一次用-c创建passwd文件;以后就用-m命令来添加用户了;更改用户的密码也用此命令);
(命令 htpasswd –D passwd svntest为删除用户(此处命令用大写的D);
接下来我们必须告诉Apache服务器如何使用这个passwd文件,打开httpd.conf找到刚才我们添加的Location配置的位置,修改如下:

#SVN
<Location /svn/>
    DAV svn
    SVNParentPath "E:/SubversionFiles"

    # how to authenticate a user
     AuthType Basic
     AuthName "Subversion repository"
     AuthUserFile "e:/SubversionFiles/svn_auth_passwd"

    AuthzSVNAccessFile "e:/SubversionFiles/svn_auth_accessfile"


    # only authenticated users may access the repository
         Require valid-user

</Location>

 

svn_auth_accessfile

*********************

[groups]
admin = liuke
developers = user

#to allow everyone read access
#allow all admin complete access
[/] 
@admin=rw
@developers=r

[/Tools]
*= rw

*********************

认证

如果要连接的版本库需要口令,一个认证对话框就会显示出来。
图 5.5. 认证对话框
认证对话框

输入你的用户名和口令。那个选择框能让TortoiseSVN在Subversion的缺省路径下$APPDATA\Subversion\auth的三个子目录里保存认证信息:

  • svn.simple文件里包含了基本认证方式所需要的认证信息(用户名/口令)。

  • svn.ssl.server文件里包含了SSL服务器证书。

  • svn.username文件里包含了用户名认证的认证信息(不需要提供密码)。

每个文件对应一个要连接的服务器。文件是纯文本格式,因此可以用文本编辑器查看每个文件是应用于哪个服务器的。如果希望Subversion和TortoiseSVN忘记某个服务器的凭证信息,只需删除这个服务器的对应文件即可。默认路径为"C:\Documents and Settings\Administrator\Application Data\Subversion\auth"


重新启动Apache HTTP服务器,使用浏览器打开 http://localhost:9000/svn/test1 你将会看到要求登录的对话框,输入你刚设置的用户名和口令即可。
这样Apache和SVN的集成就基本告成了


 

 

原创粉丝点击