Linux配置
前期环境准备
本次系统环境:centos7.6
首先关闭防火墙,NetworkManager,selinux;
其次,配置好本地yum源;

第一步:通过yum命令安装svnserve
先查看系统中是否存在subversion软件

rpm -qa|grep subversion

备注:
默认ISO里已经有subversion软件包了,且,最小化版本中已经装好了subversion软件包了;
如果已存在,可忽略此步骤;若不存在,则利用yum安装此软件:

yum -y install subversion

查看svn的安装目录

rpm -ql subversion

tortoiseSVN支持linux吗 linux svn搭建_版本库

 

 

 #查看svn版本:

/usr/bin/svnversion --version

第二步:创建版本库目录

(此仅为目录,为后面创建版本库提供存放位置)
选择在数据盘挂载目录路径下创建版本库:

mkdir /data/svnrepos

第三步:创建svn版本库

在第二步建立的路径基础上,创建版本库,命令如下:

svnadmin create /data/svnrepos/abc

(foreseahealth为你预期的版本库名称,可自定义)
创建成功后,进入test-svn目录下

cd /data/svnrepos/abc

进入目录,可以看见如下文件信息:

tortoiseSVN支持linux吗 linux svn搭建_版本库_02

 

 

 

tortoiseSVN支持linux吗 linux svn搭建_tortoiseSVN支持linux吗_03

 

 

 

第四步:配置修改

进入已经创建好的版本库目录下,也就是前文说创建的test-svn,进入conf

cd /data/svnrepos/abc/conf

conf目录下,一共存放三份重要的配置文件,如下:

tortoiseSVN支持linux吗 linux svn搭建_tortoiseSVN支持linux吗_04

 

 

 authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
编辑 passwd 文件

tortoiseSVN支持linux吗 linux svn搭建_tortoiseSVN支持linux吗_05

 

 

 用户名为:test,认证密码为:xxx
编辑 authz 文件(注意:[/]也是必须的)

tortoiseSVN支持linux吗 linux svn搭建_根目录_06

 

 

 

注意:在最后一行添加即可。
[/] 表示根目录,即 /data/svnrepos/foreseahealth
test = rw 表示用户test对根目录具有读写权限。

= r 表示所有用户可读

[groups] 分组

system = kehw001 表示system组中有成员kehw001

[foreseahealth:/system] 表示根目录foreseahealth下的system目录

@system = rw 表示system组有该目录读写权限

= 表示该目录其他用户无任何权限,比/目录下的优先级高

[/network] 表示跟目录foreseahealth下network目录

@network = rw 表示network组有该目录读写权限

编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写)

tortoiseSVN支持linux吗 linux svn搭建_版本库_07

 

anon-access = none|read|write 决定非授权用户的访问级别。none 表示无访问权限,read 表示只读,write 表示可读可写,默认为 read。
auth-access = none|read|write 决定授权用户的访问级别,使用与上面相同的访问级别。默认为 write。
password-db = filename 指定账号密码数据库文件名。filename 是相对仓库中 conf 目录的位置,也可以设置为绝对路径,默认为passwd。
authz-db = filename 指定权限配置文件名,filename 是相对仓库中 conf 目录的位置,也可以设置为绝对路径,默认为authz。
realm = realm-name 指定版本库的认证域,即 /data/svnrepos 目录。即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的账号密码数据库文件passwd。

第五步:关闭防火墙

#注意:如果防火墙关闭的话,此步骤可跳过;
#如果服务器防火墙要求必须开启,则配置如下【注意:如果是阿里云、腾讯云的服务器,还需在安全组添加端口开启规则】
#7版本防火墙:
查看防火墙状态

systemctl status firewalld.service

开启防火墙

systemctl start firewalld.service

开启端口

firewall-cmd --zone=public --add-port=3690/tcp --permanent

重启防火墙

systemctl restart firewalld.service

添加配置信息

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

保存退出

systemctl restart iptables.service

#重启防火墙使配置生效

第六步:启动或关闭svn服务器

svnserve -d -r /data/svnrepos

参数:
-d:表示后台运行守护模式;
-r:表示svn服务的根目录;
#注意。这里目录指的时版本库存放目录位置;

tortoiseSVN支持linux吗 linux svn搭建_svn_08

 

检测svn端口3690是否已经监听:

 

netstat -antlp|grep svnserve
netstat -antlp|grep 3690
ps -ef | grep 'svnserve'

tortoiseSVN支持linux吗 linux svn搭建_根目录_09

 

 #关闭SVN 方法:
这里采取linux杀死进程的方式处理的

这里 kill -9 12981杀死进程, 此12981为进程号

tortoiseSVN支持linux吗 linux svn搭建_svn_10

 

 

客户端访问SVN服务器

tortoiseSVN支持linux吗 linux svn搭建_tortoiseSVN支持linux吗_11