当前位置: 首页 > 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…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】

微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来&#xff0c;Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

Linux简单的操作

ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/

使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题&#xff1a;docker pull 失败 网络不同&#xff0c;需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...

基于Java Swing的电子通讯录设计与实现:附系统托盘功能代码详解

JAVASQL电子通讯录带系统托盘 一、系统概述 本电子通讯录系统采用Java Swing开发桌面应用&#xff0c;结合SQLite数据库实现联系人管理功能&#xff0c;并集成系统托盘功能提升用户体验。系统支持联系人的增删改查、分组管理、搜索过滤等功能&#xff0c;同时可以最小化到系统…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...

免费数学几何作图web平台

光锐软件免费数学工具&#xff0c;maths,数学制图&#xff0c;数学作图&#xff0c;几何作图&#xff0c;几何&#xff0c;AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...