linux svn 安装配置

安装

官网下载: http://subversion.apache.org/packages.html

SVN客户端:TortoiseSVN :https://tortoisesvn.net/downloads.html

1、检测系统是否有老版本

rpm -qa subversion

如果没安装过则什么都不显示

如果有老板可以运行下面命令删除

yum -y  remove subversion

2、yum命令安装

此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行

yum -y install subversion

若查看安装的位置

rpm -ql subversion

3、创建版本目录

此仅为目录,为后面创建版本库提供存放位置,subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里

mkdir -p /var/svn/svnrepos

4、创建svn版本库

在第二步建立的路径基础上,创建版本库(test_xc为目录(项目或版本库)名称,后面checkout项目时会用到。)

svnadmin create /var/svn/svnrepos/test_xc

创建成功后,进入test_xc目录下,可以看见如下文件信息:

conf:是这个仓库配置文件(仓库用户访问账户,权限)

format:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号

hooks:放置hook脚步文件的目录

locks:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
image

4.1 配置修改

进入conf,conf目录下,一共存放三份重要的配置文件,如下:
image

authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件

修改svnserve.conf
原始文件内容,都被注释掉的,我们只需要去掉指定内容前注释即可
打开下面的5个注释

anon-access = none #匿名不可访问
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录

修改authz文件
用户分组 在设置权限 配置如下

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = admin    # 创建一个admin组 有一个admin用户
hduser = hduser8000  # 创建一个hduser组 有一个hduser用户

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

[/]
@admin =rw
@hduser=r

[/xc11]
@hduser = rw
*=

修改passwd 文件
创建两个用户 账户 = 密码

[users]
# harry = harryssecret
# sally = sallyssecret

admin = *****
hduser8000 = *****

5、开启防火墙

多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题

配置防火墙端口

首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:

1: sudo firewall-cmd --permanent --add-service=telnet
2: sudo firewall-cmd --permanent --add-port=3690/tcp
3: sudo firewall-cmd --reload

centOS 7 防火墙开启、关闭与查看状态:
systemctl start firewalld
systemctl stop firewalld
systemctl status firewalld

用systemctl status firewalld查看防火墙状态
image

6、启动svn服务器

-d : 守护进程 -r : svn数据根目录

svnserve -d -r /var/svn/svnrepos   # 用root权限启动

查看SVN服务:

ps aux|grep svnserve               #默认端口为:3690

设置开机启动
在centos7, 设置开机启动:

sudo systemctl enable svnserve.service #注意:根目录必须是/var/svn 这样才能设置成功!!
image

设置开机启动后就可以按下面的方式开启或停止服务了

systemctl start svnserve.service
systemctl stop svnserve.service

7、可以拉取项目

进入windows 检出项目 地址栏输入 svn://项目ip:3690/test
项目ip可以通过 ip addr 或者 ifconfig 查看 inet,test_xc 为当初建立的SVN版本库 可以从上文寻找

posted @ 2021-10-26 18:41  钟鼎山林  阅读(73)  评论(0编辑  收藏  举报