Linux 搭建SVN服务器(C/S模式)

Linux System Environment

[root@client01 ~]# cat /etc/redhat-release
CentOS Linux release 7.5.1804 (Core)
[root@client01 ~]# uname -r
3.10.0-862.el7.x86_64
[root@client01 ~]# uname -m
x86_64
[root@client01 ~]# echo $LANG
en_US.UTF-8

一、配置阿里云yum源和epel源
提示:阿里云yum源官网 https://developer.aliyun.com/mirror/

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum makecache

二、yum安装SVN软件

rpm -qa subversion         ##查看是否已经安装SVN软件,如果已安装就不用再继续安装
yum -y install subversion
svn --version

三、创建SVN版本库目录
提示:自定义此目录为版本库目录,为后面创建版本库提供存位置

mkdir -p /data/svn/

四、创建SVN版本库

svnadmin create /data/svn/xiaoming    ##xiaoming此目录为版本库,可以自定义名称
tree /data/svn/xiaoming/              ##以下是版本库自动生成的相关配置文件
/data/svn/xiaoming/
├── conf                            ##SVN配置目录
│ ├── authz                         ##设置SVN用户权限管理配置文件
│ ├── passwd                        ##设置SVN用户和密码配置文件
│ └── svnserve.conf                 ##SVN服务器配置文件
├── db                              ##SVN用户代码数据目录
│ ├── current                       ##当前SVN使用的版本号
│ ├── format
│ ├── fsfs.conf
│ ├── fs-type
│ ├── min-unpacked-rev
│ ├── revprops                     ##SVN用户每提交一次代码,此目录会记录相关数据及日志
│ │ └── 0
│ │ └── 0
│ ├── revs                       ##SVN用户每提交一次代码,此目录会记录相关数据及日志
│ │ └── 0
│ │ └── 0
│ ├── transactions
│ ├── txn-current
│ ├── txn-current-lock
│ ├── txn-protorevs
│ ├── uuid
│ └── write-lock
├── format
├── hooks
│ ├── post-commit.tmpl
│ ├── post-lock.tmpl
│ ├── post-revprop-change.tmpl
│ ├── post-unlock.tmpl
│ ├── pre-commit.tmpl
│ ├── pre-lock.tmpl
│ ├── pre-revprop-change.tmpl
│ ├── pre-unlock.tmpl
│ └── start-commit.tmpl
├── locks
│ ├── db.lock
│ └── db-logs.lock
└── README.txt

10 directories, 27 files

五、创建用户并设置用户权限

vim /data/svn/xiaoming/conf/authz      ##[\]代表给予xiaoming这个用户访问/data/svn/xiaoming此目录下的所有读写权限
[\]
xiaoming = rw
vim /data/svn/xiaoming/conf/passwd
xiaoming = 123456

六、配置SVN服务器配置文件
提示:每一项目参数前面都不要留空格,否则会报错

vim /data/svn/xiaoming/conf/svnserve.conf
anon-access = read      ##匿名用户的权限(read/write/none),默认read,不允许匿名用户访问设置none
auth-access = write     ##认证用户的权限(read/wirte/none),默认write
password-db = passwd    ##密码数据库的路径
realm = My First Repository

七、关闭防火墙及SElinux
提示:防火墙可以不关闭,放行SVN端口(SVN默认端口3690)

systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
cat /etc/selinux/config
setenforce 0
getenforce

八、启动SVN服务

svnserve -d -r /data/svn
ss -tlunp | grep svn
ps -ef | grep svn | grep -v color

九、测试SVN客户端访问SVN服务

1、Windows使用TortoiseSVN 客户端测试

输入 svn://192.168.201.56:3690/xiaoming (xiaoming是自定义的版本库名称)

image.png

image.png

image.png

2、Linux SVN客户端操作命令

svn checkout svn://192.168.201.56/xiaoming /test
cd /test
svn update

你可能感兴趣的:(Linux 搭建SVN服务器(C/S模式))