Centos8 搭建 SVN 服务

本文介绍 Centos8 下搭建 SVN 服务,从安装、配置,启动服务等方面来介绍。

安装

# 安装
yum -y install subversion

# 查看版本
svnserve --version

创建项目

# 创建项目目录
mkdir -p /www/wwwroot/svnServer

# 创建项目
svnadmin create /www/wwwroot/svnServer/test

# 之后会在 test 中生成如下目录结构:
.
├── conf
├── db
├── format
├── hooks
├── locks
└── README.txt

留意,passwd、authz、svnserve.conf 均在 conf 目录中。如果未配置将造成允许所有人访问。

仓库配置

# 增加访问帐户
vi /www/wwwroot/svnServer/test/conf/passwd
# 一行一个
# 格式:
# 用户名 = 登录密码

# 配置权限
vi /www/wwwroot/svnServer/test/conf/authz

[groups]
dev = dev_user1,dev_user2
root = admin1,root1

[test:/]
@dev=r
@root=rw

# 仓库配置
vi /www/wwwroot/svnServer/test/conf/svnserve.conf

# 禁止匿名访问
# 值范围: "write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。
anon-access = none

# 授权帐户可写
# 值说明,同上
auth-access = write

# 指定访问帐户文件
password-db = passwd

# 指定权限配置文件
authz-db = authz

# 指定服务名称,用于客户端连接时,展示名称
realm = mySvnServer

启动服务

# 手动启动
svnserve -d -r /www/wwwroot/svnServer

vi /etc/sysconfig/svnserve
OPTIONS="-r /www/wwwroot/svnServer"

# 重新加载服务配置
system daemon-reload

# 开机启动
systemctl enable svnserve

# 启动服务
systemctl start svnserve

另外,防火墙开放 3690 端口。

SVN 检出地址
svn://192.168.0.100/test

至此完毕。

启动服务报错
svnserve:Root path ‘var/svn’ does not exist or is not a directory

# 指定新的项目目录
vi /etc/sysconfig/svnserve
OPTIONS="-r /www/wwwroot/svnServer"

查看日志时提示:Item is not readable
确定 svnserve.conf 文件项 anon-access = none

参考资料: