Linux下搭建SVN服务器

1、什么是SVN?

Subversion(SVN)是一个开源的版本控制系统。

2、SVN服务器搭建

2.1、使用yum安装SVN包

yum install -y subversion
svnserve --version  //验证安装版本
2.2、创建SVN版本库

mkdir  svn根目录路径
svnadmin  create  svn根目录路径/版本库名称
2.3、SVN配置
创建版本库后,在版本库的conf目录下会生成3个配置文件

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

该文件配置项分为以下5类:

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

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

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

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

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

将其内容修改为:

[general]
anon-access = none
auth-access = write
password-db = svn根目录/etc/passwd  //passwd和authz的名字是由那两个文件决定的,可以修改。
authz-db = svn根目录/etc/authz
realm = 版本库名
2) passwd:用户名口令文件,用于配置允许访问的用户

注意:对用户配置文件的修改立即生效,不必重启svn

[users]
<用户1> = <密码1>
<用户2> = <密码2>
其中,[users]是必须的。
3) authz:权限配置文件,用于配置用户访问权限

注意:权限配置文件中出现的用户名必须已在用户配置文件中定义;

对权限配置文件的修改立即生效,不必重启svn。

用户组格式:

[groups]
<用户组名> = <用户1>,<用户2>
其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:

[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
[/]:表示根目录及以下。

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

示例:

[groups]
admin = sgj

[/]
@admin = rw

[testsvn1:/]  版本库testsvn1根目录
@admin = rw
zs = r

[testsvn2:/aaa]  版本库testsvn2中aaa项目
@admin = rw
ls = r

[testsvn3:/aaa/bbb]  版本库testsvn3中aaa项目的bbb路径
@admin = rw
ww = r

3、启动和停止SVN

3.1、启动SVN服务:

svnserve -d --listen-port 3690 -r svn根目录
//-d表示以daemon方式(后台)运行
//-r svn根目录  指定根目录
说明:启动时必须是3690端口,这是客户端默认的连接端口。如果不使用3690端口的话,会出现套接字无法连接的错误。
3.2、停止SVN服务:

ps -aux | grep svn
kill -9 进程号

4、SVN服务器转移

4.1、将准备要迁移的仓库导出

svnadmin  dump  仓库名  >  svn_dump
4.2、在新的服务器上创建新的仓库

svnadmin create SVNROOT
4.3、导入刚导出的文件

svnadmin  load  SVNROOT  <  svn_dump








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值