🗣 Wd提问: linux服务器搭建svn
🤖 Ai回答: 在Linux服务器上搭建SVN(Subversion)服务器的详细步骤如下:
1、安装SVN服务
Ubuntu/Debian系统
bash
sudo apt update
sudo apt install subversion -y
CentOS/RHEL系统
bash
sudo yum install subversion -y CentOS 7及以下
或
sudo dnf install subversion -y CentOS 8/RHEL 8
2、创建SVN仓库
bash
sudo mkdir -p /var/svn 创建仓库根目录
sudo svnadmin create /var/svn/myproject 创建名为myproject的仓库
3、配置SVN权限
进入仓库配置目录:
bash
cd /var/svn/myproject/conf
(1) 修改 `svnserve.conf`
bash
sudo nano svnserve.conf
取消注释并修改以下内容:
ini
[general]
anon-access = none 禁止匿名访问
auth-access = write 允许认证用户读写
password-db = passwd 密码文件路径
authz-db = authz 权限控制文件路径
realm = MyProject 认证域名称(自定义)
(2) 修改 `passwd`(添加用户)
bash
sudo nano passwd
在文件末尾添加用户:
ini
[users]
user1 = password1
user2 = password2
(3) 修改 `authz`(设置权限)
bash
sudo nano authz
配置示例:
ini
[groups]
admin = user1
devs = user1,user2
[/] 仓库根目录
@admin = rw admin组读写权限
* = r 其他用户只读
[/myproject/trunk] 特定目录权限
@devs = rw devs组对trunk目录有读写权限
4、启动SVN服务
(1) 启动服务
bash
svnserve -d -r /var/svn 以守护进程方式运行,指定仓库根目录
(2) 设置开机自启
创建 `systemd` 服务文件:
bash
sudo nano /etc/systemd/system/svnserve.service
内容如下:
ini
[Unit]
Description=Subversion Protocol Daemon
After=network.target
[Service]
Type=forking
User=root
ExecStart=/usr/bin/svnserve -d -r /var/svn
[Install]
WantedBy=multi-user.target
启用服务:
bash
sudo systemctl daemon-reload
sudo systemctl enable svnserve
sudo systemctl start svnserve
5、配置防火墙
开放SVN默认端口 `3690`:
Ubuntu/Debian (ufw)
bash
sudo ufw allow 3690
CentOS/RHEL (firewalld)
bash
sudo firewall-cmd permanent add-port=3690/tcp
sudo firewall-cmd reload
6、测试SVN服务
在客户端机器上执行:
bash
svn checkout svn://服务器IP/myproject
输入用户名/密码(如 `user1`/`password1`),若能检出仓库则成功。
7、常见问题处理
权限问题
确保仓库目录权限正确:
bash
sudo chown -R root:root /var/svn
sudo chmod -R 755 /var/svn
服务未启动
bash
sudo systemctl status svnserve 检查服务状态
sudo journalctl -u svnserve 查看日志
防火墙拦截
bash
sudo telnet 服务器IP 3690 测试端口是否开放
扩展:通过HTTP访问(可选)
若需通过Web访问,需安装Apache并配置`mod_dav_svn`:
bash
Ubuntu/Debian
sudo apt install libapache2-mod-svn apache2-utils
CentOS/RHEL
sudo yum install mod_dav_svn
配置虚拟主机(示例):
apache
<Location /svn
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName SVN Repository
AuthUserFile /etc/svn/passwd
Require valid-user
</Location
创建HTTP认证用户:
bash
sudo htpasswd -c /etc/svn/passwd user1
总结
SVN协议访问:`svn://服务器IP/仓库名`
HTTP协议访问:`http://服务器IP/svn/仓库名`
管理命令:
创建仓库:`svnadmin create /path/to/repo`
修改配置:编辑仓库目录下的 `conf/` 文件
重启服务:`sudo systemctl restart svnserve`
通过以上步骤,您已成功搭建SVN服务器,支持多用户权限管理。
📣 商家广告:





0
IP地址: 57.190.15.16
搜索次数: 6
提问时间: 2025-12-15 21:44:32
本站所有
❓
问答
均由Ai自动分析整理,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
本站由
🟢
豌豆Ai
提供技术支持,使用的最新版:
豌豆Ai站群搜索引擎系统 V.25.10.25
搭建本站。