🗣 Wd提问: linux svn 服务器
🤖 Ai回答: 在 Linux 系统上搭建 SVN(Subversion)服务器是一个常见的需求,以下是详细的步骤指南:
1、安装 SVN 服务
对于 Ubuntu/Debian 系统:
bash
sudo apt update
sudo apt install subversion
对于 CentOS/RHEL 系统:
bash
sudo yum install subversion
2、创建 SVN 仓库
bash
sudo svnadmin create /path/to/repo
例如:
bash
sudo svnadmin create /var/svn/myproject
3、配置 SVN 服务
修改配置文件
编辑仓库的 `svnserve.conf` 文件:
bash
sudo nano /var/svn/myproject/conf/svnserve.conf
取消以下配置的注释(去掉 ``)并按需修改:
ini
[general]
anon-access = none 禁止匿名访问
auth-access = write 授权用户可写入
password-db = passwd 指定密码文件
realm = My SVN Repository 自定义仓库名称
添加用户和密码
编辑 `passwd` 文件:
bash
sudo nano /var/svn/myproject/conf/passwd
添加用户和密码(格式:`用户名 = 密码`):
text
user1 = password1
user2 = password2
4、启动 SVN 服务
bash
svnserve -d -r /var/svn
`-d` 表示后台运行
`-r` 指定仓库根目录
开机自启(可选):
bash
echo svnserve -d -r /var/svn /etc/rc.local
5、防火墙设置
开放 SVN 默认端口 `3690`:
bash
关闭防火墙(临时)
sudo ufw disable
或者开放端口(推荐)
sudo ufw allow 3690/tcp
sudo ufw reload
6、客户端访问
Checkout 代码
bash
svn checkout svn://your-server-ip/myproject
提交代码
bash
svn add .
svn commit -m Initial commit
7、其他高级配置
限制用户权限
在 `svnserve.conf` 中添加:
ini
access-file = access
然后在 `access` 文件中设置权限:
text
[/]
user1 = rw
user2 = r
加密传输(SSL)
生成证书并配置:
bash
openssl req -new -x509 -days 365 -nodes -out /etc/svnserver.pem -keyout /etc/svnserver.pem
修改 `svnserve.conf`:
ini
ssl = yes
ssl-cert = /etc/svnserver.pem
ssl-key = /etc/svnserver.pem
8、备份与恢复
备份仓库
bash
svnadmin hotcopy /var/svn/myproject /backup/myproject
恢复仓库
bash
svnadmin hotcopy /backup/myproject /var/svn/myproject
常见问题
连接失败:检查防火墙和端口 `3690` 是否开放。
权限问题:确保仓库目录权限正确(如 `chmod -R 775 /var/svn`)。
日志查看:`tail -f /var/log/syslog`(Ubuntu)或 `journalctl -u svnserve`(Systemd)。
如果需要更详细的配置或特定场景的指导,请补充说明!
📣 商家广告:





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