CentOS SVN安装与配置 -自己做的笔记

CentOS SVN安装与配置 -自己做的笔记

CentOS SVN安装与配置 -自己做的笔记

添加于:2012-10-19 11:07:47      修改于:2012-10-19 11:07:47

返回目录     |    返回上一页     |    编辑

SVN 安装

第一步:安装apache subversion

yum install httpd

yum install httpd-devel

//用于开发Apache模块

yum install subversion

yum install mod_dav_svn

//Subversion与Apache之间的接口(通过它,Apache就可以访问版本库,可以让客户端也使用HTTP的扩展协议 WebDAV/DeltaV进行访问)

验证svn模块(mod_dav_svn)是否正确安装

ls /etc/httpd/modules | grep svn

系统提示:
mod_authz_svn.so
mod_dav_svn.so

验证安装:

svn –version

显示如下表明正确安装
===========================================

svn, version 1.6.11 (r934486)
compiled Sep 27 2011, 14:59:40

Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository access (RA) modules are available:

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
– handles ‘http’ scheme
– handles ‘https’ scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
– with Cyrus SASL authentication
– handles ‘svn’ scheme
* ra_local : Module for accessing a repository on local disk.
– handles ‘file’ scheme

*******************************************************************************
svn,版本 1.4.2 (r22196)
编译于 Aug 10 2009,18:00:04
Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
可使用以下的档案库存取 (RA) 模块:
* ra_dav : 通过WebDAV (DeltaV) 协议访问档案库的模块.
– handles ‘http’ scheme
– handles ‘https’ scheme
* ra_svn : 使用svn网络协议访问档案库的模块.
– handles ‘svn’ scheme
* ra_local : 访问本地磁盘的档案库模块.
– handles ‘file’ scheme
*********************************************************************************

第二步:创建SVN库和项目
创建SVN库

mkdir /home/svn

创建项目

svnadmin create /home/svn/project

修改svn版本库配置文件版本库:

vi /opt/svndata/repos/conf/svnserve.conf

内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /home/svn/passwd
authz-db = /home/svn/authz
realm = /home/svn/

password-db 用户名及密码的路径
authz-db 权限的路径
realm 版本库名

第三步:配置httpd
编辑httpd.conf

vim /etc/httpd/conf/httpd.conf

查看有没有LoadModule dav_svn_module modules/mod_dav_svn.so这一行,如果没有就添加上为了使客户端能够通过Apache来访问SVN档案库,Apache需要加载mod_dav_svn模块.如果Apache是按照与预设目 录安装的,mod_dav_svn 模块应该会安装在 Apache 安装位置 (默认路径是 /etc/httpd/) 的 modules 子目录内.同时在Apache的配置文件httpd.conf(默认路径为etc/httpd/conf/)中已经使用 LoadModule指令加载了该模块(如果没有,手动添加)注意这个指令必须出现在其它的 Subversion 相关指令之前.还要加载mod_authz_svn.so模块
先检查 httpd.conf 中有加载这两模块没 然后在看 /etc/httpd/conf.d/subversion.conf 中有没 有一个有加载就行了 至于放哪由个人喜好

例如:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

启动httpd

/etc/init.d/httpd start

如果出现 :

[warn] module dav_svn_module is already loaded, skipping

等字样表示已加载该模块 删掉刚添加的梁模块

第四步:配置SVN
编辑subversion.conf

vim /etc/httpd/conf.d/subversion.conf


DAV svn
SVNParentPath /home/svn
AuthType Basic
AuthName “Welcome to SVN”
AuthUserFile /home/svn/passwd
Require valid-user

SVNParentPath 库路径
AuthUserFile 存放用户名及密码的路径

第五步: 权限设置

vim /home/svn/authz

[groups]
Admin=admin,administrator
Sa=test,testsvn

[project:/]
@Admin=rw
@Sa=rw

[admin.opococ:/]
@Admin=rw
@Sa=rw

[edm:/]
@Admin=rw
@Edm=rw

[cola:/]
@Admin=rw
@Sa=rw

[ownbrand:/]
@Admin=rw
@ownbrand=rw

[template:/]
@Admin=rw
@Ui=rw

[版本库名:/]
@组别 = rw (rw 读写权限)

单库
**********************两种写法 均可*******************

[/]
@Admin=rw
@Sa=rw

[project:/]
@Admin=rw
@Sa=rw

******************************************************
注重:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义.
* 对权限配置文件的修改立即生效,不必重启svn.
用户组格式:
[groups]
= ,
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔.
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svndata,[/]就是表示对全部版本库设置权限.
[repos:/] 表示对版本库repos设置权限
[repos2:/abc] 表示对版本库repos2中的abc项目设置权限
[repos2:/abc/aaa] 表示对版本库repos2中的abc项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户.
权限可以是w、r、wr和空,空表示没有任何权限.
示例:
[groups]
admin = alan
[/]
@admin = rw
[repos1:/abc/aaa]
king = rw
[repos2:/pass]
king = rw
svn配置完毕.
*********************************************************************************

第六步:建立用户
第一次添加用户使用参数”-c”以后再添加就不用了

htpasswd -c /home/svn/passwd test

htpasswd /home/svn/passwd admin

系统提示:
New password: //输入新密码
Re-type new password: //确认密码
Adding password for user test

发表回复

*您的电子邮件地址不会被公开。必填项已标记为 。

*
*