# 安装 SVN
# Linux 系统安装 SVN 服务端
# 检查是否安装 SVN
大多数 GNU/Linux 发行版系统自带了 Subversion ,所以它很有可能已经安装在你的系统上了。可以使用下面命令检查是否安装了。
svn --version
如果 Subversion 服务端没有安装,命令将报告 svn 命令找不到的错误。
[root@localhost ~]# svn --version
-bash: svn: 未找到命令
# 安装 SVN
yum -y install subversion
# 创建版本库根目录
mkdir -p /var/svn/repository
# 启动 SVN 服务端
svnserve -d -r /var/svn/repository --listen-port 3690
- --listen-port:指定 SVN 监听端口,不加此参数,SVN 默认监听 3690
# SVN 多版本库管理
假设现在有这样的一个需求,公司有一个电商项目 shop,包含前端(frontend)、后端(backend)。
结构层次图:
.(/var/svn/repository)
|-- shop
|-- frontend
|-- backend
接下来,需要创建版本库目录。
mkdir -p /var/svn/repository/shop
svnadmin create /var/svn/repository/shop/frontend
svnadmin create /var/svn/repository/shop/backend
创建完目录之后,要对版本库进行用户权限设置。
前端和后端的开发不能互相访问对方的项目,要进行权限隔离。
其中,
前端由两个人负责:tom、jerry
后端由两个人负责:jason、kevin
接下来,根据上面的需求修改权限配置文件。
vi /var/svn/repository/shop/frontend/conf/svnserve.conf
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
vi /var/svn/repository/shop/frontend/conf/authz
[groups]
shop_frontend_group=tom,jerry
shop_backend_group=jason,kevin
[frontend:/]
@shop_frontend_group=rw
*=
[backend:/]
@shop_backend_group=rw
*=
创建用户。
vi /var/svn/repository/shop/frontend/conf/passwd
[users]
tom=abc123tom
jerry=abc123jerry
jason=abc123jason
kevin=abc123kevin
在版本库下面创建具体的项目目录:
cd /var/svn/repository
mkdir pro_oa
# 启动 SVN
# 查看 SVN 服务器的状态
systemctl status svnserve
# 启动 SVN 服务器
systemctl start svnserve
# 设置开机自启 SVN 服务器
systemctl enable svnserve
# 查看 SVN 服务器的端口号
默认 SVN 端口号 3690
yum -y install net-tools && netstat -anp | grep svnserve
# 放行防火墙
firewall-cmd --add-port=3690/tcp --permanent
firewall-cmd --reload
参考文献: