【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服务器配置文件
- 编辑 
passwd文件 
vim passwd
 

 
 如上所示:
 用户名为:admin,认证密码为:admin
- 编辑 authz 文件(注意:
[/]也是必须的) 

 注意:在最后一行添加即可。
[/] 表示根目录,即 /var/svnrepos
hg = rw 表示用户hg对根目录具有读写权限。
zxl = rw 表示用户zxl对根目录具有读写权限。
- 编辑 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服务器,均是防火墙问题【注意:如果是阿里云,腾讯云的服务器,还需在安全组添加端口开启规则】
- 查看防火墙状态
 
firewall-cmd --state
 

 2. 开启防火墙
systemctl start firewalld.service
 

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

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

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

- 保存退出,命令:【
: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/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口)
弹出输入用户名和密码,输入即可访问
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力扣打卡
打卡记录 收集足够苹果的最小花园周长(找规律 二分) 链接 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. 行为模式 - 迭代器模式
亦称: Iterator 意图 迭代器模式是一种行为设计模式, 让你能在不暴露集合底层表现形式 (列表、 栈和树等) 的情况下遍历集合中所有的元素。 问题 集合是编程中最常使用的数据类型之一。 尽管如此, 集合只是一组对象的…...
rsync文件同步
场景:主要是用来发布文件。 一、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. 无向图中连通分量的数目 题目链接: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中将需要使用模板的内容添加为模板文件。 那么接下来请看图,跟着步骤操作吧。 mapper.xml文件内容 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper P…...
LabVIEW在横向辅助驾驶系统开发中的应用
LabVIEW在横向辅助驾驶系统开发中的应用 随着横向辅助驾驶技术的快速发展,越来越多的研究致力于提高该系统的效率和安全性。项目针对先进驾驶辅助系统(ADAS)中的横向辅助驾驶进行深入研究。在这项研究中,LabVIEW作为一个强大的系…...
STM32移植LVGL图形库
1、问题1:中文字符keil编译错误 解决方法:在KEIL中Options for Target Flash -> C/C -> Misc Controls添加“--localeenglish”。 问题2:LVGL中显示中文字符 使用 LVGL 官方的在线字体转换工具: Online font converter -…...
迪文屏开发保姆级教程5—表盘时钟和文本RTC显示
这篇文章要讲啥事呢? 本篇文章主要介绍了在DGBUS平台上使用表盘时钟和文本时钟RTC显示功能的方法。 文哥悄悄话: 官方开发指南PDF:(不方便下载的私聊我发给你) https://download.csdn.net/download/qq_21370051/8864…...
免费IDEA插件推荐-Apipost-Helper
IDEA插件市场中的API调试插件不是收费(Fast Request )就是不好用(apidoc、apidocx等等)今天给大家介绍一款国产的API调试插件:Apipost-Helper,完全免费且好看好用! 这款插件由Apipost团队开发的…...
Django(二)
1.django框架 1.1 安装 pip install django3.21.2 命令行 创建项目 cd 指定目录 django-admin startproject 项目名mysite ├── manage.py [项目的管理工具] └── mysite├── __init__.py├── settings.py 【配置文件,只有一部分…...
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),文件分析,AI绘图 在Visual Studio Code中创建插件时,你可以为你的插件设置一个图标,这个图标会在VS Code的插件市场和插件侧边栏中显示。以下是设置插件图标的步骤: 准备…...
网络安全学习-NTFS安全权限、文件共享
NTFS安全权限 权限概述 设置NTFS权限,实现不同用户访问不同对象(文件、文件夹)的权限分配正确访问权限后,用户才能访问资源设置权限防止资源被篡改、删除 文件系统概述 文件系统就是这个分区的存储格式,不建立文件…...
如何使用GPT4写一篇综述
使用 GPT-4 或任何其他高级语言模型来撰写一篇综述文章,需要遵循一系列的步骤来确保内容的准确性、深度和组织性。以下是一些指导步骤: 确定主题和范围 明确你想要综述的主题。这可以是一个科学领域的特定方面、技术发展、理论进展等。 确定综述的范围和…...
【网络编程】基于UDP数据报实现回显服务器程序
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【网络编程】【Java系列】 本专栏旨在分享学习网络编程的一点学习心得,欢迎大家在评论区交流讨论💌 前言 我们如果…...
Jenkins自动化构建打包,部署
1.环境准备 上传jdk,maven和tomcat的包,解压到/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…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
【WiFi帧结构】
文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成:MAC头部frame bodyFCS,其中MAC是固定格式的,frame body是可变长度。 MAC头部有frame control,duration,address1,address2,addre…...
【力扣数据库知识手册笔记】索引
索引 索引的优缺点 优点1. 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度(创建索引的主要原因)。3. 可以加速表和表之间的连接,实现数据的参考完整性。4. 可以在查询过程中,…...
为什么需要建设工程项目管理?工程项目管理有哪些亮点功能?
在建筑行业,项目管理的重要性不言而喻。随着工程规模的扩大、技术复杂度的提升,传统的管理模式已经难以满足现代工程的需求。过去,许多企业依赖手工记录、口头沟通和分散的信息管理,导致效率低下、成本失控、风险频发。例如&#…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
对WWDC 2025 Keynote 内容的预测
借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面
代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口(适配服务端返回 Token) export const login async (code, avatar) > {const res await http…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
