SVN配置简单记录

使用yum安装svn

[root@mail ~]# yum install subversion

验证svn版本

[root@mail ~]# svnserve --version
svnserve, version 1.6.11 (r934486)
   compiled Mar  5 2014, 14:32:27
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 back-end (FS) modules are available:
* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.

创建svn存放路径

[root@mail ~]# mkdir /data/wuxia_svn/

创建版本库

[root@mail ~]# svnadmin create /data/wuxia_svn/davsvn --davesvn为版本库名称

在版本库创建完后会在该目录下的conf目录下产生3个文件

authz  passwd  svnserve.conf

(1)svnserve.conf:  svn服务配置文件下。

(2)passwd: 用户名口令文件。

(3)authz: 权限配置文件。


开始修改配置文件

svnserve.conf 文件, 该文件配置项分为以下5项:(把下面这5项的注释去掉即可启用)

anon-access: 控制非鉴权用户访问版本库的权限。

auth-access:  控制鉴权用户访问版本库的权限。

password-db: 指定用户名口令文件名。

authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件


Passwd 文件 :这个配置文件就是配置svn用户跟密码

格式:  用户名=密码

[root@mail conf]# cat passwd

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.


[users]

# harry = harryssecret

# sally = sallyssecret

svnadmin=svnadmin213

ceshi=ceshi654

cehua=cehua125

client=client874

server=server987

meisu=meisu076


authz  文件 :

在网上找到一个很好的配置例子:

[groups]

admin = john, kate

devteam1 = john, rachel, sally

devteam2 = kate, peter, mark

docs = bob, jane, mike

training = zak

--这里把不同用户放到不同的组里面,下面在设置目录访问权限的时候,用目录来操作就可以了。


# 为所有库指定默认访问规则

# 所有人可以读,管理员可以写,危险分子没有任何权限

[/]  --对应我测试里的:/u02/svn 目录

* = r

@admin = rw

dangerman =


# 允许开发人员可以完全访问他们的项目版本库

[proj1:/]

@devteam1 = rw

[proj2:/]

@devteam2 = rw

[bigproj:/]

@devteam1 = rw

@devteam2 = rw

trevor = rw


# 文档编写人员对所有的docs目录有写权限

[/trunk/doc]

@docs = rw


# 培训人员可以完全访问培训版本库

[TrainingRepos:/]

@training = rw


下面我们来配置我们的authz文件:

[root@singledb conf]# cat authz

[groups]

admin = svnadmin

cehua = cehua01,cehua02,cehua03

ceshi = ceshi01,ceshi02

server = server01,server02,server03

client = client01,client02,client03

meisu = meisu01,meisu02,meisu03


[davsvn:/]

@admin = rw

dangerman =


[davsvn:/cehua]

@cehua = rw

[davsvn:/ceshi]

@ceshi = rw

[davsvn:/server]

@server = rw

[davsvn:/client]

@client = rw

[davsvn:/meisu]

@meisu = rw


各个权限访问路径说明

admin用户直接访问版本库

wKiom1Mejy-w9WkXAABl5h8KxfQ496.jpg

而其余的ceshi,cehua,meisu,client等等目录需要用admin用户建立后才能访问

wKioL1Mej0KTqL4nAAA7kvRGM_I806.jpg

这样建立对应的目录后,ceshi,cehua,client等等账号才能访问对应的目录

wKiom1Mej6-DsoigAABEGJdMJjo554.jpg


启动和停止SVN服务

(1)启动SVN服务:

[root@mail ~]# svnserve -d -r /data/wuxia_svn/

      -d表示后台运行

      -r 指定根目录是 /u02/svn

[root@singledb conf]# ps -ef | grep svn

root      4592     1  0 18:04 ?        00:00:00 svnserve -d -r /data/wuxia_svn/

root      4594  3709  0 18:04 pts/1    00:00:00 grep svn

(2)停止SVN服务:

ps -aux |grep svn

kill -9 进程杀掉


你可能感兴趣的:(SVN)