posts - 262,  comments - 221,  trackbacks - 0
【1.业务需求】
由于客户和我们的网络分布在香港和广州,双方无法直接访问对方的SVN Repository,所以需要有一个公共的第三方平台来让双方可以直接访问。

【2.基本思路】
我们要考虑的问题主要有四方面:

①选用何种服务器作为Web服务器
Apache服务器作为业界广泛使用的Web服务器,因其高效的性能,灵活的扩展性,完善的完全机制而成为我们选择Web服务器的首选。

②采用何种协议来进行通信
在确定了Web服务器后,我们要考虑的是以什么协议传输SVN请求和响应。HTTP协议虽然简单但由于使用明文通信,在此之上的通信容易被黑客拦截,所以我们采用加密了HTTP协议:HTTPS。

③是否需要保留其它原有的访问方式
SVN默认支持几种通信协议:SVN协议,HTTP,HTTPS协议,如果我们采用了基于Web的访问方式,那么我们还要开放原始的SVN协议访问方式吗?还是切断其它的访问方式呢?这两种做法都有好有坏:

 A. 开放原始SVN协议访问:增加了访问方式,但也带来了风险。因为SVN是没有提供访问日志
 B. 切断其它访问方式:增加了安全性。但速度比较慢(因为多了Apache的鉴权和日志记录)

个人的做法是:对外部客户只开放基于HTTPS的访问方式,对内同时提供两种方式

④是否需要开通端口映射
一般企业内部都有局域网,对外使用一个公网IP地址上网,我们的SVN服务器搭建在内网,如果要外部用户能够访问到我们内网的机器,必须做一个端口映射,当访问公网IP地址的某个端口时映射到内网服务器的某个端口就可以了。

【3.基本工具】
这里我介绍的一个集成了Apache 2.2和SVN 1.5的软件:CollabNet SVN。网址见:http://www.open.collab.net/products/subversion/。该软件有For Windows, For Linux版本的,我选择的是For Windows的版本。

安装该软件相当简单,和我们安装其它软件没有大的区别,在安装时会提示你配置SVN的监听端口,SVN Repository的父目录(注意是父目录,不是单一Repository的路径)。安装后记得要重启才能启动Apache服务。

此外这个软件本身集成了所有SSL配置的必须文件,不需要再到网上下载了,很方便

【4.示例操作】
配置Apache和SSL的过程比较繁琐,这里就不在一一列举,下面给出网上一篇非常详细的教程:

windows安装基于Apache的SVN服务器(包括SSL配置)

这篇教程包含了Apache的配置,SVN的配置,SSL的配置,读者可以一步一步按照上面的步骤来配置。这里着重补充一点教程中没有提到的一点:

要使用SSL必须在Apache的httpd.conf文件中加载ssl.conf文件,但是这篇教程中没有提到(可能是因为Apache的版本不同),一开始我按照教程中的步骤配置后,Apache服务器可以正常启动,但是一旦用https://服务器名或IP/svn/版本库名访问时,却直接返回主机无法连接的错误,后来询问专业人士才知道,原来在httpd.conf中有一个加载ssl.conf的选项,默认是注释的,必须开通这个选项。去掉注释后重启Apache服务器,再次测试成功!

切记:如果你使用的是CollabNetSVN,那么在你的\conf\httpd.conf文件中搜索下面这两行

#Secure(SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf

一定要把Include前面的注释去掉才能正常使用SSL,否则会连访问日志都没有内容。

当配置成功后我们就可以通过web浏览器来浏览SVN了,用户只需要在Web浏览器上查找自己要导出的内容,将URL拷贝后使用本地客户端(如TortoiseSVN)check out即可。

附件1:httpd.conf和httpd-ssl.conf

附件2:SSL和SVN相关模块 

-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要尽力打好一手烂牌。
posted on 2009-01-07 22:37 Paul Lin 阅读(3272) 评论(3)  编辑  收藏 所属分类: 项目管理


FeedBack:
# re: 【版本控制之路】使用Apache和SSL搭建安全的SVN访问
2009-01-08 19:30 | zhouzhao21@gmail.com
版本控制之路 系列写的很好!  回复  更多评论
  
# re: 【版本控制之路】使用Apache和SSL搭建安全的SVN访问[未登录]
2009-01-08 23:59 | Paul Lin
@zhouzhao21@gmail.com

谢谢鼓励!  回复  更多评论
  
# re: 【版本控制之路】使用Apache和SSL搭建安全的SVN访问
2012-11-21 11:09 | zencart
还不错。。  回复  更多评论
  

只有注册用户登录后才能发表评论。


网站导航:
 
<2009年1月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

常用链接

留言簿(19)

随笔分类

随笔档案

BlogJava热点博客

好友博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜