码迷,mamicode.com
首页 > 系统相关 > 详细

Linux搭建SVN服务器

时间:2016-05-12 19:51:05      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

安装subversion

在CentOS平台下,输入

yum install -y subversion

安装完成后,可以用下面的命令查看是否安装成功

svnserve --version

创建SVN版本库

首先创建一个文件夹,用以存放多个项目的版本库。

mkdir /work/svn

然后在这里边创建我们的第一个svn版本库

cd /work/svn
svnadmin create hello

这时,我们会在/work/svn目录下发现一个hello文件夹,hello项目的所有数据和配置文件就放在这里。

配置

hello/conf/文件夹下有三个配置文件,分别是authz、passwd和svnserve.conf。

其中,

  • authz用以配置权限,例如svn的各个用户对于hello这项目分别拥有什么权限(只读、读写等)。
  • passwd存放了svn用户的用户名和密码。
  • svnserve.conf是svn服务的配置文件。

svnserve.conf文件中有5个配置项需要配置,

  • anon-access: 控制非鉴权用户访问版本库的权限。
  • auth-access: 控制鉴权用户访问版本库的权限。
  • password-db: 指定用户名口令文件名。
  • authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。
  • realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

配置示例

step1. 在passwd配置文件中添加一个用户,也就是在文件的末尾添加

user = password123456

这样我们就给项目hello添加了一个用户名为user的用户,密码是password123456

step2. 在authz配置文件中给user用户添加权限,也就是在文件的末尾添加

[groups]    #这一行不用写,文件末尾有,并且没被注释掉
admin=user

[hello:/]
@admin=rw

其中hello是项目的名称,/表示可以操作的文件路径(可以指定为某个文件夹,例如/doc,就表示紧接着的用户只能对doc文件夹做操作)。

@admin表示admin用户组,admin用户组的成员是user,rw表示admin用户组的成员对当前文件夹可读可写。

step3. 修改svnserve.conf配置文件

将如下5行前面的注释符号去掉。

# 匿名登录的用户没有任何权限
anon-access=none

# 登录用户最高有写权限
auth-access-write

# 密码配置文件,一般不需要修改
passwrd-db=passwd

# 权限配置文件,一般不需要修改
authz-db=authz

# 设置为svn版本库的名称
realm=hello

启动和停止svn服务

  • 启动svn服务
svnserve -d -r /work/svn

可以svn服务设置为开机自动启,在/etc/rc.local文件的末尾添加上述命令。

  • 停止svn服务

一般通过kill杀掉停止

ps -ef | grep svn
kill -9 进程编号

在windows上通过TortoiseSVN访问svn服务器

下载并安装TortoiseSVN

在一个空文件中右键,SVN Checkout...

在URL of repository中填写svn://SVN服务器IP地址/hello,点击确定并输入账号密码。

参考

Linux搭建SVN服务器

标签:

原文地址:http://blog.csdn.net/zhyoulun/article/details/51352919

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!