简单实现远程访问Linux SVN服务

news2024/12/30 1:34:38

文章目录

  • 前言
  • 1. Ubuntu安装SVN服务
  • 2. 修改配置文件
    • 2.1 修改svnserve.conf文件
    • 2.2 修改passwd文件
    • 2.3 修改authz文件
  • 3. 启动svn服务
  • 4. 内网穿透
    • 4.1 安装cpolar内网穿透
    • 4.2 创建隧道映射本地端口
  • 5. 测试公网访问
  • 6. 配置固定公网TCP端口地址
    • 6.1 保留一个固定的公网TCP端口地址
    • 6.2 配置固定公网TCP端口地址
  • 7. 使用固定TCP端口地址远程SVN服务

转载自cpolar内网穿透的文章:Linux搭建SVN服务器,并内网穿透实现公网远程访问

前言

由于文档资料越来越多,将所有资料都存放在自己的电脑上容易混淆,并且也不利于分享。这种情况下,考虑将资料上传SVN统一管理,这样一来其他人也能很方便的查略各种资料。

当SVN安装在局域网内的话,想要远程访问资料库或者代码将会受到限制,为了能从公共网络访问内网SVN资料库,cpolar能很好的解决这一需求,cpolar是一个能把内网服务暴露至公网进行访问的工具。

SVN分为服务端和客户端,服务端主要是做数据资料存储,客户端主要是图形化工具连接服务端获取服务端数据资料,下面介绍在ubuntu系统安装服务端,在通过客户端远程访问。

1. Ubuntu安装SVN服务

命令行输入安装命令:

sudo apt install subversion

20230131111701

查看svn版本,出现版本信息表示安装成功:

svnserve --version

20230131111702

创建版本库,执行如下系列命令

cd /opt
sudo mkdir svn
cd svn
sudo mkdir repository

创建好后输入以下命令创建仓库

sudo svnadmin create /opt/svn/repository

20230131111703

创建成功后我们repository目录下会发现一系列文件,其中:

  • conf文件夹下是存放的配置文件,包括SVN用户名的权限、密码这些;
  • db里面的包含我们上传到SVN服务器上面的文档、代码等数据的不同版本。

这里需要注意的是要对db文件夹释放权限,否则客户端可能无法连接SVN服务器。

20230131111704

输入以下命令,对db文件夹释放权限,释放成功后db文件夹会变成绿色

sudo chmod -R 777 db

20230131111705

2. 修改配置文件

首先修改repository文件下的conf这个文件夹里面的文件

2.1 修改svnserve.conf文件

这个文件里面主要设置我们的SVN访问方式.输入编辑命令:

sudo vim svnserve.conf

i键进入编辑
解开四个参数的#号注释

202301311117063

然后按Esc键退出编辑,输入:wq保存退出

2.2 修改passwd文件

这个文件主要是添加用户名和密码,输入命令进入编辑:

sudo vim passwd

i进行编辑

添加以下信息,账号密码可自行定义!

20230131111707

添加完成Esc键退出,输入:wq保存退出.

2.3 修改authz文件

这个文件主要是对登录用户的权限管理,输入以下命令进入编辑:

sudo vim authz

i进行编辑
添加如下信息

20230131111708

然后Esc键退出编辑,输入:wq保存退出

3. 启动svn服务

输入以下命令启动svn

sudo svnserve -d -r /opt/svn/

4. 内网穿透

上面我们在本地Ubuntu虚拟机安装了svn服务端,但目前只能在局域网络下访问,如离开了局域网将无法连接svn。不过我们可以通过cpolar来实现公网访问,突破局域网的限制,不需要公网IP,不需要设置路由器。

cpolar官网:https://www.cpolar.com/

4.1 安装cpolar内网穿透

  • 支持一键脚本安装命令
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
  • token认证

登录cpolar官网后台,点击左侧的验证,查看自己的认证token,之后将token贴在命令行里:

cpolar authtoken xxxxxxx

20230206171248

  • 向系统添加服务
sudo systemctl enable cpolar
  • 启动cpolar服务
sudo systemctl start cpolar

4.2 创建隧道映射本地端口

成功启动cpolar服务后,我们在浏览器上访问本地9200端口【http://127.0.0.1:9200 】,登录cpolar web UI管理界面。

登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个tcp协议的隧道指向本地3690端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:3690
  • 域名类型:免费选择随机域名
  • 地区:选择China VIP

点击创建

20230131111709

隧道创建成功后,点击左侧的状态——在线隧道列表,可以看到,刚刚创建的隧道已经有生成了相应的公网地址,将其复制下来

20230131111710

5. 测试公网访问

官方网站下载svn客户端:https://tortoisesvn.net/downloads.html

20230131111711

SVN安装完在桌面鼠标右键,点击svncheckout,输入我们复制的cpolar公网地址,然后点击ok

20230131111712

输入我们前面创建的账号密码

20230131111713

接着右键,这时候出现svn update,点击,没有出现error即连接成功

20230131111714

6. 配置固定公网TCP端口地址

由于以上使用cpolar所创建的隧道使用的是随机公网地址,该地址为随机临时地址,24小时内会发生变化,不利于长期远程访问。

为了更好的连接,我们可以为其配置二级子域名,该地址为固定地址,不会随机变化

需要注意,配置固定TCP端口地址需要将cpolar升级到专业版套餐或以上。【cpolar支持21天退款保证】

6.1 保留一个固定的公网TCP端口地址

登录cpolar官网,点击左侧的预留,选择保留的TCP地址,我们先来为远程SVN保留一个固定端口地址。

  • 地区:选择China VIP
  • 描述:即备注,可自定义填写

点击保留

20230131111715

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来

20230131111716

6.2 配置固定公网TCP端口地址

在浏览器上访问9200端口,http://127.0.0.1:9200/,登录cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到svn隧道,点击右侧的编辑

20230131111717

修改隧道信息,将保留成功的固定tcp地址配置到隧道中

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写保留成功的地址

点击更新

20230131111718

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,找到我的世界隧道,可以看到公网地址已经更新成为了固定tcp地址。

20230131111719

7. 使用固定TCP端口地址远程SVN服务

右键打开relocate

20230131111720

修改连接地址,改为固定tcp的地址,修改完点击OK

20230131111721

接着右键svn update,点击,没有出现error即连接成功

20230131111722

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

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

相关文章

以太网、工业以太网和Profinet之间的区别

总的来说,以太网是一种局域网规范,工业以太网是应用于工业控制领域的以太网技术,Profinet是一种在工业以太网上运行的实时技术规范。 下面,我们来详细说说这三者的区别。 1.以太网 以太网是当今现有局域网采用的最通用的通信协议…

数据可视化-CSS3

CSS3 数据可视化 数据可视化是将数据转换为图形或图表的过程,以便更好地理解和分析数据。它是数据分析和数据科学中的重要组成部分,可以帮助人们更好地理解数据中的模式和趋势。 更好地理解数据:通过可视化数据,人们可以更好地…

告别腾讯企业邮箱:探寻多种可替代方案

腾讯企业邮箱凭借其直观的界面、qq和微信带来的大量基础用户以及作为常规腾讯企业邮箱帐户附加的各种免费生产力工具,在企业邮箱市场占据主导地位。但是,人们对腾讯如何使用您的电子邮件存在严重担忧,而且并不是每个人都喜欢腾讯企业邮箱界面…

ngrok实现内网穿透,vue项目invalid host header报错

目的:使自己的本地的vue项目可以在外网上访问。 本地访问:http://localhost:8080/ 外网访问:通过ngrok生成一个链接,这个链接在其他网络环境下都可以访问。 windows下安装 1.注册并下载ngrok,注册的时候需要验证码&am…

动手学习卷积神经网络(CNN)(一)---卷积运算

卷积神经网络可以直接从原始数据中学习其特征表示并完成最终任务,可以说卷积网络是“端”到“端”的思想,在整个学习流程中并进行认为的子问题划分,而是交给深度学习模型直接学得从原始输入到期望输出得映射。 卷积神经网络是包含卷积层&…

一个BLIP2加两个ChatGPT就能造一个机器人?KAUST提出具身智能框架LLM-Brain

最近,来自阿卜杜拉国王科技大学(KAUST)的研究团队开发了一种基于现有LLMs的机器人交互框架LLM-Brain,LLM-Brain可以直接将LLM作为机器人的大脑,并以此来构建一个以自我为中心的记忆和控制框架。 论文链接: …

【笔试强训选择题】Day18.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录…

红队工具合集

一个 Red Team 攻击的生命周期,整个生命周期包括: 信息收集、攻击尝试获得权限、持久性控制、权限提升、网络信息收集、横向移动、数据分析(在这个基础上再做持久化控制)、在所有攻击结束之后清理并退出战场。 相资 信息搜集 http…

自信裸辞:一晃 ,失业都3个月了.....

最近,找了很多软测行业的朋友聊天、吃饭 ,了解了一些很意外的现状 。 我一直觉得他们技术非常不错,也走的测开/管理的路径;二三月份裸辞的,然后一直在找工作,现在还没找到工作 。 经过我的分析&#xff0…

OpenVINO 2022.3实战三:POT API实现图像分类模型 INT8 量化

OpenVINO 2022.3实战三:POT API实现图像分类模型 INT8 量化 1 准备需要量化的模型 这里使用我其他项目里面,使用 hymenoptera 数据集训练好的 MobileNetV2 模型,加载pytorch模型,并转换为onnx。 import os from pathlib import…

鸿蒙Hi3861学习十八-DevEco Device Tool环境搭建

一、简介 在之前的文章中,我们是通过在windows下烧录,在ubuntu下编译的方式进行开发。今天我们同样是采用windowsubuntu混合环境进行开发。为什么要采用这种方式呢?因为就目前而言,大部分的开发板还不支持在Windows环境下进行编译…

典型的高可用设计(二):MySQL

一、高可用模式 MySQL数据库提供了数据库建的复制能力,做到了多个数据库同时拥有同一个数据副本,保证了数据的安全性,一台数据库服务器出现问题,其他数据库可以做到数据不丢失。MySQL的服务高可用设计也是以数据库复制能力为基础&…

云计算专业怎么样,大学应届生学的话难不难?

云计算专业学起来挺难的,一般人建议不要轻易尝试!!! 虽然IT行业一直以来发展前景、技术更新、新领域的开发或者新概念的提出等各方面都还不错,云计算也是当下非常火的一个就业方向,很多人也非常想进入云计…

IT系统方案大纲模版,以智慧工地系统为例

# 咖米智慧工地解决方案 ## 第1章 智慧工地系统概述 ### 1.1应用背景 ### 1.2需求分析 ### 1.3总体目标 ## 第2章 系统总体设计 ### 2.1设计理念 ### 2.2设计依据 ### 2.3设计架构 ### 2.4系统描述 ### 2.5系统特点 ## 第3章 详细设计 ### 3.1工地远程监控子系统 #### 3.1.1需求…

一分钟了解乐观锁、悲观锁、共享锁、排它锁、行锁、表锁以及使用场景

大家好,我是冰点,今天给大家带来,关于MySQL中的锁的使用。 我首先提个问题,大家知道什么是 乐观锁、悲观锁、共享锁,、排它锁、行锁、表锁,以及每种锁的使用场景吗? !! 背景:最近在各…

Unity 使用 VSCode 作为默认编辑器,解决没有代码提示,智能补全功能

文章目录 删除现有编辑器配置选择 VSCode 作为代码编辑器代码补全和智能提示 删除现有编辑器配置 首先打开你的项目文件夹,需要把这几个文件删掉,稍后重新生成~ 选择 VSCode 作为代码编辑器 打开 Edit - Preference: 选择 External Script…

【bsauce读论文】2023-SP-内核Use-After-Cleanup漏洞挖掘与利用

本文参考G.O.S.S.I.P 阅读推荐 2023-01-06 UACatcher做一些补充。 1. UAC漏洞介绍 UAC漏洞介绍:Use-After-Cleanup (UAC)漏洞类似UAF,本文主要检测Linux内核中UAC漏洞。UAC基本原理参见图Fig-1。首先,UAC漏洞和系统中…

众多行业适用的这款Lighthouse Apex Z便携粒子计数器有什么优势

Lighthouse Apex Z粒子计数器围绕易用性和可靠性进行构建。是建立在Lighthouse洁净室行业 40 多年的基于问题的学习基础上的解决方案。 采样设置 ApexZ易于使用的样品设置,可以匹配当前的sop,减少丢失位置或采样错误参数的风险。 用户管理 为了提高效…

ES6:var 、const、let的使用和区别

前言 本文主要介绍了ES6中var、const、let的使用和区别 基本介绍 let let声明变量 const const :声明常量const声明的常量可以修改,但不能重新赋值 如:以下代码是正确的: //引用数据类型 const info {name:Candy }; info.nameJune;而下面的代码是…

GPT-4国内有免费平替吗?

免费/平替永远是最贵的 就如同我们生活中买口红一样,总想找到平替,但永远比不上看中的那只! 但在寻找平替过程中 花出去的时间、金钱成本都是翻倍的。 那么GPT-4呢? GPT-4优于GPT-3.5闪光点,想必大家都十分清楚 不…