【SVN】centos7搭建svn--亲测能通

news2025/4/15 19:57:35

centos7.6搭建svn

  • 1 知识小课堂
    • 1.1 CentOS
    • 1.2 SVN
  • 2 搭建过程
    • 2.1 前期准备
    • 2.2 通过yum命令安装svnserve
    • 2.3 创建版本库目录
    • 2.4 创建svn版本库
    • 2.5 配置修改
    • 2.5 防火墙配置
    • 2.6 启动或关闭svn服务器
      • 2.6.1 进程守护
      • 2.6.2 检测svn端口3690是否已经监听:
      • 2.6.3 关闭SVN
    • 2.7 客户端访问svn服务器
      • 2.7.1 Windows 连接
      • 2.7.2 Linux 连接
  • 3 搭建过程可能遇到的问题
    • 3.1 修改SVN 的端口号
    • 3.2 参考连接

1 知识小课堂

1.1 CentOS

在这里插入图片描述

CentOS(Community ENTerprise Operating System)是Linux发行版之一,中文意思是社区企业操作系统。它是免费的、开源的、可以重新分发的开源操作系统。CentOS Linux发行版是一个稳定的,可预测的,可管理的和可复现的平台,源于Red Hat Enterprise Linux(RHEL)依照开放源代码(大部分是GPL开源协议)规定释出的源码所编译而成。

自2004年3月以来,CentOS Linux一直是社区驱动的开源项目,旨在与RHEL在功能上兼容。每个版本的CentOS都会获得十年的支持(通过安全更新方式),新版本的CentOS大约每两年发行一次。而每个版本的CentOS会定期(大概每六个月)更新一次,以便支持新的硬件。

相对于其他Linux发行版,其稳定性值得信赖。它可以用来构建企业级的Linux系统环境,而不需要向RedHat付任何的费用。CentOS的技术支持主要通过社区的官方邮件列表、论坛和聊天室。

总的来说,CentOS适合那些需要企业级操作系统稳定性,但又不想承担认证和支持成本的人和组织。

1.2 SVN

在这里插入图片描述

官方网站:SVN中文网
SVN,全称为Subversion,是一个开放源代码的版本控制系统。

它的主要功能是管理随时间改变的数据,这些数据可以是文档、源代码等。SVN用于多个人员、设备之间同步不同版本的文档和源代码,从而实现共享资源,最终集中式的管理。简而言之,SVN就是用于多人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

SVN版本控制系统具有速度快、安全性高等优势,被广泛应用于软件程序开发。对于编程人员而言,版本控制技术是团队协作开发的桥梁,有助于多人同步进行大型程序开发。在实际编程中,文件的合并过程一般需要编程人员共同协商决定。

此外,SVN还是一个分支管理系统的高效管理工具。其采用分支管理系统的高效管理方式简化了多个人共同开发同一个项目的流程。通过使用分支管理系统,SVN能够实现共享资源、最终集中式的管理,提高了软件开发和管理的效率。
在这里插入图片描述
以上内容仅供参考,建议咨询计算机领域专业人士或查阅相关文献资料获取更全面和准确的信息。

2 搭建过程

2.1 前期准备

  • 系统环境:centos7
  • 首先关闭防火墙,NetworkManager,selinux
  • 配置好本地yum源
  • centos连接工具:Finalshell
  • 先升级一下命令
    刚装的系统,可能命令有些落后,需要升级
yum update -y

在这里插入图片描述

2.2 通过yum命令安装svnserve

先查看系统中是否存在subversion软件?

rpm -qa|grep subversion

在这里插入图片描述
备注
可能有些centos镜像已经存在,
默认ISO里已经有subversion软件包了,且,最小化版本中已经装好了subversion软件包了;
在这里插入图片描述

如果已存在,可忽略此步骤;若不存在,则利用yum安装此软件:
在这里插入图片描述
如果已存在,可忽略此步骤;若不存在,则利用yum安装此软件:
yum -y install subversion
在这里插入图片描述

查看svn的安装目录

rpm -ql subversion

在这里插入图片描述

查看svn版本:

/usr/bin/svnversion --version

在这里插入图片描述

2.3 创建版本库目录

目录随意,可以自定义目录名。
创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)

选择在var路径下创建版本库:

创建版本库目录,可以一步步操作
创建svn目录

mkdir svn 

进入svn目录中并创建svnrepos目录
cd /home/data/svn

mkdir svnrepos

在这里插入图片描述
当前的目录位置:

/home/data/svn/svnrepos

2.4 创建svn版本库

在2.3 建立的路径基础上,创建版本库,命令如下:

 svnadmin create /home/data/svn/svnrepos/devsvn

(devsvn为你预期的版本库名称,可自定义)
在这里插入图片描述
创建成功后,进入devsvn目录下
在这里插入图片描述
备注:
在这里插入图片描述

2.5 配置修改

进入已经创建好的版本库目录下,也就是前文说创建的test-svn,进入conf

cd /home/data/svn/svnrepos/devsvn

conf目录下,一共存放三份重要的配置文件,如下:
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述
如上所示:
用户名为:admin,认证密码为:admin

  1. 编辑 authz 文件(注意:[/]也是必须的)

在这里插入图片描述
注意:在最后一行添加即可。

[/] 表示根目录,即 /var/svnrepos

hg = rw 表示用户hg对根目录具有读写权限。

zxl = rw 表示用户zxl对根目录具有读写权限。

  1. 编辑 svnserve.conf 文件(注意:配置的前面不能有空格,一定要顶格写)
    放开一下一些配置。
    在这里插入图片描述

在这里插入图片描述

  • anon-access = none:表示禁止匿名用户访问。

  • auth-access = write:表示授权用户拥有读写权限。

  • password-db = passswd:指定用户名口令文件,即 passwd 文件。

  • authz-db = authz:指定权限配置文件,即 authz 文件。

  • realm = /home/data/svn/svnrepos:指定认证域,即 /home/data/svn/svnrepos 目录。
    这个目录可以写绝对路径

2.5 防火墙配置

注意:如果防火墙关闭的话,此步骤可跳过;
多数情况下服务器安装完成,配置完成后,无法连接svn服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】

  1. 查看防火墙状态
firewall-cmd --state

在这里插入图片描述
2. 开启防火墙

systemctl start firewalld.service

在这里插入图片描述

  1. 开启端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
  1. 重启防火墙
systemctl restart firewalld.service

在这里插入图片描述

  1. 查看已开放的端口
firewall-cmd --list-port

在这里插入图片描述

  1. 防火墙添加配置信息
vi /etc/sysconfig/iptables
  1. 添加配置信息
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3690 -j ACCEPT

在这里插入图片描述

  1. 保存退出,命令:【:wq

在这里插入图片描述

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

2.6 启动或关闭svn服务器

2.6.1 进程守护

svnserve -d -r /home/data/svn/svnrepos

参数:

  • -d:表示后台运行守护模式;
  • -r : 表示svn服务的根目录;
    注意。这里目录指的时版本库存放目录位置

2.6.2 检测svn端口3690是否已经监听:

netstat -antlp|grep svnserve

在这里插入图片描述

netstat -antlp|grep 3690

在这里插入图片描述

ps -ef | grep 'svnserve'

在这里插入图片描述

2.6.3 关闭SVN

这里采取linux杀死进程的方式处理的

ps -ef|grep svnserve

在这里插入图片描述

这里 kill -9 29154杀死进程, 此29154为进程号
在这里插入图片描述

2.7 客户端访问svn服务器

2.7.1 Windows 连接

Windows下常用的客户端软件常用TortoiseSVN。它是一个免费的开源的客户端。
找一个空白文件夹,右键检出。详细配置过程可参考我的主页中 : SVN服务端客户端安装配置

windows客户端,输入地址:svn://ip地址:3690/xxxxiP地址为你linuxipxxxx为前文创建的版本库名称,3690svn默认端口)

弹出输入用户名和密码,输入即可访问

svn://192.168.3.10:3690/devsvn 搭建成功。

在这里插入图片描述
在这里插入图片描述

这里测试增加、修改、删除文件均没问题,一切正常。

2.7.2 Linux 连接

在linux服务器输入命令测试:

svn co svn://ip地址:3690/xxxx

如下为例子:

svn co svn://192.168.3.10:3690/devsvn

在这里插入图片描述
下载的SVN目录在/home目录下
在这里插入图片描述

3 搭建过程可能遇到的问题

3.1 修改SVN 的端口号

注意,这边配置了3693端口口,客户顿无法访问原来的版本库:

本人建议指定端口的启动方式,如果建立多个仓库,也便于管理。

svn默认端口为3690,需要在防火墙添加才可在svn客户端访问

在此,我选择用3693端口启动

启动命令:svnserve -d -r /home/data/svn/svnrepos/ --listen-port 3693

在这里插入图片描述

3.2 参考连接

  • centos7.6搭建svn
  • SVN客户端下载安装教程
  • SVN服务端客户端安装配置

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1331208.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机组成原理——指令系统41-60

41、下列哪种指令不属于程序控制指令(C)。 A、 无条件转移指令 B、 条件转移指令 C、 中断隐指令 D、 循环指令 42、下列关于一地址运算类指令的叙述中,正确的是(B)。 A、 仅有一个操作数,其地址由指令…

Linux多线程:线程池(单例),读写锁

目录 一、线程池(单例模式)1.1 makefile1.2 LockGuard.hpp1.3 log.hpp1.4 Task.hpp1.5 Thread.hpp1.6 ThreadPool.hpp1.7 main.cc 二、STL,智能指针和线程安全2.1 STL中的容器是否是线程安全的?2.2 智能指针是否是线程安全的? 三、其他常见的各种锁四、…

讲座思考 | 周志华教授:新型机器学习神经元模型的探索

12月22日,有幸听了南京大学周志华教授题为“新型机器学习神经元模型的探索”的讲座。现场热闹非凡,大家像追星一样拿着“西瓜书”找周教授签名。周教授讲得依旧循循善诱,由浅入深,听得我很入迷,故作此记。 周教授首先就…

大语言模型的三种主要架构 Decoder-Only、Encoder-Only、Encoder-Decoder

现代大型语言模型(LLM)的演变进化树,如下图: https://arxiv.org/pdf/2304.13712.pdf 基于 Transformer 模型以非灰色显示: decoder-only 模型在蓝色分支, encoder-only 模型在粉色分支, encod…

关于Triple DES(3DES)对称加密算法

一、引言 在网络安全领域,对称加密算法作为一种常见的加密手段,被广泛应用于保障数据传输的保密性和完整性。其中,DES(Data Encryption Standard)算法作为一种经典的对称加密算法,由IBM于1970年代开发&…

041_小驰私房菜_MTK平台添加支持通过原生Camera API接口调用UsbCamera

平台:MTK 问题:通过调用Android Camera API去调用UsbCamera,需要做哪些修改? Google官方文档,关于usbcamera的支持: 外接 USB 摄像头 | Android 开源项目 | Android Open Source Project 相关修改内容如下: 一、MTK平台支持通过标准接口打开USB Camera 1)device相…

铭飞CMS cms/content/list接口存在SQL注入 附POC

@[toc] 铭飞CMS cms/content/list接口存在SQL注入 附POC 免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用…

OSI 七层参考模型及TCP/IP 四层模型

OSI 七层参考模型 七层模型,亦称 OSI ( Open System Interconnection )参考模型,即开放式系统互联。参考模型是国际标准化组织(ISO )制定的一个用于计算机或通信系统间互联的标准体系,一般称为…

红队打靶练习:DIGITALWORLD.LOCAL: MERCY V2

目录 信息收集 1、arp 2、netdiscover 3、nmap 4、nikto 5、whatweb 6、总结 目录探测 1、gobuster 2、dirsearch WEB enum4linux枚举工具 smbclient工具 knock工具 CMS 文件包含漏洞 Tomcat 提权 系统信息收集 本地提权 get root 信息收集 1、arp ┌──…

解决用Fiddler抓包,网页显示你的连接不是专用/私密连接

关键:重置fiddler的证书 在Fiddler重置证书 1、Actions --> Reset All Certificates --> 弹窗一路yes 2、关掉Fiddler,重新打开 3、手机删掉证书,重新下载安装。 (如果还不行,重新试一遍,先把浏览器…

stable diffusion工作原理

目录 序言stable diffusion能做什么扩散模型正向扩散逆向扩散 如何训练逆向扩散 Stable Diffusion模型潜在扩散模型变分自动编码器图像分辨率图像放大为什么潜在空间可能存在?在潜在空间中的逆向扩散什么是 VAE 文件? 条件化(conditioning)文本条件化&am…

HTML+CSS做一个时尚柿子造型计时器

文章目录 💕效果展示💕代码展示HTMLJS💕效果展示 💕代码展示 HTML <!DOCTYPE html> <html lang

天文观测与计算机技术:粉丝的视角

天文观测与计算机技术&#xff1a;粉丝的视角 在浩瀚无垠的宇宙中&#xff0c;每一颗星星都像是神秘的密码&#xff0c;等待我们去破译。作为天文观测的粉丝&#xff0c;我深知每一个美丽的星图背后都离不开计算机技术的支持。在这篇文章中&#xff0c;我将分享我对天文观测与…

Jmeter实现性能测试--高频率(高吞吐量)

高频率场景通常涉及系统需要在极短时间内处理大量请求或事件。这些场景可能要求系统在短时间内执行多次操作&#xff0c;例如高频率的数据更新、传感器数据采集、金融交易、实时监控等。以下是一些高频率场景的示例&#xff1a; 金融交易&#xff1a; 高频交易系统需要在极短时…

基于多反应堆的高并发服务器【C/C++/Reactor】(中)Channel 模块的实现

在这篇文章中虽然实现了能够和多客户端建立连接&#xff0c;并且同时和多个客户端进行通信。 基于多反应堆的高并发服务器【C/C/Reactor】&#xff08;上&#xff09;-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135141316?spm1001.2014.3001.5501但是有…

CSS3多列分页属性

CSS3多列 Firefox浏览器支持该属性的形式是-moz-column-count&#xff0c;而基于Webkit的浏览器&#xff0c;例如Safari和Chrome&#xff0c;支持该属性的形式是-webkit-column-count column-count&#xff1a;该属性定义多列文本流中的栏数 语法&#xff1a;column-count:int…

银河麒麟v10 rpm安装包 安装mysql 8.35

银河麒麟v10 rpm安装包 安装mysql 8.35 1、卸载mariadb2、下载Mysql安装包3、安装Mysql 8.353.1、安装Mysql 8.353.3、安装后配置 1、卸载mariadb 由于银河麒麟v10系统默认安装了mariadb 会与Mysql相冲突&#xff0c;因此首先需要卸载系统自带的mariadb 查看系统上默认安装的M…

BUG记录——drawio出现“非绘图文件 (error on line 7355 at column 83: AttValue: ‘ expected)”

BUG现象 drawio出现“非绘图文件 (error on line 7355 at column 83: AttValue: ’ expected)”&#xff0c;如下图&#xff1a; 解决办法 这只是我自己摸索到的解决办法并不一定适用于所以人&#xff0c;对我是适用的。 首先用记事本打开损坏的drawio文件&#xff0c;如下 …

python 使用 sha256 函数对密码进行加密

在 hashlib 库中&#xff0c;可以使用 sha256 函数对密码进行加密。下面是一个示例代码&#xff1a; import hashlibdef hash_password(password):# 创建一个 sha256 对象sha256_hash hashlib.sha256()# 使用 update() 方法将密码传入 sha256 对象sha256_hash.update(passwor…

RocketMQ系统性学习-RocketMQ原理分析之消息的可靠性以及有序性如何保证

&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308;&#x1f308; 【11来了】文章导读地址&#xff1a;点击查看文章导读&#xff01; &#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f341;&#x1f3…