Linux搭建配置svn服务器

参考了多个博客得来的

原文链接:

http://blog.csdn.net/tianlesoftware/article/details/6119231

http://www.jsjtt.com/bianchengyuyan/Java/12.html

http://bbs.csdn.net/topics/310115750

总结:

使用yum 安装SVN

yum install -y subversion

安装完成后会出现类似的提示:

Installed:

  subversion.i386 0:1.4.2-4.el5_3.1                                                                

 

Complete!

 

验证安装版本:

 

[root@singledb ~]# svnserve --version

 

2.2 创建SVN 版本库

[root@singledb ~]# mkdir /root/svn

 

[root@singledb ~]# svnadmin create /root/svn/mycode  --mycode为版本库名称

 

2.3  SVN 配置

 

创建版本库后,在这个目录下会生成3个配置文件:

[root@singledb conf]# pwd

/u02/svn/davesvn/conf

[root@singledb conf]# ls

authz  passwd  svnserve.conf

 

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

2passwd 用户名口令文件。

 

3authz 权限配置文件。 

 

svnserve.conf 文件, 该文件配置项分为以下5项:

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

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

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

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

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

 

Passwd 文件 

       我们在svnserve.conf文件里启用这个文件。然后配置如下:

[root@singledb 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

#username = password

tianys = tianys

 

 

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 = tianys

 

[mycode:/]

@admin = rw

 

 

2.4 启动和停止SVN服务

1)启动SVN服务:

[root@singledb conf]# svnserve -d -r /u02/svn

       -d表示后台运行

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

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

root      4592     1  0 18:04 ?        00:00:00 svnserve -d -r /u02/svn

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

2)停止SVN服务:

ps -aux |grep svn

 

kill -9 进程杀掉

 

 

客户端连接SVN服务器

svn://115.28.174.135/yhcrm

输入用户名密码即可

 

注意1:svnserve.conf 前一定不要有空格

注意2:authz配置权限的时候一要记得加权限目录如[/]为根目录

 

猜你喜欢

转载自iteyeabc123.iteye.com/blog/1970615
今日推荐