SVN简介:
SVN是一个开源的版本控制系统,SVN管理着随时间改变的数据。这些数据放置在一个中央资料档案库中,这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的改动。
系统环境:
主机 | 操作系统 | IP地址 |
---|---|---|
SVN Server | CentOS 7.4 x86_64 | 192.168.100.135 |
client | CentOS 7.4 x86_64 | 192.168.100.140 |
搭建SVN服务器步骤如下:
1.关闭防火墙及Selinux
setenforce 0
systemctl stop firewalld
2.Yum安装svn软件包
yum install subversion -y
查看版本
svnserve --version
3.创建仓库repo
mkdir -p /opt/svn/repo #创建目录
svnadmin create /opt/svn/repo #创建一个新的仓库
4.查看仓库目录
ll !$
5.编辑svn服务配置文件svnserve.conf
svn服务配置文件为版本库目录中的文件conf/svnserve.conf。该文件仅由一个[general]配置段组成。
[general]
anon-access = none #匿名用户没有任何权限
auth-access = write #认证用户具有写权限
password-db = /opt/svn/repo/conf/passwd #用户的密码文件
authz-db = /opt/svn/repo/conf/authz #用户的信息文件
..... #省略部分内容
- anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:read
- auth-access: 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:write
- authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 缺省值:authz
6.创建账户密码文件
用户密码文件由svnserve.conf的配置项password-db指定,缺省为conf目录中的passwd。该文件仅由一个[users]配置段组成。
cd /opt/svn/repo
vim conf/passwd
[users]
admin = admin #格式:用户名=用户密码
thinker = 123456 #添加用户thinker
7.创建权限配置文件
权限配置文件由svnserve.conf的配置项authz-db指定,缺省为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。
cd /opt/svn/repo
vim conf/authz
[/]
admin=r
thinker=r
[/webphp]
admin=r
thinker=rw #thinker用户对/opt/svn/repo/webphp目录具有读写权限
8.启动SVN服务
svnserve -d -r /opt/svn/repo #关闭通过Kill PID
- -r: 配置方式决定了版本库访问方式。
- --listen-port: 指定SVN监听端口,不加此参数,SVN默认监听3690
9.初始化SVN目录
mkdir /opt/svn/repo/webphp
svn import webphp file:///opt/svn/repo/webphp -m "初始化SVN目录" #导入到本地webphp
使用SVN客户端操作
1.Yum安装svn软件包
yum install subversion -y
2.创建/var/www/html目录,本地同步SVN仓库的内容
mkdir -p /var/www/html
cd /var/www/html
svn co svn://192.168.100.135/webphp