1.Linux端SVN的搭建及多项目权限配置

  • Post author:
  • Post category:linux


以下记录结果均有作者本人亲自测试可用。操作系统为Linux-EulerOS

1.安装SVN服务

1.1首先确认当前服务器是否已有svn

svn --version

如未安装则会显示:

bash: svn: command not found

如已安装则显示:


1.2.安装svn

执行以下命令安装      yum install subversion

安装成功后切记再次调用 svn –version 命令,确认安装成功,如正确提示SVN版本号则安装陈宫

2.创建版本库

2.1创建版本库根文件夹

版本库位置可以自主确认,我这里安装在/home/payy/code下,请注意此处建立的是服务器普通文件夹,并非SVN项目库,可以理解为项目库的总文件夹或者项目库的根目录。

2.2创建svn项目库

作者这里已多个项目来演示,svn版本库必须使用svn自带的命令行创建。

创建项目版本库1:Microservice:svnadmin create /home/payy/code/Microservice

创建项目版本库2:TplUpFiles:svnadmin create /home/payy/code/TplUpFiles

创建完成后指定的 /home/payy/code/Microservice和/home/payy/code/TplUpFiles下会自动生成

conf,db,format,hooks,locks,Readme目录,其中重点关注conf目录及其下authz,hooks-env.tmpl,passwd,svnserve.conf四个文件,这是权限和授权的配置文件。

2.3配置/conf/svnserve.conf文件

svnserve.conf主要指定了版本库根目录位置,及授权和认证文件的配置文件地址

其中anon-access = none表示匿名用户无任何权限

auth-access = write表示认证用户有可写权限

realm = /home/payy/code  表示版本库根目录在  realm = /home/payy/code下

3.多版本项目下权限配置

3.1首先修改/home/payy/code/Microservice/conf下passwd

vi  /home/payy/code/Microservice/conf/passwd

如下图在【users】下添加可使用svn的用户账号格式为:

account1 = password1

account2 = password2

其含义为:账户account1密码为password1     账户account2密码为password2

3.2 配置auth文件【重点】

首先修改/home/payy/code/Microservice/conf下auth

vi  /home/payy/code/Microservice/conf/auth

3.1.1如下图:修改auth中【groups】下内容

其中admin=account1,account2 表示 账号account1,account2为管理员admin分组

其中dev=account3,account4 表示 账号account3,account4为开发人员dev分组

3.1.2如上图:修改auth中[/]下内容

[/]

@admin = rw

指的是   admin分组下所有人员对

版本库根目录有读写权限,一定注意这里/指的是版本库根目录而非创建版本库文件夹的根目录,及 admin分组下所有人可以访问

/home/payy/code/Microservice/**

3.1.3如上图:添加auth中[/]下内容

[/otherCodeRouter]

@dev = rw

* = r

指的是   dev 分组下所有人对

版本库根目录下

/otherCodeRouter/**有读写权限

* = r指定是 其他所有未指定人只有

版本库根目录下

/otherCodeRouter/**的只读权限

及 dev 分组下

所有人可以访问

/home/payy/code/Microservice/otherCodeRouter

如果 dev 分组下 人员访问/home/payy/code/Microservice/目录会提示 auth fail;

dev 分组下 人员访问/home/payy/code/Microservice/otherCodeRouter则正常

而admin 分组下 人员访问/home/payy/code/Microservice/下所有目录;

4.启动svn服务端

svnserve -d -r /home/payy/code

默认端口3690,启动成功后即可在客户端输入svn://ip;3690/Microservice/进行连接;如下图:

PS:在多项目下我们可以单独制定一个auth文件,然后其他版本库service.conf中的auth指向该文件地址即可实现多项目共用一个auth文件;同理passwd文件也可以这样。

后期将会逐步记录idea,ecplise下的初始项目版本管控以及如何将项目从git版本管控转到svn下



版权声明:本文为gaoduicai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。