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
#查看svn版本:
/usr/bin/svnversion --version
第二步:创建版本库目录
(此仅为目录,为后面创建版本库提供存放位置)
选择在数据盘挂载目录路径下创建版本库:
mkdir /data/svnrepos
第三步:创建svn版本库
在第二步建立的路径基础上,创建版本库,命令如下:
svnadmin create /data/svnrepos/abc
(foreseahealth为你预期的版本库名称,可自定义)
创建成功后,进入test-svn目录下
cd /data/svnrepos/abc
进入目录,可以看见如下文件信息:
第四步:配置修改
进入已经创建好的版本库目录下,也就是前文说创建的test-svn,进入conf
cd /data/svnrepos/abc/conf
conf目录下,一共存放三份重要的配置文件,如下:
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
编辑 passwd 文件
用户名为:test,认证密码为:xxx
编辑 authz 文件(注意:[/]也是必须的)
注意:在最后一行添加即可。
[/] 表示根目录,即 /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 文件(注意:配置的前面不能有空格,一定要顶格写)
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服务的根目录;
#注意。这里目录指的时版本库存放目录位置;
检测svn端口3690是否已经监听:
netstat -antlp|grep svnserve
netstat -antlp|grep 3690
ps -ef | grep 'svnserve'
#关闭SVN 方法:
这里采取linux杀死进程的方式处理的
这里 kill -9 12981杀死进程, 此12981为进程号
客户端访问SVN服务器