当前位置:首页>Linux>Linux运维实战:从零搭建SVN版本控制服务器(避坑完整版)

Linux运维实战:从零搭建SVN版本控制服务器(避坑完整版)

  • 2026-10-11 07:30:58
Linux运维实战:从零搭建SVN版本控制服务器(避坑完整版)

技术弄巷

读完仅需

5
分钟

记得星标公众号

前言

在企业开发与运维工作中,版本控制是保障项目文件、代码安全迭代的核心手段。SVN(Subversion)作为经典的集中式版本控制工具,部署简单、操作便捷、权限管控直观,至今仍广泛应用于中小型企业、内部办公文件、项目代码管理场景。

很多运维新手搭建SVN时,常会遇到认证失败、权限报错、端口不通等问题。本文基于实操经验,整理纯手把手搭建流程,保留实战踩坑总结,完整覆盖安装、配置、启停、客户端连接、Linux常用操作命令,无多余冗余内容,运维人员可直接复刻部署。

一、SVN服务搭建详细流程

第一步:Yum安装SVN服务

  1. 执行安装命令
yum -y install subversion
  1. 查看SVN安装路径
rpm -ql subversion
  1. 安装验证 进入模块目录,检查SVN依赖模块,出现以下两个文件即为安装成功:
cd /etc/httpd/modules
ls | grep svn
# 输出内容
mod_authz_svn.so
mod_dav_svn.so

第二步:创建版本库总目录

统一规划存储路径,集中管理所有版本仓库:

mkdir -p /var/svn/svnrepos

第三步:创建自定义SVN版本库

自定义仓库名称,语法格式:svnadmin create 仓库路径

svnadmin create /var/svn/svnrepos/test

进入仓库目录,系统会自动生成SVN内置配置及运行文件:

cd /var/svn/svnrepos/test

第四步:修改核心配置文件(重点)

进入conf配置目录,目录内包含三份核心配置文件,分工明确:

配置文件
作用说明
authz
账号权限文件,管控读写权限
passwd
账号密码文件,管理用户信息
svnserve.conf
SVN服务主配置文件

进入配置目录:

cd /var/svn/svnrepos/test/conf

1、修改authz权限文件

仅在文件末尾追加内容,禁止改动原有配置;斜杠必须为反斜杠,该写法权限范围更广,规避报错。

[\]
robin = rw
zorro = rw

参数说明:rw代表账号拥有读写权限。

2、修改passwd账号密码文件

文件末尾追加账号密码,严格遵循账号 = 密码格式:

admin = 123456

3、修改svnserve.conf主配置文件

取消4行配置注释,重要避坑:切勿开启authz-db = authz,多次实测开启后会持续提示认证失败。

[general]
anon-access = read
auth-access = write
password-db = passwd
realm = My First Repository

补充说明:realm无需填写服务器IP,默认配置即可,修改无实际作用。

第五步:防火墙端口放行

SVN默认通信端口为3690,放行端口保证内外网正常连接:

iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

也可直接关闭防火墙,适配测试环境使用。

第六步:启动SVN服务

以守护进程模式启动服务,指定仓库总目录:

svnserve -d -r /var/svn/svnrepos

查看进程,验证服务是否启动成功:

ps -aux

第七步:检测监听端口

查看3690端口监听状态,确认服务正常监听:

netstat -ln |grep 3690

正常输出:tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

第八步:SVN服务启停命令

# 停止SVN服务
killall svnserve
# 重启SVN服务
svnserve -d -r /opt/svn/repositories

第九步:客户端连接访问

1、Windows客户端

连接格式:svn://LinuxIP:3690/仓库名示例:svn://192.168.122.201:3690/test输入配置的账号密码,即可完成连接访问。

2、Linux客户端测试命令

(1)检出仓库文件
svn checkout svn://192.168.122.201/test
(2)添加并提交文件
cd /root/test/
svn add test.txt
svn commit -m "文件描述" test.txt
# 简写提交命令
svn ci
(3)查询仓库文件列表
svn list
(4)版本更新与回滚
# 更新至指定版本
svn update -r 1
# 简写更新命令
svn up
(5)文件修改提交
svn ci -m "修改备注" robin.txt
# 查看文件内容
svn cat robin.txt
(6)查看文件状态
svn status -v test/
# 简写命令
svn st
(7)删除仓库文件
svn delete zorro.txt
svn ci -m "删除zorro文件"
(8)查看操作日志
svn logtest/
(9)查看仓库详细信息
svn info test/
(10)文件版本差异对比
# 对比本地修改差异
svn diff robin.txt
# 对比指定两个版本差异
svn diff -r 3:4
(11)创建版本控制目录
svn mkdir hello

二、核心要点总结

  1. 目录规范
    :统一将仓库存放于/var/svn/svnrepos,规整目录结构,方便运维管理;
  2. 配置避坑
    :主配置文件中禁止开启authz-db = authz,杜绝认证失败问题;
  3. 权限写法
    :authz权限配置使用[\],权限范围最大,适配绝大多数访问场景;
  4. 端口须知
    :SVN固定端口3690,服务器必须放行端口,否则外部无法连接;
  5. 命令简写
    :熟记ci/up/st简写命令,简化日常运维操作,提升工作效率。

写在最后

本篇教程完全基于真实实操编写,无虚假配置、无无效步骤,同时总结了运维人员高频踩坑问题,适合新手部署、生产环境快速搭建SVN服务。SVN作为轻量化版本控制工具,上手简单、维护成本低,是中小企业运维必备技能。

后续我会持续更新SVN定时备份、仓库迁移、精细化权限管控、故障排查等运维干货。如果本文对你有帮助,麻烦点赞+收藏+关注,转发给同行运维伙伴!持续分享Linux运维实战教程,带你轻松搞定各类服务部署!

枕边人,究竟是爱人还是负心人?《吹散枕边云照见负心人》把婚姻里的背叛与清醒拍得淋漓尽致,女主从心碎到反击的过程,又虐又爽,越看越上头!关注我,下次给你们整理更多情感向宝藏短剧,快点击下方追更👇

#吹散枕边云照见负心人 #婚姻现实剧 #情感短剧 #清醒女主 #都市家庭剧 #追更日常

请在微信客户端打开

最新文章

随机文章