安装
官网下载: http://subversion.apache.org/packages.html
SVN客户端:TortoiseSVN :https://tortoisesvn.net/downloads.html
1、检测系统是否有老版本
rpm -qa subversion
如果没安装过则什么都不显示
如果有老板可以运行下面命令删除
yum -y remove subversion
2、yum命令安装
此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
yum -y install subversion
若查看安装的位置
rpm -ql subversion
3、创建版本目录
此仅为目录,为后面创建版本库提供存放位置,subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里
mkdir -p /var/svn/svnrepos
4、创建svn版本库
在第二步建立的路径基础上,创建版本库(test_xc为目录(项目或版本库)名称,后面checkout项目时会用到。)
svnadmin create /var/svn/svnrepos/test_xc
创建成功后,进入test_xc目录下,可以看见如下文件信息:
conf:是这个仓库配置文件(仓库用户访问账户,权限)
format:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
hooks:放置hook脚步文件的目录
locks:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
4.1 配置修改
进入conf,conf目录下,一共存放三份重要的配置文件,如下:
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
修改svnserve.conf
原始文件内容,都被注释掉的,我们只需要去掉指定内容前注释即可
打开下面的5个注释
anon-access = none #匿名不可访问
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录
修改authz文件
用户分组 在设置权限 配置如下
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = admin # 创建一个admin组 有一个admin用户
hduser = hduser8000 # 创建一个hduser组 有一个hduser用户
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
@admin =rw
@hduser=r
[/xc11]
@hduser = rw
*=
修改passwd 文件
创建两个用户 账户 = 密码
[users]
# harry = harryssecret
# sally = sallyssecret
admin = *****
hduser8000 = *****
5、开启防火墙
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题
配置防火墙端口
首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:
1: sudo firewall-cmd --permanent --add-service=telnet
2: sudo firewall-cmd --permanent --add-port=3690/tcp
3: sudo firewall-cmd --reload
centOS 7 防火墙开启、关闭与查看状态:
systemctl start firewalld
systemctl stop firewalld
systemctl status firewalld
用systemctl status firewalld查看防火墙状态
6、启动svn服务器
-d : 守护进程 -r : svn数据根目录
svnserve -d -r /var/svn/svnrepos # 用root权限启动
查看SVN服务:
ps aux|grep svnserve #默认端口为:3690
设置开机启动
在centos7, 设置开机启动:
sudo systemctl enable svnserve.service #注意:根目录必须是/var/svn 这样才能设置成功!!
设置开机启动后就可以按下面的方式开启或停止服务了
systemctl start svnserve.service
systemctl stop svnserve.service
7、可以拉取项目
进入windows 检出项目 地址栏输入 svn://项目ip:3690/test
项目ip可以通过 ip addr 或者 ifconfig 查看 inet,test_xc 为当初建立的SVN版本库 可以从上文寻找