安装部署手册

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地址,将"仓储目录"替换为实际的仓储目录名称。