linux下svn安装

 
本文描述的方法是利用操作系统的软件源的方式安装,不涉及源码编译安装及其他安装方式。
安装前准备:
1.   保证操作系统的原生软件源可以更新
2.   保证操作系统可以访问互联网
下载安装脚本:
   1)登录svn官方网站,网址:http://subversion.apache.org/packages.html
   2) 根据你所使用的操作系统找到安装脚本下载地址。如下图:
CollabNet只提供svn客户端,而且必须注册才能下载。
OpenSUSE project(SUSE官方提供的安装脚本)。
Wandisco必须注册才能下载 (本文所使用的就是该脚本)
单击【OpenSUSE project】,如下图:

单击【openSUSE】,如下图:
根据操作系统的版本选择适应的脚本执行,即开始安装svn。安装过程中如有错误提示,解决错误即可,在这里不做具体解释,因为错误原因不定,如错误无法解决多思考多百度。
 
3)apache服务器安装(略)。
4)创建测试版本库。脚本如下:
CODE
#mkdir /svn                                            # 创建 svn 根路劲
#cd /svn
#svnadmin create project1                # svn 根路劲下创建 project1 版本库
#chown –R wwwrun:www /svn        # svn 根路劲及其子路径的宿主变更为 apache 的用户
 
5) 使用mod_dav_svn访问Subversion仓库(svn绑定apache服务)。
关于mod_dav_svn模块
由于Subversion需要版本化的控制,因此标准的HTTP协议不能满足需求。要让Apache与Subversion协同工作,就要使用WebDAV(Web-based Distributed Authoring and Versiong)Web分布式创作和版本控制协议。WebDAV是HTTP 1.1的扩展,关于WebDAV的规范和工作原理,可以参考IETF RFC 2518。
mod_dav_san模块就是作为Subversion与Apache之间的接口,通过它,Apache就可以访问版本库,并且可以让客户端也使用HTTP的扩展协议WebDAV/DeltaV进行访问。
 
修改apache配置
需要激活Apache加载mod_dav_svn模块。
修改/etc/apache2/ httpd.conf配置文件的内容为:
(由于apache及svn的安装方式不同,可能LoadModule已经被载入或.so存放路劲不同)
CODE
LoadModule    dav_module                        /usr/lib/apache2/mod_dav.so
LoadModule    dav_svn_module               /usr/lib/apache2/mod_dav_svn.so
LoadModule    authz_svn_module           /usr/lib/apache2/mod_authz_svn.so
<Location /repos>
  DAV svn
  SVNParentPath /svn/                    #指定svn仓库的父路径,这样可以实现多版本库管理
  AuthType Basic
  AuthName "Subversion repository"
  AuthUserFile /svn/passwd                #访问版本库的用户名及密码
  Require valid-user                    #必须验证用户权限
  AuthzSVNAccessFile /svn/ authz        #版本库权限控制
</Location>
LoadModule的文件不知道路劲的话,可以使用【find / -name mod_dav_svn*】命令搜索。
passwd文件创建使用htpasswd2命令(apache版本不同,可能命令名称不一样)。例如:htpasswd2 -c ./passwd test,-c表示创建新文件、./passwd表示使用或创建当前路劲下的passwd文件、test表示添加test账号,接着会提示输入密码及验证输入的密码。如果文件已经存在不要加“-c”,否则会删除原文件,重新创建文件。
authz文件为一个utf8格式的文本文件,内容如下:
CODE
[groups]
admin=user1
dev=user2
[/]           #/ 下的权限配置对全部版本库有效
@admin=rw       #admin 组有读写权限
@doc=r          #doc 组有读权限
test=rw         #test 用户有读写权限
# 如果 apache 中配置的是 SVNParentPath ,则可以配置下面的多版本库,否则无效
[project1:/]  # 针对 project1 版本库单独配置权限
@admin=rw       #admin 组有读写权限
@doc=r          #doc 组有读权限
test=rw         #test 用户有读写权限
apache启动及自启动。apache启动与停止使用【service apache2 start/stop】,自启动使用【chkconfig apache2 on】。
 
总结:svn的安装过程中由于安装环境、安装方法及软件版本的不同,可能出现命令名称不同,以及出现的问题也不一样,需要在理解了整个安装过程后才能成功安装,否则会被各种问题阻碍,多分析、多思考、多百度、多问,问题总会被解决的。
 
参考网址:
http://www.uml.org.cn/pzgl/200908078.asp
http://java114.iteye.com/blog/702327
http://svnbook.red-bean.com/nightly/en/svn.serverconfig.httpd.html
http://wenku.baidu.com/view/cecbc72ce2bd960590c6772c.html
http://kongzimengsheng1.iteye.com/blog/537467
http://blog.sina.com.cn/s/blog_3eba8f1c0100dqk1.html
http://blog.csdn.net/lyd518/article/details/2797134

你可能感兴趣的:(apache,linux,SVN,Module,脚本,subversion)