云服务器搭建SVN服务器详细教程 | 从零配置到权限管理

云服务器搭建SVN服务器完整指南

环境准备与方案选择

选择CentOS 7或Ubuntu 20.04等主流Linux系统,建议配置1核2G及以上云服务器实例。通过SSH工具连接服务器后,执行系统更新命令:

# CentOS
yum update -y
# Ubuntu
apt update && apt upgrade -y

Subversion安装与配置

软件包安装

# CentOS
yum install -y subversion
# Ubuntu
apt install -y subversion

创建版本库

mkdir /var/svn
svnadmin create /var/svn/myproject
chmod -R 777 /var/svn/myproject

权限配置文件修改

vim /var/svn/myproject/conf/svnserve.conf
[general]
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz

访问控制与用户管理

# 编辑用户密码文件
vim /var/svn/myproject/conf/passwd
[users]
user1 = 123456
user2 = abcdef

# 配置目录权限
vim /var/svn/myproject/conf/authz
[/]
user1 = rw
user2 = r

服务启动与防火墙设置

# 启动SVN服务
svnserve -d -r /var/svn --listen-port 3690

# 防火墙配置(CentOS)
firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload

客户端连接验证

Windows使用TortoiseSVN客户端,输入服务地址:

svn://服务器IP:3690/myproject

Linux客户端执行测试命令:

svn checkout svn://服务器IP:3690/myproject

运维管理与优化建议

  • 配置systemd服务实现开机自启
  • 设置日志轮转策略
  • 定期执行svnadmin hotcopy备份
  • 启用SSH隧道加密传输

常见问题解决方案

客户端无法连接服务器

检查云服务器安全组的入站规则,确认3690端口已开放。验证服务进程是否正常运行:

ps aux | grep svnserve
netstat -tunlp | grep 3690

提交时提示权限不足

检查authz文件中的权限分配,确保相应用户对目标目录有写入权限。注意配置文件中不能包含中文注释。

仓库数据迁移方法

svnadmin dump /var/svn/myproject > myproject.dump
svnadmin create new_repo
svnadmin load new_repo 

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END