在搭建SVN服务器之前我们还是简单的了解一下SVN服务器(知己知彼,方能百战不殆)
一、什么是SVN
SVN 是 Subversion 的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人协同开发同一个项目,达到资源共享的目的(资源互联互通,方便协作开发)。
二、SVN 的运行方式
SVN 服务器有2种运行方式:独立服务器和借助apache (这种方式,可以通过 HTTP 方式进行访问)运行。但是两种方式各有利弊,可根据实际需求进行选择。
三、SVN 的数据存储
SVN 存储版本数据也有2种方式:一种为事务安全型表类型即->BDB 、 一种为不需要数据库的存储系统即-> FSFS。因为BDB方式在 SVN 服务器中断时,有可能锁住数据,所以选择 FSFS 方式更安全。
四、快速搭建SVN服务器
上面进行了一下SVN服务器的简单介绍,下面开始快速的搭建SVN服务器。
1、基本环境
系统版本: Linux-7.2-x86_64
SVN 版本:Subversion-1.7.14
2、查看系统中是否已经安装SVN服务器(如果已经安装,则需要先删除原来的,再进行安装!),输入命令 “ rpm -qa subversion ”,如下图:
3、通过 yum 命令方式快速安装SVN服务器,省去了繁多复杂的配置,输入命令 “ yum install -y subversion ” ,如下图:
4、安装成功后,查看当前安装的 SVN 版本信息,输入命令 “ svnserve --version ”,如下图:
5、创建项目仓库,创建仓库具体命令如下:
“ mkdir /opt/svn ”,
“ cd /opt/svn ”,
“ svnadmin create projects ”,
“ cd projects ”,
“ ll ”
项目仓库创建成功后,会产生一个仓库目录,接口如下图:
具体目录说明如下:
conf目录:存放仓库的配置文件(仓库的用户访问账号、权限、密码等)。
db目录:所有版本控制的数据存放文件。
format文件:文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
hooks目录:放置hook脚本文件的目录。
locks目录:放置 subversion 锁定数据的目录,用来追踪存取文件库的客户端。
6、配置版本库
1)、配置用户信息 passwd,进入到配置文件目录中,输入命令 “ vi passwd ” ,新增用户信息,示例内容如下:
[users]
# harry = harryssecret
# sally = sallyssecret
huazai = 12345
如下图:
1)、配置权限控制 authz,输入命令 “ vi authz ”,新增内容如下:
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = huazai
[/]
user=rw
说明: (r:读,w:写)
如下图:
注意:
权限配置文件 authz 中出现的用户名必须已在用户配置文件 passwd 中定义。
对于权限配置文件 authz 的修改会立即生效,无需再重启svn服务器。
3、配置SVN服务配置文件 svnserve.conf ,输入命令 “ vi svnserve.conf ” ,去掉如下内容的注解即可:
[general]
# 匿名访问的权限,可以是read,write,none,缺省值为read
anon-access = read
# 已经授权用户拥有写的权限
auth-access = write
# 指定账号配置文件(刚才配置的用户信息文件)
password-db = passwd
# 指定权限访问控制配置文件
authz-db = authz
# 认证命名空间,版本库所在目录,subversion 会在认证提示里显示
realm = /opt/svn/repositories
如下图:
7、启动与停止版本库
1)、开启端口访问,输入命令 “ firewall-cmd --permanent --add-port=3690/tcp ”,如下图:
2)、启动SVN服务器,输入命令 “ svnserve -d -r /opt/svn/projects ”,
查看是否启动成功(查看3690端口是否被监听) ,输入命令 “ netstat -ntulp|grep 3690 ”
如下图:
3)、停止SVN服务器,输入命令:
“ ps -ef|grep svnserve ”,
“ kill 5275 ”,
“ netstat -ntulp|grep 3690 ”
如下图:
4)、测试SVN服务器是否用,通过SVN客户端进行 “ SVN Checkout ” ,的操作,直接输入地址,并输入用户名密码即可,如下图:
输入预先设定的用户名密码,然后进行检出操作,如下图:
并且在本地文件夹中会多一个隐藏的 ” .svn “ 的文件夹,如下图:
好了,关于 Linux下快速搭建SVN服务器详细教程 就写到这儿了,如果还有什么疑问或遇到什么问题欢迎扫码提问,也可以给我留言哦,我会一一详细的解答的。
歇后语:“ 共同学习,共同进步 ”,也希望大家多多关注CSND的IT社区。