绿联云NAS部署SVN与使用
一、整体部署流程概览
- 绿联云 NAS 安装 Docker → 拉取
garethflowers/svn-server镜像
- 绿联云 NAS 安装 Docker → 拉取
- 启动容器并挂载数据目录 → 在容器内创建 SVN 仓库(通过终端进行创建)
- 配置
svnserve.conf/passwd/authz权限文件
- 配置
- Windows 安装 TortoiseSVN → 连接 NAS SVN 仓库并使用
二、详细部署步骤(服务端:绿联云 NAS DXP4800)
1.下载镜像
在docker - 镜像 - 镜像仓库 中搜索: garethflowers/svn-server 进行下载

ps:我这是下载好了 直接创建容器就行
2.创建容器
NAS 本地目录-我这里就是放在 /volume1/docker/svn ,随后直接确定部署就行。

ps:值得注意的是端口号最好保持一致这样后续登陆地址会方便点,可以少填写一个端口号。
3. 创建 SVN 仓库
在Docker - 容器 - 部署的svn sever 容器 - 找到终端 新增连接 进入容器的终端环境

在终端内执行命令,创建名为 testDepot 的仓库(仓库路径:/var/lib/svn/testDepot)
svnadmin create testDepot
仓库会同步到 NAS 本地目录:
/volume1/docker/svn/data/testDepot
(因容器数据卷挂载,容器内 /var/lib/svn 目录与 NAS 本地目录同步)仓库配置文件路径:
/volume1/docker/svn/data/testDepot/conf/
(含svnserve.conf/passwd/authz)
4. 核心配置文件修改(权限控制关键)
找到本地nas目录直接编辑这个核心配置文件
主要是这几个 svnserve.conf/passwd/authz

(1)svnserve.conf(仓库根目录权限开关)
通过记事本打开我们只需要对文件内下方的几个配置进行 取消注释 即可 ,也就是删除前方的 # 。
[general]
anon-access = none # 禁止匿名访问,强制认证
auth-access = write # 认证用户默认可读写
password-db = passwd # 启用账号密码文件
authz-db = authz # 启用目录级权限文件
# 注意:配置行左边不能留空格,否则不生效
# [general] 段场景选择补充说明
# 1. 个人/小团队私仓(推荐,本次部署场景)
# anon-access = none # 禁止匿名访问,仅认证用户可访问
# auth-access = write # 认证用户拥有读写权限
# 2. 公开仓库(如开源项目、对外文档)
# anon-access = read # 匿名用户可只读访问,无需账号
# auth-access = write # 认证用户可读写
# 3. 只读仓库(如仅展示文档,不允许修改)
# anon-access = read # 匿名用户只读
# auth-access = read # 认证用户也仅只读
# 4. 纯本地测试仓库(无需认证)
# anon-access = write # 匿名用户可读写(不推荐公网/内网使用)
# auth-access = write
# password-db = # 注释掉,关闭账号密码验证(2)passwd(账号密码清单)
可以直接添加用户名和密码
[users]
# 格式:用户名 = 密码
admin = 你的密码 # 实际使用时替换为自己的密码- 该文件仅存储账号密码,无权限控制功能
- 支持明文密码(小团队/内网)
(3)authz(目录级权限配置)
# 针对 testDepot 仓库的根目录配置
[testDepot:/]
admin = rw # Megestus 用户拥有全目录读写权限(管理员)
* = # 除上述用户外,其他所有用户无权限- 权限规则:
rw=读写 /r=只读 / 空=无权限 - 路径优先级:子目录规则 > 根目录规则(例:
[testDepot:/src]规则会覆盖根目录) * =是兜底规则,管控所有未单独配置的用户
三、Windows 客户端连接与使用(TortoiseSVN)
1. 客户端安装
下载地址:TortoiseSVN 官网,选择对应 Windows 版本(x64)
安装时勾选 Command Line Tools(可选,便于排查问题)
安装后重启电脑,右键菜单会出现 TortoiseSVN 选项
另外我们还可以在页面下方,
语言包的位置下载 Chinese, simplified 的语言包进行安装,后再右键svn菜单设置里可以切换语言
2. 仓库检出(核心步骤)
Windows 新建空文件夹(例:
D:\SVN_Projects\testDepot)右键文件夹 → 选择 SVN Checkout...

- 填写仓库地址:
svn://你的NAS局域网IP/testDepot(例:svn://192.168.31.76/testDepot)

- 点击
OK,弹出认证窗口,输入passwd里配置的用户名和密码

- 勾选 Save authentication 保存密码,完成检出
- 检出成功后,文件夹内会出现隐藏的
.svn文件夹

3. 日常高频操作
| 操作需求 | 操作步骤 |
|---|---|
| 拉取服务端最新代码 | 右键工作副本 → SVN Update |
| 提交本地修改到服务端 | 右键工作副本 → SVN Commit... → 填写备注 → 勾选文件 → OK |
| 新增文件到版本控制 | 右键新文件 → TortoiseSVN → Add → 再执行 SVN Commit |
| 查看文件修改历史 | 右键文件 → TortoiseSVN → Show log |
详细的功能说明教程 可以查看菜鸟教程中的 SVN 教程
四、核心知识点总结
- 配置文件独立性:默认每个仓库有独立的
svnserve.conf/passwd/authz,仓库间用户不通用;
可通过配置文件绝对路径实现多仓库共用配置 - 管理员本质:SVN 无内置管理员账户,
authz中配置[/] 用户名 = rw
即拥文件夹路径访问的最高权限 - 协议区别:
svn://对应 svnserve 协议(本次部署使用),http://需额外配置 Apache/Nginx,无需混淆
更新日志
1963c-于