服务篇三---svn服务

来源:互联网 发布:武汉茶港大院 知乎 编辑:程序博客网 时间:2024/06/01 23:14

svn(subversion)是近年来崛起的版本管理工具。目前,绝大多数开源软件都使用svn作为代码版本管理软件。svn服务器有2种运行方式:独立服务器和借助apache等web服务器。两种方式各有利弊。svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

PS:若借助于apache访问,则/svndata目录及以下目录均需要变更属主为apache,即需要有chown -R  apache:apache  /svndata

本文主要介绍SVN独立服务器的的安装和简单配置:

安装(centos下yum即可方便的完成安装)
# yum install subversion
测试安装是否成功:
# svnserve --version      回车显示版本说明安装成功

建立版本库
# mkdir /svndata                首先创建svn数据目录(目录可自行指定)
# svnadmin create /svndata/kuming                  这就是建立版本库的命令了,kuming就是版本库的名字,每个版本库创建之后都会生成svnserve.conf主配文件!

配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件。)

#下面是配置kuming版本库的配置文件
# vim /svndata/kuming/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = /svndata/kuming/conf/passwd
authz-db = /svndata/kuming/conf/authz
realm =kuming    #这一行可以不写   

# vim /svndata/kuming/conf/passwd      //svn用户配置文件

[users]
user1 = password1
user2 = password2
user3 = password3
user4 = password4

# vim /svndata/kuming/conf/authz      //svn权限控制配置文件

[groups] #设置组
group1 = user1,user2    #多用户用逗号隔开

[/]                                      #根目录权限设置(就是“kuming”这个文件夹)
user3 = rw    #用户1权限是:可读写
user4 = r     #用户2权限是:可读,不可写
*=                #剩余用户的权限,都没写代表没有任何权限
@group1 = rw     #设置组权限

[kuming:/123]     #设置根目录下“123”文件夹的权限
#说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN,然后创建一个文件夹“123”。

启动服务器
# svnserve   -d   -r    /svndata       -d表示以daemon方式(后台运行)运行      -r  /svndata指定根目录是/svndata
关闭SVN 服务器
# kill all svnserve

# ps aux | grep svnserve    查看服务,端口:3690

客户端使用的软件是TortoiseSVN
浏览方法:打开版本库浏览器输入:svn://ip-addr/kuming/文件夹名

===============================================================================

补充:在svn的数据目录下面创建多个reporty库,并且使用相同的配置文件进行管理,实施步骤如下:

1、在根目录下面创建数据目录

mkdir  /svndata

2、进入/svndata/,在创建的目录下面创建多个代码仓库分别保存多个项目

#  保存bbs项目的仓库

svnadmin create bbs

#  保存blog项目的仓库

svnadmin create blog

#  保存home项目的仓库

svnadmin create home

3、创建配置文件保存目录

mkdir /svndata/conf

在conf文件中放置配置文件,可以把任何一个仓库下面的conf目录下面的配置文件拷贝到这里来,一共有三个主要文件:

passwd

authz

svnserve.conf

(1)在svnserve.conf配置文件中做好配置,指定好里面的一下几项:

[general]
anon-access = none
auth-access = write
password-db = /svndata/conf/passwd    指定公共用户文件的位置
authz-db = /svndata/conf/authz                 指定公共权限配置文件的位置

(2)然后在passwd写公共用户配置信息

[users]
user1 = password1
user2 = password2
user3 = password3
user4 = password4

(3)然后在authz配置文件中写组权限

[groups]          设置组
group1 = user1,user2       多用户用逗号隔开

[bbs:/]       bbs版本库的根目录权限设置

@group1=rw                                                              
user3 = rw         #用户1权限是:可读写

[bbs:/data]       bbs版本库的“data”子目录的权限设置,“data”这个文件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN创建的。

@group1=rw                                                              
user1 = rw          #用户1权限是:可读写
user2= rw            #用户2权限是:可读,不可写
* =                      #其余的用户,什么都没写,代表没有任何权限

[blog:/]         再设置blog目录的权限

****************

PS:权限具备继承性 任何子目录,均可继承其父目录的所有权限,除非它自己被明确设置了其他的权限。也就是说,在 bbs的根目录设置权限后, bbs/data 目录如果没有进行设置,就意味着它的权限与 arm 目录一样.

4、启动subversion,并指定公共配置文件

svnserve -d  -r  /svndata    --config-file=/svndata/conf/svnserve.conf

#说明:-r 将/svndata 作为reporty的根目录启动,--config-file指定配置文件位置启动。

原创粉丝点击