ApacheSVN服务器安装之专家指导

开发 项目管理
本文介绍一下如何安装ApacheSVN服务器,因为Subversion的设计包括一个抽象的网络层,这意味着版本库可以通过各种服务器进程访问。

Subversion可以使用无限数量的网络协议实现,目前实践中存在着两种服务器,ApacheSVN服务器和SVNServer服务器,本文主要针对ApacheSVN服务器进行讲解,首先看一下ApacheSVN和SVNServer介绍。
SVNServer:svnserve是一个小的(也叫轻型的)、独立服务器,使用自己定义的协议和客户端。ApacheSVN:Apache是最流行的web服务器,通过使用mod_dav_svn模块,Apache可以访问版本库,并且可以使客户端使用HTTP的扩展协议WebDAV/DeltaV进行访问。通过Http协议访问版本库是Subversion的亮点之一。ApacheSVN服务器具备了许多svnserve服务器没有的特性,使用上更加灵活,但是有一点难于配置,灵活通常会带来复杂性。由于Subversion需要版本化的控制,因此标准的Http协议不能满足需求。要让Apache与Subversion协同工作,需要使用WebDAV(Web-basedDistributedAuthoringandVersioning:)Web分布式创作和版本控制)。WebDAV是HTTP1.1的扩展,关于WebDAV的规范和工作原理,可以参考IETFRFC2518。

一、必备条件

为了让你的版本库使用HTTP网络,你必需具备以下几个条件:
配置好httpd2.2.x,并且使用mod_dav启动。
为mod_dav安装mod_dav_svn插件。
配置你的httpd.conf,使http协议能访问版本库。
下面以我的配置过程详细讲解。
环境:
OS:WindowsXPSP2
Web:Apache2.2.6
SVN:svn-win32-1.4.6

二、ApacheSVN服务器安装

1、安装Apache
具体安装方法见:《Windows下安装Apache2.2.x》

2、安装Subversion
将下载下来的svn-win32-1.4.6.zip直接解压即可,比如我解压到e:\subversion。
从Subversion安装目录的bin子目录将intl3_svn.dll、libdb44.dll、mod_authz_svn.so、mod_dav_svn.so拷贝到Apache的模块目录(Apache安装目录的modules文件夹)。#p#

三、ApacheSVN服务器中基本的Apache配置

修改Apache的配置文件httpd.conf,使用LoadModule来加载mod_dav_svn模块。将:#LoadModuledav_modulemodules/mod_dav.so改成:LoadModuledav_modulemodules/mod_dav.so即去掉前面的“#”号。

添加:LoadModuledav_svn_modulemodules/mod_dav_svn.so一定确定它在mod_dav之后。
现在你已经设置了Apache和Subversion,但是Apache不知道如何处理Subversion客户端,例如TortoiseSVN。为了让Apache知道哪个目录是用来作为Subversion版本库,你需要使用编辑器(例如记事本)编辑Apache的配置文件。
在配置文件最后添加如下几行:

DAVsvn
SVNPathe:/svn/repos1

这个配置告诉Apache首先需要启用dav_module,然后加载dav_svn_module。版本库对外的URL是:http://服务器IP/repository/,所有的Subversion版本库在物理上位于e:/svn/repos1/。
配置完毕后重新启动Apache,打开浏览器,输入http://服务器IP/repository/就会看到配置成功画面。
这表示Apache的dav_svn模块已经可以正常工作了。用户可以使用任何一种Subversion的客户端通过Http协议访问你的版本库。
如果想要指定多个版本库,可以用多个Location标签,也可以使用SVNParentPath代替SVNPath,例如在e:\svn下有多个版本库repos1,repos2等等,用如下方式指定:
DAVsvn
SVNParentPathe:/svn

“SVNParentPathe:/svn”表示e:\svn下的每个子目录都是一个版本库。可以通过http://服务器IP/repository/repos1/,http://服务器IP/repository/repos2/来访问。

现在你的版本库任何人都可以访问,并且有完全的写操作权限。也就是说任何人都可以匿名读取,修改,提交,以及删除版本库中的内容(注:这时不需要配置E:\svn\repos\conf\svnserve.conf文件,并且也不需要启动E:\subversion\bin\svnserve.exe。因为提交是通过Apache的dav模块处理的,而不是由svnservice处理。)。我们用TortoiseSVN客户端验证即知。
显然大部分场合这是不符合需求的。那么如何进行ApacheSVN服务器权限设置呢,Apache提供了基本的权限设置。

【编辑推荐】

  1. Subversion1.4.5和Apache2.2.6的完美结合
  2. 简单剖析Subversion1.4.4在Apache2.2系列中配置
  3. 在Linux下subversion和apache安装配置
  4. Subversion和TortoiseSVN如何在Windows下进行构建SVN版本控制
  5. 重点剖析:Subversion1.4.6+Apache2.2.8服务器如何搭建
责任编辑:佚名
相关推荐

2010-05-19 18:03:07

2010-05-19 17:26:58

2010-05-19 18:26:28

SVN服务器安装

2010-05-25 09:45:06

SVN服务器环境配置

2010-05-31 14:19:47

2010-05-25 13:49:11

访问SVN服务器

2010-05-28 13:06:49

SVN代码管理服务器

2012-07-02 09:36:02

文件服务器故障服务器故障

2010-05-24 09:59:54

SVN服务器搭建

2010-05-26 16:17:46

2010-05-19 18:46:59

SVN服务器配置

2011-03-02 12:43:40

vsFTPd

2010-05-31 10:09:32

2009-08-07 14:10:21

安装DHCP服务器

2010-07-01 12:22:40

ftp命令FTP协议

2011-02-17 09:14:32

2012-05-03 15:02:12

虚拟服务器

2010-08-30 14:54:04

低功耗服务器

2010-09-26 14:31:29

安装DHCP服务器

2015-11-30 18:19:13

宝德
点赞
收藏

51CTO技术栈公众号