使用Apache访问svn版本库

1.     关于mod_dav_svn模块

关于svn的安装与配置参考http://hi.baidu.com/1024114660/blog/item/83cfffc6fe904bccd10060a4.htm 
这里只介绍如何使用apache访问版本库
Subversion
有两种运行方式,一种是基于Apache Http Server,另外一种是Subversion Standalone Server

由于Subversion需要版本化的控制,因此标准的HTTP协议不能满足需求。要让ApacheSubversion协同工作,就要使用WebDAVWeb-based Distributed Authoring and VersiongWeb分布式创作和版本控制协议。WebDAVHTTP 1.1的扩展,关于WebDAV的规范和工作原理,可以参考IETF RFC 2518
mod_dav_san
模块就是作为SubversionApache之间的接口,通过它,Apache就可以访问版本库,并且可以让客户端也使用HTTP的扩展协议WebDAV/DeltaV进行访问。

2.   创建 SVN 仓库

$ cd /home/dxk

$ mkdir svn

$ cd svn

$ svnadmin create baidu

3.  配置apache

使用命令安装apt-get install libapache2-svn

配置apache http.conf

LoadModule dav_module modules/mod_dav.so 加载mod_dav模块

LoadModule dav_svn_module modules/mod_dav_svn.so 加载mod_dav_svn模块

默认情况下这两个模块会自动加载,他们放在/etc/apache2/ mods-enabled中,关键是下边的一个,把这个配置到http.conf

LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so 加载mod_anthz_svn模块

4.  通过 WebDAV 协议访问

通过 WebDAV 协议访问 SVN 文件仓库,要配置Apache服务器。加入下面的代码片段到 /etc/apache2/http.conf 或者/etc/apache2/mods-enabled/dav_svn.conf

<Location /svn>

  DAV svn

  SVNPath /home/dxk/svn/baidu

  #SVNParentPath /home/dxk/svn 开始我用的这个,但是不行不知为何,只有输入http://localhost/svn/baidu时才可用

  AuthType Basic

  AuthName "Subversion Repository"  版本库验证时的提示信息

  AuthUserFile /home/dxk/passwd/svn_passwd身份验证,这里保存着用户的密码

#  <LimitExcept GET PROPFIND OPTIONS REPORT>

      Require valid-user

#  </LimitExcept>

</Location>

如果需要用户每次登录时都进行用户密码验证,将<LimitExcept GET PROPFIND OPTIONS REPORT></LimitExcept>两行注释掉。

5.  创建密码文件

htpasswd -c /home/dxk/passwd/svn_passwd username

htpasswd  /home/dxk/passwd/svn_passwd username2 添加第二个用户

6.  各项配置完成后,重启apache

访问http://localhost/svn出现下面的界面

 

输入用户名密码后



如果你的没有出现可能是你没有设置/etc/dxk/svn目录的访问权限,使用chmod命令让目录有读取权限即可

posted @ 2010-11-24 09:41  1024114660  阅读(285)  评论(0)    收藏  举报