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
相关推荐
qq_3692243310 天前
Windows全系通用!ntdll.dll文件丢失、报错、闪退问题的完整排查与修复教程
windows·dll·dll修复·dll丢失·dll错误
阿米亚波10 天前
【Windows】QEMU 启动 openEuler aarch64/arm64 架构系统 + 离线软件源
linux·windows·经验分享·笔记·架构·arm
caimouse10 天前
Reactos 第 10 章 网络操作 — 10.3.1 NIC驱动
网络·windows
初圣魔门首席弟子10 天前
Node.js 详细介绍(知识库版)
windows·qt·node.js·知识库
CHENG-JustDoIt10 天前
AI工具 | 爆火开源项目Odysseus AI 工作台:从项目介绍、部署情况及其使用等多方位分析指南(含详细步骤)
大数据·人工智能·windows·python·ai·开源·github
kingbal10 天前
Windows:flutter环境搭建
windows·flutter
未若君雅裁10 天前
Python 数据容器详解,list、tuple、str、set、dict 到底怎么选
windows·python·list
CodeKwang10 天前
Windows 环境 OCCT 8.0 编译构建及与 Qt6 项目集成
windows·qt·opencascade
我是伪码农10 天前
小兔鲜1-25
linux·服务器·windows
vx-Biye_Design10 天前
springboot安阳地区研学旅游服务小程序-计算机毕业设计源码12785
java·vue.js·windows·spring boot·tomcat·maven·mybatis