服务器装SVN的核心答案是:选对系统、装服务端、建仓库、配权限、放行3690端口,最后用svn://地址检出验证;新手按Linux或Windows路线走,半小时左右能跑通。
SVN是集中式版本控制工具,适合文档、设计稿、二进制文件和小团队协作,下面按实际落地顺序拆解,命令和路径都能直接对照操作。
Linux服务器安装SVN教程:从零到可用的完整路径
Linux是服务器装SVN最常用的路线,Ubuntu/Debian和CentOS/Rocky的包管理命令不同,先确认系统版本再动手。
准备环境与安装服务端
先更新软件源,再安装Subversion,以Ubuntu为例:
apt update apt install -y subversion
CentOS 7用yum install -y subversion,CentOS 8/9或Rocky用dnf install -y subversion,装完执行svnserve --version,能看到版本号就说明服务端已就位。
据Apache Subversion项目文档,svnserve默认监听3690端口,后续防火墙和安全组都围绕这个端口处理。
创建仓库与配置权限
创建仓库目录并初始化:
mkdir -p /var/svn svnadmin create /var/svn/project
进入/var/svn/project/conf,重点改三个文件:
svnserve.conf:取消注释并设置为anon-access = none、auth-access = write、password-db = passwd、authz-db = authz、realm = /var/svn/projectpasswd:在[users]下添加账号,例如zhangsan = 密码authz:在[/]下写zhangsan = rw,需要分组时用[groups]
这里有个新手常踩的坑:svnserve.conf配置项前面不能留空格,否则启动后认证会异常。
启动服务与验证检出
前台启动用svnserve -d -r /var/svn,-d表示后台运行,-r指定仓库根目录,检查进程和端口:
ps aux | grep svnserve ss -lntp | grep 3690
放行防火墙,firewalld系统执行:
firewall-cmd --permanent --add-port=3690/tcp firewall-cmd --reload
Ubuntu的ufw执行ufw allow 3690/tcp,客户端检出测试:
svn co svn://服务器IP/project
能弹出账号密码并拉下空仓库,就说明服务端配置成功。
开机自启与目录规划
svnserve没有自带systemd服务,可以新建/etc/systemd/system/svnserve.service,关键行写ExecStart=/usr/bin/svnserve -d -r /var/svn,然后执行systemctl daemon-reload和systemctl enable --now svnserve。
仓库目录建议单独挂载数据盘,别和系统盘混放,后期仓库变大,迁移和备份都省事。
Windows服务器搭建SVN服务哪个好?两种常见方案对比
Windows服务器装SVN,新手最容易在“图形化还是命令行”之间犹豫,两种方案都能用,差别在维护成本和团队习惯。
VisualSVN Server图形化方案
VisualSVN Server提供免费Standard Edition,安装包一路下一步,设置仓库根目录、端口和认证方式即可,默认走HTTPS,客户端地址形如https://服务器IP/svn/project。
它的优势是用户、组、仓库权限都在图形界面点选,适合行政、设计、文档类团队,缺点是Windows授权和服务器资源成本要单独算。
原生Subversion命令行方案
用SlikSVN或Apache Subversion二进制包也能在Windows跑svnserve,配置逻辑和Linux一致:svnadmin create建仓库,改conf文件,启动svnserve -d -r,适合已经熟悉Linux命令、想保持跨平台一致性的团队。
| 对比项 | VisualSVN Server | 原生Subversion |
|---|---|---|
| 安装方式 | 图形化安装包 | 命令行或压缩包 |
| 权限管理 | 界面点选 | 编辑authz/passwd |
| 客户端访问 | HTTPS为主 | svn://或svn+ssh |
| 适合团队 | 新手、文档设计团队 | 有Linux运维经验团队 |
| 学习成本 | 较低 | 中等 |
行业共识认为,SVN的权限模型比Git更简单,适合行政、设计、文档类团队,如果团队没有专职运维,Windows路线优先选VisualSVN Server,少折腾配置文件。
云服务器安装SVN步骤详解:安全组、权限与备份
云服务器装SVN和物理机最大的区别是安全组,很多人本机svn co超时,不是服务没起,而是3690端口没放行。
安全组放行与访问来源限制
登录云厂商控制台,找到实例绑定的安全组,入方向添加规则:协议TCP,端口3690,来源填公司出口IP或固定办公网段,不要图省事写0.0.0/0,SVN账号一旦弱口令,仓库等于对外开放。
如果你在华东地域购买云服务器,优先选离团队近的地域,检出大文件时延迟更低,据主流云厂商公开文档,安全组规则修改后通常即时生效,但已有连接需要重连。
数据备份与迁移路径
SVN仓库不是普通文件夹,直接复制可能拿到不一致状态,标准做法是用svnadmin dump:
svnadmin dump /var/svn/project > /backup/project-$(date +%F).dump
恢复时先建空仓库,再svnadmin load /var/svn/project < project.dump,较大仓库可以加--deltas减少体积,备份文件建议放对象存储或另一台机器,别和源仓库同盘。
权限最小化与仓库拆分
不要所有项目共用一个仓库,按部门或项目拆成/var/svn/docs、/var/svn/design,每个仓库独立authz,离职人员账号及时在passwd删除,历史提交记录仍保留。
仓库根目录权限设为svn:svn,运行svnserve的用户只给读写仓库目录的权限,不要用root直接跑服务。
公司内部服务器装SVN需要多少钱?成本与选型参考
公司内部服务器装SVN需要多少钱,答案分三块:软件、硬件或云资源、人力维护,软件本身通常不花钱。
软件成本
Subversion是开源软件,VisualSVN Server Standard Edition免费,商业版提供更多管理功能,但小团队用免费版足够,这里不要被“企业级”三个字吓住,先跑通再评估。
硬件与云资源成本
自建物理服务器要算硬盘、电费、机房或机柜成本,云服务器按配置计费,轻量应用服务器每月几十元到上百元不等,具体看厂商活动和带宽,仓库以文档和小文件为主时,普通2核4G配置就能撑住;如果频繁提交大设计稿,磁盘IO和带宽要留余量。
人力维护成本
SVN维护不复杂,但备份、磁盘监控、账号增减要有人管,多数情况下,每周检查一次备份任务、每月清理一次无用账号即可,较大比例的小团队由开发兼管,不需要专职运维。
业内专家指出,集中式版本控制在小团队和二进制文件管理场景仍有稳定需求,选型时别只看软件价格,把备份和权限管理算进去更实际。
服务器装SVN常见故障排查与日常维护
svnserve启动失败
先看端口占用:ss -lntp | grep 3690,如果被其他进程占用,换端口或停掉冲突服务,再看仓库路径权限,svnserve运行用户必须能读conf目录、能写db目录。
客户端认证失败
检查svnserve.conf配置项是否顶格写、passwd是否在[users]段下、authz是否给了对应用户rw权限,改完配置要重启svnserve,否则不生效。
日常维护清单
- 每日或每周执行
svnadmin dump备份,备份文件异地存放 - 监控仓库所在磁盘使用率,接近阈值时扩容或归档旧项目
- 每季度核对账号清单,删除离职和长期不用的账号
- 大文件提交前提醒团队,避免仓库体积失控
- 保留一份仓库创建和恢复命令文档,换人也能接手
服务器装SVN常见问答:新手最容易卡在哪
服务器装SVN用Linux还是Windows更省心?
看团队习惯,没有专职运维、以文档和设计稿为主,Windows加VisualSVN Server图形化更省心;已有Linux服务器、需要脚本化和跨平台一致,选Linux命令行路线,两者都能满足小团队日常协作。
服务器装SVN后客户端连不上3690端口怎么办?
按顺序查三层:服务端ps aux | grep svnserve确认进程在;本机ss -lntp | grep 3690确认监听;云服务器安全组和系统防火墙确认放行,三层都通再测telnet 服务器IP 3690,能通就是客户端地址或认证问题。
公司内部服务器装SVN需要多少钱,能免费用吗?
软件层面可以免费用,Subversion和VisualSVN Server标准版都不收授权费,实际支出主要在服务器资源、备份存储和人力维护,仓库规模不大时,一台普通云服务器加定期备份就能覆盖,成本按所选配置和厂商报价结算。