本节向大家简单介绍一下使用mod_dav_svn访问SVN仓库的方法,主要有四个步骤,和大家一起学习一下,希望本节使用mod_dav_svn访问SVN仓库方法介绍对你的学习与所帮助。
在前面的日志中,讲述了如何使用Subversion提供的svnserve服务,通过svn://协议访问远端的仓库数据。实际上,Subversion的设计包括了一个抽象的网络层,这意味着版本库是可以通过各种服务器进程访问的。理论上来会说,Subversion可以使用无限数量的网络协议来实现,甚至可以直接用perl利用相关的接口来编写自定义协议。但日常中,用得最多的就是svn://协议,和用mod_dav_svn模块通过Apache服务进行访问SVN仓库。
通过HTTP协议访问版本库是Subversion的亮点之一,这种方式具备许多svnserve服务器所没有的特性,使用上更加灵活。
一、关于mod_dav_svn模块
在介绍使用mod_dav_svn访问SVN仓库之前首先介绍一下mod_dav_svn模块。由于Subversion需要版本化的控制,因此标准的HTTP协议不能满足需求。要让Apache与Subversion协同工作,就要使用WebDAV(Web-basedDistributedAuthoringandVersiong)Web分布式创作和版本控制协议。WebDAV是HTTP1.1的扩展,关于WebDAV的规范和工作原理,可以参考IETFRFC2518。
mod_dav_san模块就是作为Subversion与Apache之间的接口,通过它,Apache就可以访问版本库,并且可以让客户端也使用HTTP的扩展协议WebDAV/DeltaV进行访问。
二、安装和配置
1、准备
与单纯的svnserve不同,要通过Apache访问Subversion,除了必须已经部署好Apache和Subversion的基本环境外,当然不可缺少的是mod_dav_svn模块了:
引用
#rpm-qa|grepsvn
mod_dav_svn-1.4.2-2.1AX
2、创建版本仓库
这与以前的工作是基本相同的,不同点在于,需要让运行Apache的用户拥有该仓库的所有权:
#mkdir/var/www/svn
#cd/var/www/svn/
#svnadmincreatestuff
#chown-Rapache.apachestuff/这样,就创建了一个stuff仓库,并让apache称为该仓库宿主。
3、修改Apache配置
mod_dav_svn访问SVN仓库时需要修改Apache配置,需要先激活Apache加载mod_dav_svn模块。
修改/etc/httpd/conf.d/subversion.conf配置文件的内容为:
#加载相应的模块
引用
LoadModuledav_svn_modulemodules/mod_dav_svn.so
LoadModuleauthz_svn_modulemodules/mod_authz_svn.so
DAVsvn
SVNPath/var/www/svn/stuff
重新启动httpd服务后,通过浏览器访问http://ip/repos,即可看到如下界面:
4、加入认证信息
mod_dav_svn访问SVN仓库要加入认证信息。上面定义的版本仓库,默认是任何人都可以匿名访问,并且拥有完全的写入、读取、修改、提交、删除版本库中信息的权限。
因此,我们需要加入认证信息以做权限的管理。HTTP协议版本就提供了简单的客户端认证方式,这可通过Apache配置完成。Apache提供了一个htpasswd工具来管理,使用该工具可以创建一个文件,其中存放着用户名和加密后的密码信息。而这些就是Subversion可以引用的用户了,根据这些用户信息,配合mod_authz_svn模块即可进行目录的访问控制。
a、创建存放用户名信息的文件
用htpasswd命令创建文件:
引用
#mkdir/etc/svn
#htpasswd-c/etc/svn/svnusers.conflinuxing
Newpassword:
Re-typenewpassword:
Addingpasswordforuserlinuxing
还可以利用htpasswd添加用户,或修改密码,删除用户名等:
#htpasswd-m/etc/svn/svnusers.confNewUserName
#htpasswd-m/etc/svn/svnusers.confOldUserName
#htpasswd-D/etc/svn/svnusers.confOldUserName
-m是可选的参数,当用-c创建用户名信息文件后,即可修改或添加用户信息。
b、修改/etc/httpd/conf.d/subversion.conf配置文件
在配置文件的Location标签部分,加入:
引用
#除了下面的动作需要认证外,其他动作不需验证
AuthTypeBasic#使用基本认证方式,即用户名、密码认证
AuthName"AuthorizationRealm"#在认证对话框中出现的提示信息
AuthUserFile/etc/svn/svnusers.conf#指定上面创建好的存放用户名信息的文件路径
Requirevalid-user#限定只有用户输入正确的用户名和密码后才能访问该标签所指向的路径
该标签定义了,当进行除了指定的若干动作需要进行用户名和密码的认证后才能进行外,其他的动作是不做限制的。例如:只有认证用户可以写操作,同时也允许匿名的读取操作。
也可以使用
重启httpd服务后,可使用浏览器或svn客户端对该认证工作进行验证。请期待下节有关使用mod_dav_svn访问SVN仓库内容介绍。
【编辑推荐】
网站标题:使用mod_dav_svn模块访问SVN仓库方法揭秘
本文网址:http://www.shufengxianlan.com/qtweb/news20/372120.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联