系统环境为 Debian 10 Buster,内核版本为 Linux xxx 4.19.0-17-amd64 #1 SMP Debian 4.19.194-3 (2021-07-18) x86_64 GNU/Linux,Docker 版本为 20.10.10, build b485636

背景

之前写过一篇文章:

Docker 安装支持 HTTP 和 SVN 双协议的 SVN server,之前那个镜像应该是有点问题,导致每次用户登录的时候会出现奇怪的 bug,手动更改了容器内 Apache 的配置重新打包才正常,现在想来,其实 HTTP 协议是次要的。

历史遗留原因,有个项目中有大量图片及文档,为了可以正常使用版本管理,舍弃 Git,搭建简易 SVN server 用来管理该项目。为了方便快速,直接使用 Docker 安装,无需 HTTP 协议访问,只支持 SVN 协议即可。本文记录 Docker 安装 SVN server 及简易操作的过程。

安装流程

拉取镜像

使用 https://hub.docker.com/r/garethflowers/svn-server 镜像,直接执行 https://hub.docker.com/r/garethflowers/svn-server 拉取;

启动

执行

$ docker run \
    --name svn-server \
    --detach \
    --volume /srv/svn:/var/opt/svn \
    --publish 13690:3690 \
    garethflowers/svn-server:1.6

创建仓库

执行 docker exec -it svn-server svnadmin create repo 创建 repo 仓库;

修改配置文件

进入容器,修改位于 /var/opt/svn/repo/conf 目录下的 svnserver.conf,只需修改 [general] 标签下配置:

anon-access = none      # 即匿名用户不能访问
auth-access = write     # 即授权用户可读写
password-db = passwd    # 即密码文件位置
authz-db = authz        # 即授权文件位置

创建用户并授权

编辑 passwd 文件,在 [users] 标签下创建用户:

[users]
harry = harryssecret
sally = sallyssecret

编辑授权文件 authz

[repo:/]
harry = rw
sally = rw

即授权 harry 和 sally 仓库 repo 根目录的读写权限。

Last modification:May 30, 2022
If you think my article is useful to you, please feel free to appreciate