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

Linux部署SVN

一.下载与安装

(1)yum安装

yum install subversion

(2)源文件编译安装

①下载svn源文件

subversion-xxx.tar.gz(subversion 源文件)

subversion-deps-xxx.tar.gz(subversion依赖文件)

文件版本必须一致

将其上传到服务器上,执行tar xfvz命令解压, 解压后生成 subversion-xxx子目录,两个压缩包解压后都会自动放到此目录下;

②进入解压目录,执行 ./configure --prefix=/opt/subversion 进行配置设定并指明安装目录;

configure命令用于检查安装平台和目标特征,prefix用于指定路径。

③执行make 编译;

④执行make install 安装;

⑤添加环境变量:

vi /etc/profile

在文件最后加入:

SVNPATH=$PATH:/opt/subversion/bin

export SVNPATH

二.查看svn版本

svnserve --version

三.建立版本库目录

建立版本库目录,命令如下:(目录可自拟)
mkdir /www/svndata
创建一个新的版本库baseData,命令如下:
svnadmin create /www/svndata/baseData
在svn版本库目录下启动svn,命令如下:
svnserve -d -r /www/svndata

-d表示以后台模式执行,svn默认在3690端口监听;-r表示root,用来指定svn服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径

四.修改版本库配置文件

/www/svndata/baseData/conf下文件:
authz:配置权限文件
passwd:配置账号密码
svnserve:配置服务器文件
vi /www/svndata/baseData/conf/svnserve.conf
将注释打开并修改内容:

anon-access:非授权用户访问权限
none无访问权限,read只读权限,write写入权限
auth-access:授权用户访问权限
password-db:指明密码文件路径
authz-db:访问控制文件
realm:认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字,其它采用默认配置。各语句都必须顶格写,左侧不能留空格,否则会出错。

五.配置用户

vi /www/svndata/baseData/conf/pwd.conf或者/www/svndata/baseData/conf/passwd

格式:

[users]

<用户1> = <密码1>

<用户2> = <密码2>

六.配置权限

vi  /conf/authz.conf 或/conf/authz

该配置文件采用“基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。没有列出的用户,则不允许访问。可以对用户分组。
用户组格式:
[groups]
<用户组名>=<用户1>,<用户2>
1个用户组可以包含1个或多个用户,用户间以逗号分隔。
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名>=<权限>
<用户名>=<权限>
路径为“/”表示根目录(仓储目录)及以下,即对全部版本库设置权限。
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。
权限可以是w、r、wr和空,空表示没有任何权限。

七.配置防火墙端口

vi /etc/sysconfig/iptables

添加以下内容:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

保存后重启防火墙:service iptables restart

八.启动服务

svnserve -d -r  /www/svndata

svnserve -d -r /www/svndata
可以使用“–listen-port=”或者“–listen-host=”来指定其它端口
如果出现:


则需要关闭SVN服务:killall svnserve,然后再开启。
可以换一个端口运行:
svnserve -d -r /opt/svn/ --listen-port 3391

九.查看SVN进程,杀死进程

ps -ef|grep svn

杀死主进程,杀死进程的命令用 
kill -9 进程id
如图ID是3280,就使用 kill -9 3280 ,每个人程序不一样所以id也是不一样的

十.检测SVN 端口

netstat -ln |grep 3690

可以在linux上输入:svn checkout svn://127.0.0.1/测试配置。
客户端或Eclipse连接svn地址:svn://ip/目录
比如:我们在创建一个新的版本库baseData,svnadmin create /www/svndata/baseData
访问地址就是:svn://linux服务器部署地址IP/baseData 我们就可以在baseData这个大目录下分割很多子,访问地址:svn://ip地址/baseData/子文件夹名称

十一.同步库文件

方法一:
svn checkout svn://IP地址/baseData /www/wwwroot/165933.com
把baseData文件同步到对应的网站目录,如图,指定之后文件的内容也将同步。

方法二(建议使用此方案):
在 /www/svndata/baseData/hooks/ 目录下新建 post-commit 文件(空白文件,没有后缀)用于将svn中的文件同步到系统运行目录下,代码如下:

相关文章:

Linux部署SVN

一.下载与安装 &#xff08;1&#xff09;yum安装 yum install subversion &#xff08;2&#xff09;源文件编译安装 ①下载svn源文件 subversion-xxx.tar.gz&#xff08;subversion 源文件&#xff09; subversion-deps-xxx.tar.gz&#xff08;subversion依赖文件&…...

Linux高并发服务器开发(二)系统调用函数

文章目录 1 系统调用2 errno3 虚拟内存空间4 文件描述符5 常用文件IO函数6 阻塞和非阻塞7 lseek 偏移函数8 文件操作函数之stat函数9 文件描述符复制 dup10 fcnlt函数 修改文件属性11 目录相关操作12 时间相关函数 1 系统调用 根据系统调用&#xff0c;获取驱动信息、CPU的信息…...

rk3568 Android 11在系统怎样执行命令获取SN号

目录 1. 使用ADB&#xff08;Android Debug Bridge&#xff09;2. 使用Shell脚本或应用程序3. 使用系统API4. 直接在设备上使用Shell5. getprop使用方法常见属性示例注意事项 在瑞芯微RK3568 Android 11系统中执行命令或获取SN号&#xff08;序列号&#xff09;通常可以通过几种…...

PostgreSQL 性能优化与调优(六)

1. 索引优化 1.1 创建索引 索引可以显著提高查询性能。创建索引的基本语法如下&#xff1a; CREATE INDEX index_name ON table_name (column_name);例如&#xff0c;为 users 表的 username 列创建索引&#xff1a; CREATE INDEX idx_username ON users (username); 1.2 …...

win10 安装openssl并使用openssl创建自签名证书

win10创建自签名证书 下载安装配置openssl 下载地址&#xff1a; https://slproweb.com/download/Win64OpenSSL-3_3_1.exe https://slproweb.com/products/Win32OpenSSL.html 完成后安装&#xff0c;一路next&#xff0c;到达选位置的之后选择安装的位置&#xff0c;我这里选…...

【OpenCV 图像处理 Python版】图像处理的基本操作

文章目录 1.图像的 IO 操作1.1 图像读取 imread1.2 图像显示1.2.1 opencv 方式1.2.2 matplotlib 方式 1.3 图像保存 imwrite 2.绘制几何图形1. 绘制直线2. 绘制矩形3. 绘制圆形4. 绘制多边形5. 添加文字 3.获取并修改图像中的像素点3.1 获取像素值3.2 修改像素值3.3 获取和修改…...

HarmonyOS应用开发学习经验

一、HarmonyOS学习官网 开发者能力认证 HarmonyOS应用开发者基础认证6月之前的学习资源官网已经关闭过期&#xff0c;大家不要慌&#xff0c;官方更新了最新资源&#xff0c;但是&#xff0c;对于之前没有学习完的学员不友好&#xff0c;存在知识断片的现象&#xff0c;建议官…...

LLM大语言模型应用方案之RAG检索增强生成的实现步骤。

0.我理解的RAG 什么是RAG&#xff1f; RAG的全称是“检索增强生成模型”&#xff08;Retrieval-Augmented Generation&#xff09;。这是一种特别聪明的大语言模型。 RAG是怎么工作的呢&#xff1f; 1.检索&#xff1a;当你问RAG一个问题时&#xff0c;它会先去“图书…...

【python学习】学习python的小项目

学习Python时&#xff0c;通过完成一些小项目可以帮助你巩固知识并提升实践能力。以下是一些适合学习Python的小项目建议&#xff1a; 命令行计算器&#xff1a; 创建一个简单的命令行计算器&#xff0c;可以执行基本的算术运算&#xff08;加、减、乘、除&#xff09;。使用i…...

java-冒泡排序 1

## Java中的冒泡排序 ### 1. 冒泡排序的基本概念 冒泡排序&#xff08;Bubble Sort&#xff09;是一种简单且直观的排序算法。它通过重复地遍历待排序的列表&#xff0c;比较相邻的元素并交换它们的位置&#xff0c;使较大的元素逐步从列表的一端移动到另一端&#xff0c;就像…...

【STM32】USART串口通讯

1.USART简介 STM32芯片具有多个USART外设用于串口通讯&#xff0c;它是 Universal Synchronous Asynchronous Receiver and Transmitter的缩写&#xff0c; 即通用同步异步收发器可以灵活地与外部设备进行全双工数据交换。有别于USART&#xff0c; 它还有具有UART外设(Univers…...

Qt6中如何将QList转为QSet?

QSet是一个具有唯一值的哈希集合。比较少用。比较有用的是QSet里面的intersect查找两个集合中不同元素&#xff0c;并合并。 转换过程比较简单&#xff0c;第一种是直接用迭代器。 QSet<int> set(list.begin(), list.end()); 第二种就是逐一遍历赋值&#xff1a; QLi…...

aspectj:AOP编程备忘录-切面定义的注意事项

AOP编程时定义切面时需要注意的事 Around 以Around注解拦截构造方法(Constructor)时切面定义只能用call方式而不能是execution&#xff0c;否则 ProceedingJoinPoint.proceed()返回的是null&#xff0c;得不到构造的实例。 execution execution切入点要修改对象内部&#x…...

大数据面试题之Hive(1)

目录 说下为什么要使用Hive?Hive的优缺点?Hive的作用是什么? 说下Hive是什么?跟数据仓库区别? Hive架构 Hive内部表和外部表的区别? 为什么内部表的删除&#xff0c;就会将数据全部删除&#xff0c;而外部表只删除表结构?为什么用外部表更好? Hive建表语句?创建表…...

【Git】分布式版本控制工具

一、简介 二、目标 Git分布式版本控制工具 一、简介 Git是一种分布式版本控制系统&#xff0c;用于跟踪和管理源代码的变化。它由林纳斯托瓦兹&#xff08;Linus Torvalds&#xff09;于2005年开发&#xff0c;并迅速成为最流行的版本控制工具之一。以下是关于Git的一些关键…...

排序之插入排序----直接插入排序和希尔排序(1)

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 排序之插入排序----直接插入排序和希尔排序(1) 收录于专栏【数据结构初阶】 本专栏旨在分享学习数据结构学习的一点学习笔记&#xff0c;欢迎大家在评论区交流讨…...

快速创建条形热力图

Excel中的条件格式可以有效的凸显数据特征&#xff0c;如下图中B列所示。 现在需要使用图表展现热力条形图&#xff0c;如下图所示。由于颜色有多个过渡色&#xff0c;因此手工逐个设置数据条的颜色&#xff0c;基本上是不可能完成的任务&#xff0c;使用VBA代码可以快速创建这…...

go switch 与 interface

go switch 与 interface 前言 前言 github.com/google/cel-go/common/types/ref type Val interface {// ConvertToNative converts the Value to a native Go struct according to the// reflected type description, or error if the conversion is not feasible.ConvertTo…...

BaseMapper 接口介绍

基于 mybatis-mapper/provider 核心部分实现的基础的增删改查操作&#xff0c;提供了一个核心的 io.mybatis.mapper.BaseMapper 接口和一个 预定义 的 io.mybatis.mapper.Mapper 接口&#xff0c;BaseMapper 接口定义如下&#xff1a; /*** 基础 Mapper 方法&#xff0c;可以在…...

HAL-Cubemax定时器使用记录

title: HAL-Cubemax定时器使用记录 tags: STM32HalCubemax 文章目录 HAL-Cubemax定时器使用记录分享一种思路1.创建一个ms(毫秒)级延时中断2.创建计数的变量3.在需要延时的函数中对变量阈值进行判断4.验证实例--完整使用记录代码 问题往期内容基础库HAL cubemax VSCODE GCC …...

5个场景深度解析:如何用bili2text将B站视频变成你的私人知识库

5个场景深度解析&#xff1a;如何用bili2text将B站视频变成你的私人知识库 【免费下载链接】bili2text Bilibili视频转文字&#xff0c;一步到位&#xff0c;输入链接即可使用 项目地址: https://gitcode.com/gh_mirrors/bi/bili2text 凌晨两点&#xff0c;小林还在为明…...

3倍效率提升:Gofile批量下载工具实战指南

3倍效率提升&#xff1a;Gofile批量下载工具实战指南 【免费下载链接】gofile-downloader Download files from https://gofile.io 项目地址: https://gitcode.com/gh_mirrors/go/gofile-downloader 您是否曾为Gofile平台的文件下载效率低下而烦恼&#xff1f;当面对大文…...

低多边形≠简陋!掌握这7个结构化Prompt技巧,3分钟产出可商用IP形象(附Figma网格对齐校验表)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;低多边形设计的认知革命&#xff1a;从“简陋感”到“结构化美学” 低多边形&#xff08;Low-Poly&#xff09;设计曾长期被误读为建模能力不足的妥协产物&#xff0c;但其本质是一场对数字视觉语法的系…...

AI模型部署实战:基于FastAPI与Tauri构建OpenClaw模型GUI应用

1. 项目概述与核心价值最近在AI应用开发圈里&#xff0c;一个名为“GrahamMiranda-AI/openclaw-model-gui”的项目引起了我的注意。乍一看这个标题&#xff0c;它融合了“openclaw-model”和“gui”两个关键部分&#xff0c;这让我立刻联想到一个典型的场景&#xff1a;一个已经…...

时空镜像立体成像楼宇全态透明智慧管控技术解析方案

时空镜像立体成像楼宇全态透明智慧管控技术解析方案一、方案概述当前传统楼宇管控普遍存在二维监控信息碎片化、空间感知能力薄弱、人员定位依赖外设、跨镜头轨迹断裂、身份核验存在漏洞、设备运维滞后、区域管控存在盲区等行业共性痛点&#xff0c;多数系统仅实现视频录像与基…...

基于Panel与LLM构建智能数据可视化应用的架构与实践

1. 项目概述与核心价值最近在数据可视化与交互应用开发领域&#xff0c;一个名为holoviz-topics/panel-chat-examples的项目仓库引起了我的注意。乍一看&#xff0c;这似乎只是将聊天界面&#xff08;Chat Interface&#xff09;与 Panel 这个强大的 Python 交互式仪表盘库结合…...

Claw框架数据库迁移工具claw-migrate:原理、实践与团队协作指南

1. 项目概述&#xff1a;一个专为Claw设计的迁移工具最近在折腾一个叫Claw的开源项目&#xff0c;它本身是一个轻量级的Web框架&#xff0c;用起来挺顺手。但项目迭代过程中&#xff0c;难免会遇到数据库结构变更、数据迁移这类“脏活累活”。手动写SQL脚本&#xff1f;太原始&…...

ElevenLabs情绪驱动API实战手册(2024企业级部署全链路):从F0曲线调制到微表情时序对齐

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;ElevenLabs情绪驱动API核心架构与演进脉络 ElevenLabs 的情绪驱动 API 并非简单叠加情感标签的语音合成增强层&#xff0c;而是构建在多模态表征学习与实时声学参数调控双引擎之上的闭环系统。其核心架…...

【最新 v2.7.1 版本安装包】零基础也能流畅使用,OpenClaw 无需命令一键部署保姆级教程

OpenClaw&#xff08;小龙虾&#xff09;Windows 一键部署保姆级教程 | 10 分钟搭建专属数字员工【点击下载最新OpenClaw安装包】 前言 2026 年开源圈热门 AI 智能体 OpenClaw&#xff08;昵称小龙虾&#xff09;&#xff0c;GitHub 星标突破 28 万&#xff0c;凭借本地运行 …...

基于RP2040的客制化宏键盘:从硬件设计到KMK固件开发全攻略

1. 项目概述与核心价值最近在折腾一个挺有意思的开源项目&#xff0c;叫clawdpad&#xff0c;作者是kudretyilmazz。乍一看这个名字&#xff0c;可能有点摸不着头脑&#xff0c;但如果你对机械键盘、客制化输入设备或者桌面自动化感兴趣&#xff0c;那这个项目绝对值得你花时间…...