使用http协议访问svn

上一篇文章介绍了subVersion在linux系统下的搭建

svn服务器有2种运行方式:svn服务和借用apache运行,也就是http服务.

为什么使用http服务

svn服务是svn默认的访问形式,但是人们通常习惯于使用域名或者ip地址来访问一个项目,如果我们把svn服务器当做一个项目的话,使用http协议来访问svn服务更加符合我们的习惯.而且对于没有接触过svn的其他运维人员或者其他人员,http访问版本服务器要优于svn服务访问.

关于mod_dav_svn模块

由于Subversion需要版本化的控制,因此标准的HTTP协议不能满足需求。要让Apache与Subversion协同工作,就要使用WebDAV(Web-based Distributed Authoring and Versiong)Web分布式创作和版本控制协议。 mod_dav_san模块就是作为Subversion与Apache之间的接口,通过它,Apache就可以访问版本库,并且可以让客户端也使用HTTP的扩展协议WebDAV/DeltaV进行访问。参考http://www.linuxfly.org/post/449/

mod_dav_svn安装

# yum install mod_dav_svn

创建版本库

与以前的步骤基本相同,唯一不同的是,需要让运行的Apache用户拥有改仓库的权限

# mkdir /var/www/svn
# cd /var/www/svn/
# svnadmin create stuff
# chown -R apache.apache stuff/


修改apache配置

修改/etc/httpd/conf.d/subversion.conf配置文件的内容为:

vi /etc/httpd/conf.d/subversion.conf

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

#
# Example configuration to enable HTTP access for a directory
# containing Subversion repositories, "/var/www/svn".  Each repository
# must be both:
#
#   a) readable and writable by the 'apache' user, and
#
#   b) labelled with the 'httpd_sys_content_t' context if using
#   SELinux
#

#
# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
#   # cd /var/www/svn
#   # svnadmin create stuff
#   # chown -R apache.apache stuff
#   # chcon -R -t httpd_sys_content_t stuff
#

<Location /repos>
   DAV svn
   SVNParentPath /var/www/svn

#   # Limit write permission to list of valid users.
   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
      AuthType Basic # 使用基本认证方式,即用户名、密码认证
      AuthName "Authorization Realm" # 在认证对话框中出现的提示信息
      AuthUserFile /etc/svn/svnusers.conf # 指定存放用户名信息的文件路径
      AuthzSVNAccessFile /etc/svn/accesspolicy.conf # 指定存放用户访问路径信息的文件路径
      Require valid-user # 限定只有用户输入正确的用户名和密码后才能访问该标签所指向的路径
   </LimitExcept>
</Location>


加入认证信息

1.创建存放用户信息的文件

# mkdir -p /etc/svn/
# htpasswd -c /etc/svn/svnusers.conf admin
New password:
Re-type new password:
Adding password for user admin

具体的用户操作可以查看htpasswd指令

2.创建存放用户访问路径的文件

# mkdir -p /etc/svn/
# cd /etc/svn/
# vi accesspolicy.conf


添加如下内容

[groups]
admin = admin

[/]
*=r
@admin = rw

[stuff:/]
*=rw
@admin = rw


启动httpd服务:

# /etc/init.d/httpd restart

访问svn服务




  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值