操作系统为CentOS 7.4 64位的Linux中安装SVN

网上Linux安装SVN的教程太多了,本文主要是重点写明一些在本次安装过程中主要遇到过的问题:

1.Centos7与Centos6安装上的不同(主要是防火墙的设置)

2.服务器未开通端口3690(svn的默认端口)

3.启动svn路径有误,./svnserve -d -r /data/svn(版本库的根目录),路径不对,SVN连不上。

安装过程:

1. 安装SVN服务器:

   检查是否已安装

# rpm -qa subversion

如果没有显示内容,说明没有安装。

安装svn服务器:

yum -y install subversion

安装后svn相关的命令如:svnserve svnadmin 等等命令默认在/usr/bin目录下,为了方便可以将这些svn命令复制到自定义的一个文件夹下面,在这里我的目录是/data/svn/version_repository/bin.在/usr/bin目录下使用命令 cp svnserve svnadmin -d /data/svn/version_repository/bin将多个文件(命令)复制到对应的目录。

2.版本库创建

安装完成后要建立版本库,使用命令:

mkdir -p /data/svn/version_repository

svnadmin create /data/svn/version_repository/

执行后,自动建立version_repository库,查看/data/svn/version_repository/文件夹包含了conf,db,format,hooks,locks,README.txt等文件,说明一个SVN库已经建立。

3. 配置版本库

a.对服务svnserve.conf配置

cd /data/svn/version_repository/conf目录,编辑svnserve.conf,命令为:vim svnerve.conf

添加内容:

[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/version_repository

编辑完,按Esc,然后输入:wq!进行内容保存

注意:这里各标签不能错,并且每行要顶格写,前面不能有空格(以上内容可以不添加,原文件就有,只要放开注释)

b.用户密码配置

cd data/svn/version_repository/conf,编辑passwd,

添加内容:

[users]
# harry = harryssecret
# sally = sallyssecret
#用户名=密码
 cb=123456

编辑完,按Esc,然后输入:wq!进行内容保存

c.权限控制authz配置

添加内容:

[/]
cb=rw  //给该用户访问所有库的权限
 
[version_repository:/]  //version_repository库的根目录权限
cb=rw

/ 表示根目录及以下,根目录是svnserve启动时指定的,我们指定的是/data/svn

/ 就是指对全部版本库都具有权限

version_repository:/ 表示对库version_repository的根目录设置权限

PS:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

d.配置防火墙端口(如果需要)

不一定每个人都需要设置,可以先测试后再看是否需要打开端口

# vi /etc/sysconfig/iptables

Centos7以上会提示没有iptables文件或者需要文件重启防火墙服务

service iptables restart

会提示没有iptables服务,百度后发现操作系统Centos7以上没有iptables,改为firewall服务,用firewall试了几次之后发现不好使,然后装了iptables服务,下面介绍在Centos7下面怎么使用iptables服务。

1.关闭firewall

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

2.安装iptables防火墙

yum install iptables-services

编辑iptables文件,vi /etc/sysconfig/iptables

将需要防火墙放开的端口加入:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

按Esc,输入:wq!保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

4. 查看

a.启动SVN

cd /data/svn/version_repository/bin

使用命令:./svnserve -d -r /data/svn(只能到这一层),不然重启不成功

b.查看svn进程


c.检测svn端口


LISIEN表示正常

d.停止重启svn

kill -9 svn进程号,如:


然后使用命令:./svnserve -d -r /data/svn


配置完以上信息后,用svn客户端访问svn服务还是报错

,这是由于你所购买的服务器并没有开通3690端口,我当时买的是阿里云服务器,不过不同类型的云服务器配置大致相同,以下就介绍一下阿里云服务器开通3690端口的过程:

5. 配置服务器端口

    登录阿里云账号,进入服务器的安全组,

点击配置规则:

配置完后发现svn服务可以访问了

猜你喜欢

转载自blog.csdn.net/cb_lcl/article/details/80403723
今日推荐