Linux下用svnserve搭建原生SVN服务需四步:安装SVN、创建仓库、配置passwd/authz/svnserve.conf权限文件、启动服务并开放3690端口;客户端通过svn://IP/仓库名访问。

在 Linux 系统下安装配置原生 SVN 服务端,核心是用 svnserve 搭建轻量、独立的 Subversion 服务器。不依赖 Apache,适合内网协作或中小团队快速落地。关键不是“装上就行”,而是权限、路径、端口、防火墙四者必须对齐。
确认系统环境与安装SVN
以 CentOS/RHEL 7+ 或 Ubuntu/Debian 为例,操作前建议使用 root 或 sudo 权限:
- 检查是否已安装:
svn --version或rpm -q subversion(CentOS) /dpkg -l | grep subversion(Ubuntu) - 若未安装,执行对应命令:
● CentOS/RHEL:yum -y install subversion
● Ubuntu/Debian:sudo apt update && sudo apt install subversion - 验证安装:
svnserve --version应输出版本号(如 1.14.x),说明二进制可用
创建版本库并初始化结构
选择一个规范路径存放仓库(推荐 /var/svn 或 /srv/svn),避免用家目录或临时路径:
Linux AI 服务器 — 将 Linux 服务器转换为本地 AI 推理集群。使用 systemd、NVIDIA CUDA 实现无头 Linux AI,零 GUI 开销。
- 创建根目录:
sudo mkdir -p /var/svn/repos - 新建一个项目仓库(例如叫
myapp):sudo svnadmin create /var/svn/repos/myapp - 执行后进入该目录:
ls /var/svn/repos/myapp,应看到conf/ db/ format hooks/ locks/ README.txt—— 这表示仓库已就绪
配置用户、权限与服务参数
三个配置文件都在 /var/svn/repos/myapp/conf/ 下,需逐个编辑(推荐用 vim 或 nano):
-
passwd 文件:管理用户名和密码
● 打开:sudo vim /var/svn/repos/myapp/conf/passwd
● 添加用户(顶格写,等号前后可空一格):
[users]
alice = pwd123
bob = secret456 -
authz 文件:控制目录级读写权限
● 打开:sudo vim /var/svn/repos/myapp/conf/authz
● 示例(赋予 alice 全库读写,bob 只读):
[groups]
devs = alice,bob
[/]
alice = rw
bob = r
* =(禁止其他未列明用户访问) -
svnserve.conf 文件:启用认证与服务行为
● 打开:sudo vim /var/svn/repos/myapp/conf/svnserve.conf
● 取消以下四行注释,并确保无缩进(顶格):
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = MyApp Repository(realm 是认证提示中的域名称,任意有意义字符串即可)
启动服务并放行端口
svnserve 默认监听 3690 端口,启动前务必确认端口未被占用、防火墙已放行:
- 启动服务(指定根路径,-r 后是 父目录,不是仓库本身):
sudo svnserve -d -r /var/svn/repos --listen-port=3690
⚠️ 注意:-r /var/svn/repos表示客户端访问时用svn://IP/myapp,而非svn://IP/repos/myapp - 检查进程是否运行:
ps aux | grep svnserve - 检查端口监听:
ss -tlnp | grep :3690或netstat -tuln | grep 3690 - 开放防火墙(根据系统选一种):
● firewalld(CentOS 7+/RHEL 8+):
sudo firewall-cmd --add-port=3690/tcp --permanent
sudo firewall-cmd --reload
● iptables(旧版 CentOS):
sudo iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
sudo service iptables save
完成以上步骤后,Windows 客户端(如 TortoiseSVN)即可用 svn://你的服务器IP/myapp 地址连接,输入 alice/pwd123 即可检出、提交。无需额外 Web 服务,纯原生协议,稳定且低开销。

















