在Linux中安装SVN,相对于windows中安装SVN,也不复杂,但在实践过程中,还是碰到一些问题,记录下来,供大家参考。
1 安装SVN
本人使用的Linux操作系统是centos7,利用yum安装svn,命令很简单。
yum install subversion
2 配置svn
2.1 创建仓库
我们将svn仓库,建立到/home下的svn目录,具体命令如下
[root@VM_0_4_centos home]# cd /home
[root@VM_0_4_centos home]# mkdir svn
[root@VM_0_4_centos home]# svnadmin create /home/svn
[root@VM_0_4_centos home]# cd svn
[root@VM_0_4_centos svn]# ls
conf db format hooks locks README.txt
可以看到,创建svn仓库之后,在svn目录下,会多出几个目录和文件。svn的配置工作主要针对conf目录,打开conf目录后,会发现有以下文件
authz passwd svnserve.conf
其中svnserve.conf用来对svn进行总的配置,passwd用来配置用户名密码,authz用来配置用户权限。
2.2 配置svnserve.conf
利用vi svnserve.conf命令,打开svnserve.conf文件,对其中的内容进行修改配置
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录
需要注意的问题是,前面不要有空格,每一行都要顶格书写,如果有空格,会导致配置失败。
2.3 配置passwd
使用vi passwd打开passwd文件,配置用户名密码
[users]
harry = harryssecret
sally = sallyssecret
同样注意顶格书写。
2.4 配置authz
使用vi authz打开authz文件,配置用户权限
[groups]
harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
[/]
@ harry_and_sally = rw
* =
同样注意顶格书写。
在内容上,需要注意[/]是指用户可以访问的目录,[/]是根目录,也可以是具体的目录,比如某个具体的项目目录,这样可以让不同的用户,访问不同的项目,将不同项目的权限分开。我们用的是一个项目,就直接用根目录。具体项目目录分开的操作,大家可以自行尝试。
3 svn的启动和停止
svn安装配置完成之后,就可以启动使用了。
3.1 启动svn
svnserve -d -r /home/svn
其中,-d表示守护进程, -r 表示在后台执行
3.2 停止svn
可以使用杀死进程的方式来停止svn服务
首先是查找svn进程,然后用kill命令结束svn进程。
[root@VM_0_4_centos conf]# ps -ef|grep svnserve
root 2742 32342 0 16:49 pts/0 00:00:00 grep --color=auto svnserve
root 8299 1 0 13:23 ? 00:00:00 svnserve -d -r /home/svn
[root@VM_0_4_centos conf]# kill -9 2742
4 客户端连接
在linux服务器端完成svn的安装和配置之后,启动了svn服务,这时候就可以在客户端进行连接了。一般客户端使用tortoiseSVN,连接地址为svn://IP地址或域名,如果顺利的话就会连接成功,会弹出用户名密码的窗口,填入用户名密码就可以正常使用了。
5 连接失败的可能原因
我们安装配置运行都做完之后,还是会碰到连接失败的可能,一般需要从两个方面进行检查。
5.1 端口是否开放
svn默认使用的是3690端口,这个端口需要开放,如果使用云服务器,需要在云服务界面进行配置,比如阿里云或者腾讯云,将服务器的安全策略配置为3690端口开放。另一方面是linux本身的防火墙,需要将3690端口开放。
打开3690端口:firewall-cmd --add-port=3690/tcp --permanent
systemctl start firewalld.service#启动firewall
systemctl stop firewalld.service#停止firewall
5.2 检查配置文件
配置文件的检查,一个是内容里面要顶格书写,不要有空格,在一个就是authz文件中的权限路径。
6 结语
在linux中配置svn,相对来说,还是比较简单,但要明确每一步的含义,操作的时候需要认真配置,如果有小的疏忽,还是容易出现配置失败,不过,对于出现的失败,也不要气馁,一般这种情况,才是真正学习的机会,只有在不断地碰到问题,解决问题,在这样的过程中,我们才会成长。