SVN 独立服务端部署与客户端使用指南(CentOS/Rocky 9.5 + Windows)

本文详细介绍在 Rocky Linux 9.5 上独立部署 SVN 服务端,并在 Windows 上使用 TortoiseSVN 客户端进行版本控制的完整流程,包括 仓库创建、权限管理、文件同步、账号密码管理


一、服务端安装与仓库初始化

1. 安装 SVN

复制代码
sudo dnf install subversion -y

验证安装:

复制代码
svn --version

2. 创建仓库目录

复制代码
sudo mkdir -p /var/svn
sudo chown -R svnuser:svnuser /var/svn
sudo chmod -R 770 /var/svn

svnuser 是你用来运行 SVN 服务的系统用户,可以用 adduser svnuser 创建。


3. 初始化仓库

复制代码
svnadmin create /var/svn/project1

目录结构:

复制代码
/var/svn/project1
├── conf
│   ├── authz
│   ├── passwd
│   └── svnserve.conf
├── db
├── hooks
├── locks
├── format
└── README.txt

配置文件均在 conf 目录下。


4. 配置 svnserve

编辑 /var/svn/project1/conf/svnserve.conf

复制代码
[general]
anon-access = none        # 禁止匿名访问
auth-access = write       # 允许授权用户写操作
password-db = passwd      # 指定密码文件
authz-db = authz          # 指定权限文件
realm = Project1 SVN

取消注释相关行即可。


5. 配置账号与权限

创建账号

编辑 /var/svn/project1/conf/passwd

复制代码
[users]
admin = 123456
dev1 = 123456
dev2 = 123456
配置权限

编辑 /var/svn/project1/conf/authz

复制代码
[groups]
admins = admin
devs = dev1,dev2

[/]
@admins = rw
@devs = r
  • rw:读写权限
  • r:只读权限
  • 空白表示禁止访问

6. 启动 SVN 服务

后台运行并指定仓库根目录:

复制代码
svnserve -d -r /var/svn

验证服务是否启动:

复制代码
ss -lntp | grep 3690

默认监听端口 3690


7. systemd 管理方式(推荐)

创建 /etc/systemd/system/svnserve.service

复制代码
[Unit]
Description=Subversion Server
After=network.target

[Service]
Type=forking
ExecStart=/usr/bin/svnserve -d -r /var/svn
ExecStop=/usr/bin/pkill svnserve
Restart=always

[Install]
WantedBy=multi-user.target

加载并启动服务:

复制代码
systemctl daemon-reload
systemctl enable svnserve
systemctl start svnserve
systemctl status svnserve

开放防火墙端口:

复制代码
firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload

8. 密码重置

直接编辑 /var/svn/project1/conf/passwd

复制代码
admin = NewPassword2026

无需重启服务,下一次客户端连接即可生效。


二、Windows 客户端 TortoiseSVN 配置与使用

1. 下载与安装

访问 TortoiseSVN 官网,下载并安装 Windows 客户端。


2. 检出(Checkout)仓库

  1. 在 Windows 上新建文件夹(如 D:\Projects\project1)。

  2. 右键文件夹 → SVN Checkout

  3. 填写仓库 URL:

    svn://服务器IP/project1

  4. 输入用户名和密码,点击 OK。


3. 文件同步操作

  • 提交文件(Commit)
    右键文件 → SVN Commit → 输入提交说明 → 提交。
  • 更新文件(Update)
    右键文件夹 → SVN Update → 获取最新版本。
  • 查看历史日志(Show Log)
    右键文件夹 → TortoiseSVNShow log

4. 文件夹共享管理

可以在服务器 /var/svn 下创建共享目录:

复制代码
mkdir /var/svn/shared
svn import /var/svn/shared svn://服务器IP/project1/shared -m "导入共享目录"

客户端即可访问共享资源。


三、服务端常用命令总结

操作 命令
启动服务 systemctl start svnserve
停止服务 systemctl stop svnserve
重启服务 systemctl restart svnserve
查看状态 systemctl status svnserve
设置开机自启 systemctl enable svnserve
关闭开机自启 systemctl disable svnserve
相关推荐
牢姐与蒯7 小时前
安全模式下删除流氓文件
windows
qq762118227 小时前
windows Qt mingw 编译libzip
开发语言·windows·qt
曹牧7 小时前
Java:Java 数组转 List
java·开发语言·windows
Ai老司机8 小时前
Windows 本地文件搜索为什么快?本地索引加速定位的原理
windows
小江的记录本8 小时前
【ORM 框架】MyBatis-Plus 核心特性、条件构造器、分页插件、乐观锁插件(附《思维导图》、《问题排查与实践清单》和《面试高频考点汇总》)
java·windows·spring boot·python·spring·面试·mybatis
水饺编程9 小时前
第5章,[Win32 章节] :绘制填充区域
c语言·c++·windows·visual studio
雾沉川1 天前
WinRAR 压缩解压软件 功能介绍、硬件适配、横向对比及安装使用教程
windows·winrar·压缩软件
sukalot1 天前
windows 驱动实例分析系列: wireguard-nt驱动分析-driver篇(一)
windows·驱动开发
百事牛科技1 天前
Excel部分单元格禁止修改:锁住该锁的,放开该放的
windows·excel
水饺编程1 天前
第5章,[Win32 章节] :创建、选择和删除画笔
c语言·c++·windows·visual studio