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

2016年5月13日

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

没有评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注