安装部署手册
1. 下载SVN镜像
- 打开终端,执行以下命令:
docker search svn
docker pull garethflowers/svn-server
2. 创建映射目录
- 打开终端,执行以下命令:
mkdir /data/docker/datas/svn
3. 创建YAML启动文件
- 打开终端,执行以下命令:
vim svn.yml
- 在编辑器中输入以下内容,并保存退出:
version: '3'
services:
redis-master:
container_name: svn
image: garethflowers/svn-server:latest
ports:
- '3690:3690'
volumes:
- '/data/docker/datas/svn:/var/opt/svn'
restart: always
4. 配置快捷路径
- 编辑/etc/profile文件,添加以下内容:
vim /etc/profile
export SVN_HOME=/data/docker/datas/svn
- 然后保存并执行以下命令使配置生效:
source /etc/profile
5. 启动SVN
- 打开终端,执行以下命令:
docker-compose -f $SVN_HOME/svn.yml up -d
6. 创建SVN存储目录与权限
- 打开终端,执行以下命令进入SVN镜像容器:
docker exec -it svn /bin/sh
- 在容器中执行以下命令创建仓储目录:
svnadmin create 仓储目录
- 修改配置文件,执行以下命令:
cd 仓储目录
vi conf/svnserve.conf
- 在编辑器中修改以下五个配置的地方:
anon-access = none # 匿名用户不可读写,也可设置为只读 read
auth-access = write # 授权用户可写
password-db = passwd # 密码文件路径,相对于当前目录
authz-db = authz # 访问控制文件,相对于当前目录
realm = /var/opt/svn/仓储目录 # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如svn
- 继续修改用户名密码的配置文件,执行以下命令:
vi passwd
- 在编辑器中,在[users]下面通过"用户名 = 密码"的方式配置用户信息,比如:
zhangsan = zhangsan
- 接着,修改权限文件,执行以下命令:
vi authz
- 在编辑器中,在[groups]下面添加组和配置权限,比如:
leader_group = zhangsan,lisi
user_group = lisi
[/]
@leader_group = rw
@user_group = r
其中,[/]代表拥有所有仓库的权限,如果要只拥有svn仓库的权限,可以使用[svn:/];@leader_group = rw代表leader_group组下所有用户拥有读和写的权限,@user_group = r代表user_group组下所有用户只有读的权限;如果要配置单个用户的权限,可以使用用户名 = 权限的格式。
- 保存文件并退出编辑器。
然后退出容器,执行以下命令:
exit;
- 最后,重启容器,执行以下命令:
docker restart svn
7. SVN客户端链接
- 打开SVN客户端工具,在URL处输入以下地址进行链接:
svn://服务器ip:3690/仓储目录
注意将"服务器ip"替换为实际的服务器IP地址,将"仓储目录"替换为实际的仓储目录名称。