Linux中安装配置使用SVN的步骤和注意事项

在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,相对来说,还是比较简单,但要明确每一步的含义,操作的时候需要认真配置,如果有小的疏忽,还是容易出现配置失败,不过,对于出现的失败,也不要气馁,一般这种情况,才是真正学习的机会,只有在不断地碰到问题,解决问题,在这样的过程中,我们才会成长。

posted @ 2020-04-08 17:51  cooldream2009  阅读(522)  评论(0编辑  收藏  举报