文章目录
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 /var/svnrepos/test-svn
进入目录,可以看见如下文件信息:
#备注:
第四步:配置修改
进入已经创建好的版本库目录下,也就是前文说创建的test-svn,进入conf
cd /data/svnrepos/foreseahealth/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:表示禁止匿名用户访问。
auth-access = write:表示授权用户拥有读写权限。
password-db = passswd:指定用户名口令文件,即 passwd 文件。
authz-db = authz:指定权限配置文件,即 authz 文件。
realm = /data/svnrepos:指定认证域,即 /data/svnrepos 目录。
第五步:关闭防火墙
#注意:如果防火墙关闭的话,此步骤可跳过;
#如果服务器防火墙要求必须开启,则配置如下【注意:如果是阿里云、腾讯云的服务器,还需在安全组添加端口开启规则】
#7版本防火墙:
查看防火墙状态
systemctl status firewalld.service
开启防火墙
systemctl start firewalld.service
开启端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
重启防火墙
systemctl restart firewalld.service
查看已开放的端口
firewall-cmd --list-port
#6版本防火墙:
vi /etc/sysconfig/iptables
添加配置信息
-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杀死进程的方式处理的
ps -ef|grep svnserve
这里 kill -9 12981杀死进程, 此12981为进程号
客户端访问SVN服务器
SVN的全称是Subversion,即版本控制系统。作为一个开源的版本控制系统,Subversion管理着随时间改变的数据。这些数据放置在一个中央资料档案库(Repository)中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样就可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可用来管理任何类型的文件。
SVN采用客户端/服务器体系,各种版本都存储在服务器上,用户首先将从服务器上获得一份最新版本,并将其复制到本机。在此基础上,每个用户可以在自己的客户端进行独立的工作,并且可以随时将新文件提交给服务器。当然也可以通过更新操作获取服务器上的最新文件,从而保持与其他用户所使用版本的一致性。
Windows下常用的客户端软件常用TortoiseSVN。它是一个免费的开源的客户端。进入下载网址https://tortoisesvn.net/downloads.html 选择合适的安装程序【TortoiseSVN】,以及【简体中文语言包】
安装完tortoisesvn后,再安装语言包,在完成页面向导勾选方框,点击完成
1.在windows客户端安装完成后,新建一个文件夹,右键选择【SVN检出】
输入地址:svn://ip:3690/foreseahealth (iP地址为SVN服务器的公网ip,如果是内网则ip改为内网ip,端口3690为svn默认端口,foreseahealth为创建的版本库名称)
2.弹出输入用户名和密码,每个人已分配好权限,输入即可访问,各项文件可在本地已检出的文件夹操作。
3.若要上传文件或文件夹至云端,在文件所在目录右键选择【SVN提交】,勾选需要提交的文档
4.若要从云端同步最新版本至本地,右键勾选【SVN更新】
5.若误删了文件,或者需要查看早前版本的数据,可选中文件夹右键,选择【TortoiseSVN】【版本库浏览器】,点击右上角【HEAD】,选择【显示日志】。就可以查看当前文件夹早期数据文件。
更多内容请查看【TortoiseSVN】【帮助】文档。
在linux服务器输入命令测试:
由于含有中文,可能无法正常显示文件名
结束!