搭建SVN服务器(centos 7.3)

天涯浪子 提交于 2019-12-08 13:11:32

一、安装svn

#  安装subversion
yum install subversion
# 查看subversion的安装路径
rpm -ql subversion

二、创建svn版本库

# 创建svn版本库所在目录
mkdir -p /data/svn/svn_repository
# 创建版本库
svnadmin create /data/svn/svn_repository

三、svn版本库内部分目录和文件作用说明

1.进入目录/data/svn/svn_repository下,如下图:
在这里插入图片描述

conf目录:主要是配置文件、登录用户、密码认证;
hooks目录:主要是svn的钩子脚本模板,使用时去掉.tmpl后缀即可,钩子脚本实际上就是代码提交前后,可以分别执行的脚本,脚本可用perl、shell、python等语言编写,该目录里面脚本文件名代表提交代码执行的不同时机,如提交代码前执行的脚本pre-commit,提交代码后执行的脚本post-commit,更多详情自行学习;

2.进入目录/data/svn/svn_repository/conf下,如下图:
在这里插入图片描述

authz文件是权限控制文件
passwd是帐号密码文件
svnserve.conf SVN服务配置文件

四、svn版本库配置

步骤1、进入目录/data/svn/svn_repository/conf下;

步骤2、设置账号密码
编辑用户文件passwd,新增两个用户:admin和guest。
在[users]块中添加用户和密码,格式:帐号=密码,如admin = 123qwe
完整内容参考下面:
在这里插入图片描述

步骤3、设置用户权限
编辑权限文件authz,用户admin设置可读写权限,guest设置只读权限。
完整内容参考如下:

[groups]
admin = admin
guest = guest
[/]
@admin = rw
@guest = r

步骤4、设置SVN服务配置
编辑svnserve.conf,完整内容如下:
$ cat svnserve.conf

[general]
anon-access = none                     #控制非鉴权用户访问版本库的权限
auth-access = write                    #控制鉴权用户访问版本库的权限
password-db = passwd                   #指定用户名口令文件名
authz-db = authz                       #指定权限配置文件名
realm = /data/svn/svn_repository/            #认证空间名,版本库所在目录

五、检查端口是否打开

svn服务的默认端口为3690,比如我部署在阿里云服务器上,必须先在阿里云控制台打开3690端口的外部访问权限。

#centos查询端口是不是开放的
firewall-cmd --permanent --query-port=3690/tcp
#添加对外开放端口
firewall-cmd --permanent --add-port=3690/tcp
#重启防火墙
firewall-cmd --reload
#查看端口监听情况
netstat -nlp

六、设置开机启动:

1、subversion默认以/var/svn作为数据根目录,可以通过/etc/sysconfig/svnserve修改这个默认位置,如下图:
在这里插入图片描述

2、启动svn版本库命令如下:

systemctl start svnserve.service

3、设置开机启动

systemctl enable svnserve.service

七:svn客户端检出(纯svn):

1.下载svn客户端
下载地址:https://tortoisesvn.net/downloads.html

2.进入本地代码库所在目录右键checkout,远程库地址按下图填写:
在这里插入图片描述

3.输入账号和密码后,点击【OK】,如下图:
在这里插入图片描述

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!