SVN 独立服务端部署与客户端使用指南(CentOS/Rocky 9.5 + Windows)
本文详细介绍在Rocky Linux 9.5上独立部署 SVN 服务端,并在 Windows 上使用 TortoiseSVN 客户端进行版本控制的完整流程,包括仓库创建、权限管理、文件同步、账号密码管理。
一、服务端安装与仓库初始化
1. 安装 SVN
sudo dnf install subversion -y验证安装:
svn --version2. 创建仓库目录
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 = rrw:读写权限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 --reload8. 密码重置
直接编辑/var/svn/project1/conf/passwd:
admin = NewPassword2026无需重启服务,下一次客户端连接即可生效。
二、Windows 客户端 TortoiseSVN 配置与使用
1. 下载与安装
访问 TortoiseSVN 官网,下载并安装 Windows 客户端。
2. 检出(Checkout)仓库
- 在 Windows 上新建文件夹(如
D:\Projects\project1)。 - 右键文件夹 →
SVN Checkout。 - 填写仓库 URL:
svn://服务器IP/project1- 输入用户名和密码,点击 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 |