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是自定义的版本库名称)
2、Linux SVN客户端操作命令
svn checkout svn://192.168.201.56/xiaoming /test
cd /test
svn update