【NAS系统】DSM7.2部署SVN服务

早期的群晖版本可以在套件中心找到SVN Server直接安装,然后配置仓库和用户。但‌DSM7.0之后套件中心没有SVN了,得用Docker。

安装Docker(Container Manager)

套件中心搜索并安装Container Manager

在这里插入图片描述

安装文本编辑器(部署完成需要修改权限配置使用)

在这里插入图片描述

File Station创建存放目的文件夹

在这里插入图片描述

部署SVN服务

网络限制

因为网络限制,注册表无法正常访问
我们采用手动导入SVN镜像
在这里插入图片描述

在这里插入图片描述

准备SVN镜像

提前装备好SVN镜像

  • windows安装docker desktop 安装教程
    在这里插入图片描述
  • Docker save -o 镜像

docker save -o svnserver.tar garethflowers/svn-server:latest
|
将garethflowers/svn-server:latest镜像保存到svnserver.tar文件中

1.打开Container Manager 映像Tab栏
2.点击操作

  • 导入
  • 从文件添加
  • 从本地设备
    在这里插入图片描述

运行SVN镜像

在这里插入图片描述

常规配置:自定义容器名称

在这里插入图片描述

高级配置

- 端口设置:默认端口**3690**
- 存储空间设置 :提前创建的文件夹
- 设置容器装载路径:/var/opt/svn

在这里插入图片描述

完成配置

在这里插入图片描述
容器正常运行
在这里插入图片描述

新建SVN库

  • 打开终端
    在这里插入图片描述
  • 新建命令:svnadmin create /var/opt/svn/ {svn库名}
    在这里插入图片描述
  • 创建完成
    在这里插入图片描述

SVN权限配置

在这里插入图片描述
在这里插入图片描述

svnserve.conf 服务配置文件

  • svn配置
    • anon-access = none(禁用匿名访问权限)
    • auth-access = write
    • password-db = passwd
    • authz-db = authz
      在这里插入图片描述

passwd 用户密码文件

  • 添加用户及密码‌
  • 格式:xxxxxx = *******
    在这里插入图片描述

authz 权限文件

负责账号权限的管理,控制账号是否读写权限

[groups]
#按用户组分权限
admin = admin,admin1 # admin为用户组,等号之后的为用户
test = test1, test2 # test为用户组,等号之后的为用户

[/] # 表示svn仓库目录(/var/svn/test)
@admin = rw # 表示admin组对仓库(/var/svn/test)目录有读写权限,r为读,w为写
@test = r # 表示test组的用户对对仓库(/var/svn/test)目录只有读的权限

[/test1] # 表示test1目录(/var/svn/test/test1)
@test = rw # 表示test组对test1目录有读写权限

在这里插入图片描述

客户端连接配置

  • SVN客户端地址‌:使用svn://[群晖IP]:3690/仓库名(Docker部署需确认端口是否开放)‌
  • 首次连接‌:输入步骤中设置的用户名和密码,建议勾选“保存认证”‌