🗣 Wd提问: linux 搭建svn服务器
🤖 Ai回答: 在 Linux 系统上搭建 SVN(Subversion)服务器,通常有几种方式:
独立服务模式(svnserve):轻量级、适合内网或简单部署。
Apache + mod_dav_svn:功能强大,支持 HTTP/HTTPS 访问,适合公网或复杂权限控制。
通过 SSH 访问:安全性高,但配置较复杂。
本文将介绍最常用、最简单的 svnserve 模式,适合初学者和小型团队。
✅ 一、安装 Subversion
Ubuntu / Debian
bash
sudo apt update
sudo apt install subversion
CentOS / RHEL / Rocky / AlmaLinux
bash
sudo yum install subversion CentOS 7 及以下
或
sudo dnf install subversion CentOS 8+ / Rocky / AlmaLinux
✅ 二、创建 SVN 仓库目录
选择一个目录存放所有仓库,例如 `/opt/svn`:
bash
sudo mkdir -p /opt/svn
创建一个示例仓库(比如叫 `myproject`):
bash
sudo svnadmin create /opt/svn/myproject
✅ 三、配置仓库访问权限
进入仓库的 `conf` 目录:
bash
cd /opt/svn/myproject/conf
1、配置用户密码(`passwd` 文件)
编辑 `passwd` 文件:
bash
sudo vim passwd
添加用户(格式:用户名 = 密码):
ini
[users]
alice = password123
bob = secret456
⚠️ 注意:密码明文存储,生产环境建议配合 HTTPS 或 SSH 使用。
2、配置权限(`authz` 文件)
编辑 `authz` 文件:
bash
sudo vim authz
设置用户组和目录权限:
ini
[groups]
admins = alice
developers = bob
[/] 根目录权限
* = r 所有人只读
@admins = rw 管理员可读写
@developers = rw 开发者可读写
📌 权限说明:
`r`:只读
`rw`:读写
`*`:所有用户
`@组名`:指定组
3、配置服务端口与访问方式(`svnserve.conf`)
编辑 `svnserve.conf`:
bash
sudo vim svnserve.conf
取消注释并修改以下内容(注意:必须顶格写,不能有空格):
ini
[general]
anon-access = none 匿名不可访问
auth-access = write 认证用户可写
password-db = passwd 密码文件路径
authz-db = authz 权限文件路径
realm = MyProject 仓库域名称(提示用)
⚠️ 重要:配置文件中每一行都不能有前导空格!
✅ 四、启动 SVN 服务
启动 svnserve(默认监听 3690 端口)
bash
sudo svnserve -d -r /opt/svn
`-d`:后台运行
`-r`:根目录(所有仓库的父目录)
📌 如果你只想启动单个仓库,可以用 `-r /opt/svn/myproject`
✅ 五、开放防火墙端口(如使用防火墙)
Ubuntu (ufw)
bash
sudo ufw allow 3690
CentOS/RHEL (firewalld)
bash
sudo firewall-cmd add-port=3690/tcp permanent
sudo firewall-cmd reload
✅ 六、客户端测试连接
在另一台机器或本机测试:
bash
svn co svn://你的服务器IP/myproject
会提示输入用户名和密码,输入后即可检出。
✅ 七、开机自启(可选)
创建 systemd 服务文件:
bash
sudo vim /etc/systemd/system/svnserve.service
内容如下:
ini
[Unit]
Description=Subversion server
After=network.target
[Service]
Type=forking
ExecStart=/usr/bin/svnserve -d -r /opt/svn
KillMode=process
[Install]
WantedBy=multi-user.target
启用并启动服务:
bash
sudo systemctl daemon-reload
sudo systemctl enable svnserve
sudo systemctl start svnserve
✅ 八、常见命令速查
| 功能 | 命令 |
| 创建新仓库 | `svnadmin create /opt/svn/仓库名` |
| 启动服务 | `svnserve -d -r /opt/svn` |
| 停止服务 | `killall svnserve` 或 `pkill svnserve` |
| 查看状态 | `ps aux | grep svnserve` |
✅ 九、进阶建议
生产环境建议搭配 SSH 或 Apache + HTTPS 提升安全性。
可以使用脚本批量管理多个仓库。
定期备份仓库目录(`/opt/svn/仓库名`)。
✅ 十、卸载 SVN(如需)
bash
sudo apt remove subversion Ubuntu/Debian
sudo yum remove subversion CentOS 7
sudo dnf remove subversion CentOS 8+
✅ 至此,你的 Linux SVN 服务器已成功搭建!可以开始团队协作开发了。
如有需要配置 Apache 或 HTTPS,请告诉我,我可以为你补充详细步骤。
📣 商家广告:





0
IP地址: 147.133.229.234
搜索次数: 0
提问时间: 2025-11-11 15:53:24
🛒 域名购买:
cwks.cn
93.gold
xuanhuo.com.cn
jqr.sale
94.gold
51.biz
pai.kim
app.jl.cn
zr.gs
souzhan.com.cn
❓️ 热门提问:
mil.kr域名
深圳货物到香港一日游
电商仓储托管公司
php开发的网站有哪些
1000元最强主机
macmini主机
免费工具WHOIS
机位和机柜
做外贸服务器
asp网页空间
豌豆Ai站群搜索引擎系统
🌐 域名评估:
deepseek.rent
tongyi.com
catl.love
byd.jx.cn
47.plus
si.ha.cn
wddd.com.cn
jook.cn
xphone.rent
t.js.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
常用软件
搜尋引擎優化
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。