当前位置: 首页 > news >正文

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

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服务端客户端安装配置

相关文章:

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

centos7.6搭建svn 1 知识小课堂1.1 CentOS1.2 SVN 2 搭建过程2.1 前期准备2.2 通过yum命令安装svnserve2.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…...

MY FILE SERVER: 1

下载地址 https://download.vulnhub.com/myfileserver/My_file_server_1.ova 首先我们需要发现ip 我的kali是59.162所以167就是靶机的 然后我们拿nmap扫一下端口 nmap -sV -p- 192.168.59.167 扫完发现有七个端口开放 按照习惯先看80 没看到有啥有用信息,用nikto扫一下 nik…...

Day70力扣打卡

打卡记录 收集足够苹果的最小花园周长&#xff08;找规律 二分&#xff09; 链接 class Solution:def minimumPerimeter(self, neededApples: int) -> int:l, r 1, 10 ** 5while l < r:mid (l r) >> 1if 2 * (2 * (mid ** 3) 3 * (mid ** 2) mid) > nee…...

3. 行为模式 - 迭代器模式

亦称&#xff1a; Iterator 意图 迭代器模式是一种行为设计模式&#xff0c; 让你能在不暴露集合底层表现形式 &#xff08;列表、 栈和树等&#xff09; 的情况下遍历集合中所有的元素。 问题 集合是编程中最常使用的数据类型之一。 尽管如此&#xff0c; 集合只是一组对象的…...

rsync文件同步

场景&#xff1a;主要是用来发布文件。 一、rsync服务器端架设 1、安装 wget https://download.samba.org/pub/rsync/src/rsync-3.0.6.tar.gz tar -zxvf rsync-3.0.6.tar.gz ./configure --prefix/usr/local/rsync make make install 2、配置 2.1、配置rsyncd.conf 不存在…...

docker 安装mysql 8.0.35

1.拉取镜像 docker pull mysql:8.0.35 2.创建相关挂载目录与文件 mkdir -p /opt/mysql8/conf mkdir -p /opt/mysql8/data mkdir -p /opt/mysql8/logs 或者:mkdir -p /opt/mysql8/{data,conf,logs,mysqld,mysql-files} 文件与文件夹授权:chmod -R 775 /opt/mysql8/* 3.运…...

力扣labuladong一刷day46天并查集

力扣labuladong一刷day46天并查集 文章目录 力扣labuladong一刷day46天并查集一、323. 无向图中连通分量的数目二、130. 被围绕的区域三、990. 等式方程的可满足性 一、323. 无向图中连通分量的数目 题目链接&#xff1a;https://leetcode.cn/problems/number-of-connected-co…...

C++11(上):新特性讲解

C11新特性讲解 前言1.列表初始化1.1{ }初始化1.2std::initializer_list 2.类型推导2.1 auto2.2 typeid2.3 decltype 3.范围for4.STL的变化4.1新容器4.2容器的新方法 5.右值引用和移动语义5.1 左值引用和右值引用5.2 左值引用与右值引用比较5.3 右值引用的使用场景5.4 右值、左值…...

将mapper.xml保存为idea的文件模板

将mapper.xml保存为idea的文件模板 在idea的File and Code Templates中将需要使用模板的内容添加为模板文件。 那么接下来请看图&#xff0c;跟着步骤操作吧。 mapper.xml文件内容 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper P…...

LabVIEW在横向辅助驾驶系统开发中的应用

LabVIEW在横向辅助驾驶系统开发中的应用 随着横向辅助驾驶技术的快速发展&#xff0c;越来越多的研究致力于提高该系统的效率和安全性。项目针对先进驾驶辅助系统&#xff08;ADAS&#xff09;中的横向辅助驾驶进行深入研究。在这项研究中&#xff0c;LabVIEW作为一个强大的系…...

STM32移植LVGL图形库

1、问题1&#xff1a;中文字符keil编译错误 解决方法&#xff1a;在KEIL中Options for Target Flash -> C/C -> Misc Controls添加“--localeenglish”。 问题2&#xff1a;LVGL中显示中文字符 使用 LVGL 官方的在线字体转换工具&#xff1a; Online font converter -…...

迪文屏开发保姆级教程5—表盘时钟和文本RTC显示

这篇文章要讲啥事呢&#xff1f; 本篇文章主要介绍了在DGBUS平台上使用表盘时钟和文本时钟RTC显示功能的方法。 文哥悄悄话&#xff1a; 官方开发指南PDF&#xff1a;&#xff08;不方便下载的私聊我发给你&#xff09; https://download.csdn.net/download/qq_21370051/8864…...

免费IDEA插件推荐-Apipost-Helper

IDEA插件市场中的API调试插件不是收费&#xff08;Fast Request &#xff09;就是不好用&#xff08;apidoc、apidocx等等&#xff09;今天给大家介绍一款国产的API调试插件&#xff1a;Apipost-Helper&#xff0c;完全免费且好看好用&#xff01; 这款插件由Apipost团队开发的…...

Django(二)

1.django框架 1.1 安装 pip install django3.21.2 命令行 创建项目 cd 指定目录 django-admin startproject 项目名mysite ├── manage.py [项目的管理工具] └── mysite├── __init__.py├── settings.py 【配置文件&#xff0c;只有一部分…...

Kafka集群架构服务端核心概念

目录 Kafka集群选举 controller选举机制 Leader partition选举 leader partition自平衡 partition故障恢复机制 follower故障 leader故障 HW一致性保障 HW同步过程 Epoch Kafka集群选举 1. 在多个broker中, 需要选举出一个broker, 担任controller. 由controller来管理…...

【vscode插件】之插件图标设置

ChatgGPT4.0国内站点: 海鲸AI-支持GPT(3.5/4.0)&#xff0c;文件分析&#xff0c;AI绘图 在Visual Studio Code中创建插件时&#xff0c;你可以为你的插件设置一个图标&#xff0c;这个图标会在VS Code的插件市场和插件侧边栏中显示。以下是设置插件图标的步骤&#xff1a; 准备…...

网络安全学习-NTFS安全权限、文件共享

NTFS安全权限 权限概述 设置NTFS权限&#xff0c;实现不同用户访问不同对象&#xff08;文件、文件夹&#xff09;的权限分配正确访问权限后&#xff0c;用户才能访问资源设置权限防止资源被篡改、删除 文件系统概述 文件系统就是这个分区的存储格式&#xff0c;不建立文件…...

如何使用GPT4写一篇综述

使用 GPT-4 或任何其他高级语言模型来撰写一篇综述文章&#xff0c;需要遵循一系列的步骤来确保内容的准确性、深度和组织性。以下是一些指导步骤&#xff1a; 确定主题和范围 明确你想要综述的主题。这可以是一个科学领域的特定方面、技术发展、理论进展等。 确定综述的范围和…...

【网络编程】基于UDP数据报实现回显服务器程序

个人主页&#xff1a;兜里有颗棉花糖 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程的一点学习心得&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 前言 我们如果…...

Jenkins自动化构建打包,部署

1.环境准备 上传jdk&#xff0c;maven和tomcat的包&#xff0c;解压到/usr/local下并配置环境变量。 配置jdk [rootserver04 ~]# vim /etc/profile.d/java.sh JAVA_HOME/usr/local/java export PATH$JAVA_HOME/bin:$PATH##加载环境变量 [rootserver04 ~]# source /etc/profi…...

7.4.分块查找

一.分块查找的算法思想&#xff1a; 1.实例&#xff1a; 以上述图片的顺序表为例&#xff0c; 该顺序表的数据元素从整体来看是乱序的&#xff0c;但如果把这些数据元素分成一块一块的小区间&#xff0c; 第一个区间[0,1]索引上的数据元素都是小于等于10的&#xff0c; 第二…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章&#xff0c;二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑&#xff1a; &#x1f504; 一、起源与初创期&#xff1a;Swagger的诞生&#xff08;2010-2014&#xff09; 核心…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

20个超级好用的 CSS 动画库

分享 20 个最佳 CSS 动画库。 它们中的大多数将生成纯 CSS 代码&#xff0c;而不需要任何外部库。 1.Animate.css 一个开箱即用型的跨浏览器动画库&#xff0c;可供你在项目中使用。 2.Magic Animations CSS3 一组简单的动画&#xff0c;可以包含在你的网页或应用项目中。 3.An…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

华为OD最新机试真题-数组组成的最小数字-OD统一考试(B卷)

题目描述 给定一个整型数组,请从该数组中选择3个元素 组成最小数字并输出 (如果数组长度小于3,则选择数组中所有元素来组成最小数字)。 输入描述 行用半角逗号分割的字符串记录的整型数组,0<数组长度<= 100,0<整数的取值范围<= 10000。 输出描述 由3个元素组成…...

k8s从入门到放弃之HPA控制器

k8s从入门到放弃之HPA控制器 Kubernetes中的Horizontal Pod Autoscaler (HPA)控制器是一种用于自动扩展部署、副本集或复制控制器中Pod数量的机制。它可以根据观察到的CPU利用率&#xff08;或其他自定义指标&#xff09;来调整这些对象的规模&#xff0c;从而帮助应用程序在负…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...

简单介绍C++中 string与wstring

在C中&#xff0c;string和wstring是两种用于处理不同字符编码的字符串类型&#xff0c;分别基于char和wchar_t字符类型。以下是它们的详细说明和对比&#xff1a; 1. 基础定义 string 类型&#xff1a;std::string 字符类型&#xff1a;char&#xff08;通常为8位&#xff09…...