天天看点

如何在Windows上配置Subversion HTTP服务

由于不喜欢VSS的工作机制,我尝试在我的开发小组里推行Subversion做版本管理。网络上已经有很多的安装例子了。这里只是把我自己的经历记录下来。关于使用的心得,我会再之后在做增加。

系统环境:WindowsXP

安装软件:apache_2.0.63、svn-1.4.6

安装路径:Apache使用默认的安装路径:C:/Program Files/Apache Group/Apache2;Subversion使用默认的路径:C:/Program Files/Subver。

步骤:

1.安装 Apache

这个比较简单。一步一步的往后执行,基本都能安装成功。需要注意的是由于我们要在Apache下使用Subversion,因而需要mod_dav_svn模块,目前mod_dav_svn不支持apache 2.2及以上的版本。所以我选择了2.0版本 的  apache_2.0.63。http://httpd.apache.org/download.cgi 页面里有下载地址。

2.安装 Subversion

到http://subversion.tigris.org下载一个名如 svn-x.x.x-setup.exe 的安装程序。然后也是一步一步的往后执行安装。

3.创建 Subversion 库

在Subversion的安装路径下,如:C:/Program Files/Subversion/bin 的目录里执行

svnadmin create D:/XXX/SVN/first

这样我们就创建了一个Subversion 库,库名是first.这里暂时先用默认的配置。大家可以查询 Subversion文档,定制自己需要的库。

4. 创建基本验证所用的用户文件

由于我们通过Apache来访问Subversion 库,所以用户的认证要采用Apache的认证机制。这里我们使用本地密码文件的方式。在Apache安装路径下,如:C:/Program Files/Apache Group/Apache2/bin,使用htpasswd命令创建密码文件:

htpasswd -c D:/XXX/SVN/conf/http_passwd admin

admin是我们的第一个认证用户。然后根据提示输入密码,用户密码文件就建立好了。

5.编辑httpd.conf增加我们要访问的虚拟路径

httpd.conf在Apache的安装路径下,如:C:/Program Files/Apache Group/Apache2/conf/httpd.conf。

用文本编辑软件打开httpd.conf。

5.1去掉mod_dav的注释。

找到#LoadModule dav_module modules/mod_dav.so

这行。去掉行首的#。

5.2增加mod_dav_svn和mod_authz_svn的加载配置

在httpd.conf文件尾部添加如下:

LoadModule dav_svn_module "C:/Program Files/Subversion/bin/mod_dav_svn.so"

LoadModule authz_svn_module "C:/Program Files/Subversion/bin/mod_authz_svn.so"

5.3增加我们的虚拟路径配置

<Location /svn>

    DAV svn

    SVNParentPath "D:/XXX/SVN"

    AuthType Basic

    AuthName "Subversion Repositories"

    AuthUserFile "D:/XXX/SVN/svnconf/http_passwd"

    AuthzSVNAccessFile "D:/XXX/SVN/svnconf/authz"

    Satisfy Any

    Require valid-user

</Location>

6.编辑授权文件

修改D:/ProjectFolder/SVN/MAS/conf/authz

我们在Apache中设置了SVN的父目录的绝对地址。这样我们就可以在D:/XXX/下创建多个Subversion库,而使用一套认证和授权文件进行集中管理。

[groups]

admin = admin

developer = zlx

[/]

@admin = rw

[first:/]

[second:/]

@developer = rw