CentOS7中使用Docker安装SVN以及配置账号权限

场景

CentOS7中Docker的安装与配置:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119028701

首先按照上面在CentOS7中安装Docker

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

1、使用Docker搜索svn

docker search svn

2、下载第一个STARS最多的

docker pull docker.io/garethflowers/svn-server

3、运行容器前,先新建宿主机映射的目录

mkdir -p /usr/local/dev/svn/repo

4、映射数据卷并启动容器

docker run --restart always --name svn -d -v /usr/local/dev/svn/repo:/var/opt/svn -p 3690:3690 garethflowers/svn-server

注意:

--name svn  代表指定一个别名,就不用根据容器ID来进行操作了

--restart always 代表容器在宿主机开机时自启动

-v /usr/local/dev/svn/repo:/var/opt/svn  代表将容器内的/var/opt/svn映射到宿主机/usr/local/dev/svn/repo

-p 3690:3690  代表左边宿主机端口映射到容器端口,svn默认3690端口

启动成功后

docker ps

5、进入容器内,创建名称为svn的资源仓库

docker exec -it svn /bin/sh

然后

svnadmin create svn

会新建一个svn仓库目录,进入仓库会有几个文件如下

6、修改conf的配置文件

vi svnserve.conf

修改以下五个配置的地方

anon-access = none             # 匿名用户不可读写,也可设置为只读 read
auth-access = write            # 授权用户可写
password-db = passwd           # 密码文件路径,相对于当前目录
authz-db = authz               # 访问控制文件,相对于当前目录
realm = /var/opt/svn/svn       # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn

7、修改用户名密码的配置文件

vi passwd

在[users]下面通过"用户名 = 密码"的方式配置。比如这里配置了badao、zhangsan、lisi这三个用户,用户名和密码相同。

8、配置权限文件

vi authz

在[groups]下面添加两个组,把badao和zhangsan放在leader_group组中,把lisi放在user_group组中

leader_group = badao,zhangsan,wangwu
user_group = lisi

然后配置组的权限

[/]
@leader_group = rw
@user_group = r

这里的[/]代表拥有所有仓库的权限

如果要只拥有svn仓库的权限,可以这样写[svn:/] 

@leader_group = rw  这个代表leader_group组下所有用户都拥有读和写的权限

@user_group = r 这个代表user_group组下所有用户只有读的权限

如果要配置单个用户的权限,可以

zhangsan = rw

这种写法。

保存,然后退出容器

exit

9、重启容器

docker restart svn

这里因为上面对容器指定了名字所以不用再使用容器id,当然也可以使用容器id

如果后面需要再修改用户以及组和权限等,需要再次执行进入容器-修改配置文件-重启容器的操作。

10、下载SVN客户端

https://tortoisesvn.net/downloads.html

下载TortoiseSVN对应的版本,这里是Windows64位

下载之后直接双击安装

安装成功后,就可以在某个文件夹下右击显示svn的相关操作了

11、检出代码

检出代码前记得将服务器上对应3690端口开放。

在某目录下右击SVN Checkout

这里的地址就是

svn://服务器ip:3690/svn

点击OK,会提示你输入用户名密码,输入上面配置的用户名密码,左下角默认是记住密码的。

检出代码成功,修改文件,右击提交

提交之后,可以右键找到TortoiseSVM-Settings-Saved Data-Authentication-Clear All,将用户名密码清除掉,切换其他账户测试权限分配的效果

和提交拉取的效果。

猜你喜欢

转载自blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119800799