Linux搭建SVN服务端

团队新成立,代码是老的,迭代了很多版本(几百个G),老的svn服务器废了,准备重新搭建代码管理服务,先用的gitlab(没有自己搭建过),发现子项目需要先建立再引用到主项目中,这么老的代码谁知道哪个目录是子项目,就想着先把代码上传,再一点点的根据目录区分权限,果断放弃gitlab。

gitlab相较于svn,优势明显,svn还存在的意义可能就是老项目,目录结构非常复杂,又需要精细化的权限控制。

####################安装####################
安装svn(如果系统自带,也建议重新安装,否则可能没有svnserve.service服务)
yum install subversion -y

查看svn安装位置
rpm -ql subversion

查看svn版本号
svnserve --version

建立svn根文件夹
mkdir -p /home/svn/

启动svn服务指定服务的SVN根文件夹
svnserve -d -r /home/svn/

建立版本号库(abc项目,也可以是def项目等)
svnadmin create /home/svn/abc

查看 SVN 进程:
ps -ef | grep svn | grep -v grep
检測 svn port:  
netstat -ln | grep 3690   


####################svn基础配置####################
vim /home/svn/abc/conf/svnserve.conf 将下面内容前的‘#’和空格 所有去掉。并改动内容
=================================================
anon-access = none  # 禁止匿名用户访问
auth-access = write # 授权用户拥有读写权限
password-db = passwd # 指定用户密码的文件(可以写绝对路径)
authz-db = authz # 指定权限配置的文件(可以写绝对路径)
realm = /home/svn # 指定认证域(项目所在地)
=================================================
注: svnserve.conf 中每一个參数都要顶格写,开头不能有空格。

####################用户权限配置####################
用户权限配置,默认使用/home/svn/abc/conf/authz文件

测试环境目录结构
abc
    trunk
        Client    (user1有权限)
        SDK       (user1,user2有权限)
        Service    (user3有权限)
    branch
    
建议使用群组
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
group_admin = admin
group_client = user1
group_sdk = user2,user1
group_service = user3

根据目录划分权限
[/]
@group_admin = rw    #读写权限
#下面如果不将所有群组都写上只读权限,下载文件完成后会有报错(Not authorized to open root of edit operation,不影响使用),但是比较麻烦的是,根目录所有群组都有只读权限后,子目录需要把没有权限的群组设置成"无权限",否则用户能看到全部文件。大家自己权衡利弊吧。
@group_client = r    #只读权限
@group_service = r    
@group_sdk = r

[pvg:/trunk/Client]
@group_client = rw
@group_service =    #无权限
@group_sdk =

[pvg:/trunk/Service]
@group_service = rw
@group_client =
@group_sdk =

[pvg:/trunk/SDK]
@group_sdk = rw
@group_service =
@group_client =


####################用户密码####################
用户密码设置,默认使用/home/svn/abc/conf/passwd文件
[users]
# harry = harryssecret
# sally = sallyssecret
admin = 123456
user1 = 123456
user2 = 123456
user3 = 123456


####################SVN配置开启自启动服务####################

配置开启自启动
#vi /etc/sysconfig/svnserve
将 OPTIONS="-r /home/svn" 改为 svn 版本库存放的目录

设置svn服务为自启动服务
systemctl enable svnserve.service

手动启动、关闭服务
systemctl start svnserve.service
systemctl stop svnserve.service

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值