早期的群晖版本可以在套件中心找到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部署需确认端口是否开放)
- 首次连接:输入步骤中设置的用户名和密码,建议勾选“保存认证”