🗣 Wd提问: linux下svn服务器搭建和使用
🤖 Ai回答: 在 Linux 下搭建和使用 SVN(Subversion)服务器,通常有以下几种方式。本文以最常用的 svnserve 方式为例,介绍如何搭建一个基于 svn:// 协议的 SVN 服务器,并进行基本使用。
一、安装 SVN
Ubuntu/Debian:
bash
sudo apt update
sudo apt install subversion
CentOS/RHEL(需启用 EPEL):
bash
sudo yum install epel-release
sudo yum install subversion
或使用 dnf(CentOS 8+ / RHEL 8+):
bash
sudo dnf install subversion
验证安装:
bash
svn version
二、创建 SVN 仓库
1、创建仓库目录(例如 `/var/svn/repos`):
bash
sudo mkdir -p /var/svn/repos
2、创建一个名为 `myproject` 的仓库:
bash
sudo svnadmin create /var/svn/repos/myproject
此时会生成以下结构:
myproject/
├── conf/
├── db/
├── hooks/
├── locks/
└── format
三、配置访问权限
进入仓库的 `conf` 目录:
bash
cd /var/svn/repos/myproject/conf
1、配置用户账号(passwd 文件)
编辑 `passwd` 文件:
ini
[users]
格式:用户名 = 密码
alice = 123456
bob = abcdef
2、配置权限(authz 文件)
编辑 `authz` 文件,设置目录访问权限:
ini
[groups]
developers = alice, bob
[/]
@developers = rw
* = r
说明:
`[groups]` 定义用户组。
`[/]` 表示仓库根目录。
`@developers = rw` 表示 developers 组有读写权限。
`* = r` 表示其他用户只读(可选,若希望完全私有,可删除此行)。
3、启用认证(svnserve.conf)
编辑 `svnserve.conf`,取消注释并修改如下几行:
ini
[general]
anon-access = none 匿名用户无访问权限
auth-access = write 认证用户可写
password-db = passwd 用户密码文件
authz-db = authz 权限控制文件
realm = MyProject Repository
注意:等号前后不能有空格,且配置项前不能有空格(除非是注释)。
四、启动 SVN 服务
手动启动(前台):
bash
svnserve -d -r /var/svn/repos
`-d`:后台守护进程模式
`-r`:指定仓库根目录(这样客户端访问时只需写 `svn://ip/myproject`)
设置开机自启(可选)
方法1:使用 systemd(推荐)
创建服务文件:
bash
sudo vim /etc/systemd/system/svnserve.service
内容如下:
ini
[Unit]
Description=Subversion protocol daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/bin/svnserve -d -r /var/svn/repos
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
启用并启动服务:
bash
sudo systemctl daemon-reload
sudo systemctl enable svnserve
sudo systemctl start svnserve
检查状态:
bash
sudo systemctl status svnserve
五、客户端使用 SVN
1、检出(checkout)
bash
svn checkout svn://your_server_ip/myproject username=alice
首次使用会提示输入密码。
2、添加文件并提交
bash
cd myproject
echo Hello SVN test.txt
svn add test.txt
svn commit -m Add test file
3、更新代码
bash
svn update
六、防火墙设置(如启用)
若服务器启用了防火墙,需开放 SVN 默认端口 3690:
Ubuntu(ufw):
bash
sudo ufw allow 3690/tcp
CentOS(firewalld):
bash
sudo firewall-cmd permanent add-port=3690/tcp
sudo firewall-cmd reload
七、其他说明
若需通过 HTTP/HTTPS 访问(如 `http://...`),需配合 Apache + mod_dav_svn,配置更复杂,适合与 Web 集成。
`svnserve` 方式轻量、简单,适合内部团队使用。
✅ 至此,你已成功在 Linux 上搭建并使用 SVN 服务器。
如需多项目管理,可在 `/var/svn/repos/` 下创建多个仓库(如 `project1`, `project2`),每个仓库独立配置权限。
📣 商家广告:





0
IP地址: 201.66.239.232
搜索次数: 0
提问时间: 2025-11-13 01:08:54
🛒 域名购买:
757.net.cn
26.gold
wenchangji.cn
84.gold
723.net.cn
s-k.com.cn
twks.cn
y-b.net
chusou.cn
63.gold
❓️ 热门提问:
电信云主机个人
香港电信盈科
git服务器部署
idc合规咨询
什么是机房
香港沙田vps主机
培训中心 云计算
bgp双线
ecs 服务器与云虚拟主机
云计算的体系结构
豌豆Ai站群搜索引擎系统
🌐 域名评估:
su7.sc.cn
xphone.wang
kk.jx.cn
aaa.mo.cn
uu.hl.cn
lq.gs
chuisou.cn
uav.hi.cn
dd.tw.cn
nn.sd.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
香港搜尋引擎排名
搜尋引擎入口
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。