对于企业或者公司来说,文件的管理一直以来都是很头疼的事,SVN的出现对于文件的管理提供了很大的帮助。废话不多说了,关于SVN,就不做过多介绍了,想要了解更多的话,请查看SVN简介。
关于Linux系统下如何安装SVN,下面给我我自己的实践步骤,谨以此文做个记录。
一,操作系统
centos_7_04_64_20G_alibase_201701015.vhd
二,安装配置步骤
第一步,通过yum命令安装svnserve,命令如下:
yum -y install subversion
此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行,安装效果图如下:
安装成功之后,如需要查看SVN的安装路径,可以用以下命令查看:
rpm -ql subversion
查看效果图如下:
第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)
选择在var路径下创建版本库,当前处于根目录下,一次性创建命令如下:
mkdir -p /var/svn/svnrepos
第三步:创建svn版本库
在第二步建立的路径基础上,创建版本库,命令如下:
svnadmin create /var/svn/svnrepos
(svnadmin create /var/svn/svnrepos/xxxx为你预期的版本库名称,可自定义)
创建成功后,进入版本库目录命令:
cd /var/svn/svnrepos
下可以看到如下图所示的文件:
第四步:配置修改
进入到conf目录下,命令为:
cd /var/svn/svnrepos/conf/
看到如下的三个文件,接下来就是对三个文件进行修改。
解释一下三个文件分别有啥作用:
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
(1)编辑 authz 文件
vi authz
打开文件后,在末尾添加如下代码:
[/]
du = rw
zhou = r
意思是版本库的根目录du对其有读写权限,zhou只有读权限。=前为用户 =后为权限
(2)编辑 passwd 文件
vim passwd
打开文件后,在[users]块中添加用户和密码,格式:帐号=密码,如test=test123456
(3)编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写),其实就是放开注释即可
vim svnserve.conf
每一项代表的含义分别为:
anon-access = none:表示禁止匿名用户访问。
auth-access = write:表示授权用户拥有读写权限。
password-db = passswd:指定用户名口令文件,即 passwd 文件。
authz-db = authz:指定权限配置文件,即 authz 文件。
realm = /var/svnrepos:指定认证域,即 /var/svnrepos 目录。
第五步:防火墙开启(iptable防火墻),此步骤我没有实验过需不要设置,我也设置了,但是不知道此处用不用设置,看到别人哪里有,记录一下:
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】
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 /var/svn/svnrepos
启动成功后,可用ps -aux查看服务启动是否成功
ps -ef | grep 'svnserve'
效果如下,代表启动成功!
七:客户端访问svn服务器
Linux下测试是否成功的命令如下:
输入地址:svn://ip地址:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)
svn co svn://ip:3690
提示你输入账户名和密码,就代表配置成功了!
Windows下测试链接SVN(由于服务器为阿里云,需要添加配置信任)
成功配置后如下图:
到此为止,所有的配置就都完成了,接下来去用Windows测试一下:
svn://ip地址:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口),由于我没有创建更深一层的版本库,所以访问直接为 svn://ip地址:3690 即可
好了,整个过程就是这样子,记录一下,方便自己日后使用!