日期:2014-05-17  浏览次数:20903 次

Subversion+Apache HTTP server安装配置

1.安装subversion1.6

? ?参考http://www.subversion.org.cn/?action-viewnews-itemid-1

?

? ?p.s.本来想安装最新的subversion1.7的 但下载的都是.zip包,实在看不懂安装说明,只有打消念头了。

? ? ? ? ?如果有会得,欢迎指导!

?

2.安装Apache HTTP server

? 使用的安装文件是apache_2.0.48-win32-x86-no_ssl.msi

? 具体参考http://heavyz.sourceforge.net/homepage/homepage_zh/comp/notes/apache-2.0.html

?

3.配置

?(参考自http://www.ibm.com/developerworks/cn/java/j-lo-apache-subversion/)

? ?(1)连接subversion和apache

? ?为了使 Subversion 与 dav 模块通信,需要安装 mod_dav_svn 插件,可以在 Subversion 的安装目录(ect\Subversion\bin)中找到。将其拷贝 ? 到 Apache 安装目录的 modules 文件夹下。

接下来就是配置 Apache 的 httpd.conf文件(ect\Apache2.2\conf下) ,让 Apache 在启动的时候加载上述模块。

我的svn库地址是F:/svn/repository/test

在httpd.conf中添加的内容如下:

LoadModule dav_module modules/mod_dav.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /test>
  DAV svn
  SVNPath F:/svn/repository/test
</Location>

? ? 保存后重启Apache,在浏览器中输入 ?http://服务器ip/test/ ?,则显示出版本库中相应信息

? ? ?主要就是版本库中目录结构

? ? (不会导入图片= =)

? ? 注意:<location>标签 为版本库名;输入的URL, 是直接到版本库位置test。

?

?

如果想要指定多个版本库,可以用多个 Location 标签,也可以使用 SVNParentPath 代替 SVNPath,例如在?F:/svn/repository?下有多个版本库 repos1,repos2 等等,用如下方式指定:

<Location /repository>
  DAV svn
  SVNParentPath F:/svn/repository
</Location>

?

? 注意:标签<location> 要修改到版本库上级目录repository。

其中,"SVNParentPath F:/svn/repository " 表示 F:/svn/repository 下的每个子目录都是一个版本库。可以通过?http://服务器IP/repository/repos1http://服务器IP/repository/repos2?来访问。

?(2)授权控制

? ? ? 在location标签中增加语句:

AuthType Basic
AuthName "svn repos"
AuthUserFile F:/svn/user.auth
Require valid-user

? ? ?显然需要创建相关的文件user.auth。这个我们可以利用Apache2.2中提供的htpass工具完成。

? ? ?打开DOS命令行,进去Apache2.2\bin下:

? ? ?D:\Program Files\Apa