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
相关推荐
yangshun_cug17 小时前
Windows 11 的 WSL2 Ubuntu 22.04 安装 Seismic Unix 44R28 完整教程
windows·ubuntu·seismic unix
ManageEngine卓豪18 小时前
Windows服务账户安全治理:特权访问自动化落地指南与工具选型
windows·pam·特权访问管理·特权账号
AxureMost18 小时前
Xrecode 音频格式转换利器
windows·电脑
西西学代码21 小时前
Flutter---StreamBuilder案例
javascript·windows·flutter
jiang_changsheng1 天前
Conda 的默认环境创建优先级。
linux·windows·python
黄一一9112431 天前
硬盘健康监测软件!绿色便携版!电脑硬盘还能用几年?CrystalDiskInfo工具帮你提前避开数据丢失
windows·电脑·硬件工程·开源软件
奇牙coding1 天前
gpt-5.6-luna 调用报 400 bad_request 怎么办?同样的 messages 在 gpt-5.5 没问题——两处校验差异和修复写法
java·windows·gpt·ai
樂禮1 天前
Windows-Arch Linux 键鼠共享 & 剪贴板同步配置
linux·运维·windows
未来可期丶1 天前
【开发环境】Windows+Docker Desktop+WSL2最佳实践
windows·docker·docker desktop·wsl2
2501_941982051 天前
企业微信二次开发:私域数据基石——三大核心基础能力接口实战
windows·架构·bootstrap·企业微信