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)
    右键文件夹 → TortoiseSVN → Show 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
相关推荐
怎么没有名字注册了啊14 小时前
Qt开发:MessageBox怎么调出标题栏那个问号按钮?
windows
李子红了时15 小时前
EncFS MP中文版汉化下载(免费文件加密工具)
windows·安全
辻弋20115 小时前
五年前的旅行视频糊成马赛克?Video2X用Real-ESRGAN逐帧重建细节,但只支持Windows、集显用户建议直接放弃
服务器·数据库·windows·游戏引擎·电脑
会飞的土拨鼠呀16 小时前
Windows 系统关闭虚拟内存文件pagefile.sys
windows
传奇开心果编程18 小时前
【Compose Multiplatform 跨端开发学与练】第7课 平台适配与互操作
android·windows·学习·ui·ios·kotlin·composer
工作10年+,存储芯片行业18 小时前
Linux NVMe 中断排查与性能优化:CPU 亲和性
linux·运维·服务器·windows·性能优化·ssd·pcie
lpfasd12319 小时前
WinSW在Win7上失败真相-实测与修复
windows·nginx
万山寒20 小时前
windows使用WinSW注册服务
windows
白搞电子1 天前
ESP32-S31 项目如何制作 Windows 一键烧录包:完整镜像、esptool 与数据边界
windows·stm32·单片机
apple_692658851 天前
Github开源免费 红果短剧 Windows 电脑桌面版:民间开发者做的第三方播放器,不用装模拟器了
windows