Windows系统搭建VisualSVN并结合内网穿透实现远程访问本地服务

文章目录

    • 前言
    • 1. VisualSVN安装与配置
    • 2. VisualSVN Server管理界面配置
    • 3. 安装cpolar内网穿透
      • 3.1 注册账号
      • 3.2 下载cpolar客户端
      • 3.3 登录cpolar web ui管理界面
      • 3.4 创建公网地址
    • 4. 固定公网地址访问

前言

SVN 是 subversion 的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,使得多个人可以共同开发同一个项目,实现共享资源,实现最终集中式的管理。Subversion作为一个通用的系统,可用来管理任何类型的文件,其中包括程序源码。

SVN与CVS一样,也是一个跨平台的软件,支持大多数常见的操作系统。本篇教程主要介绍SVN服务器在Windows平台上的安装和配置过程。与如何结合cpolar内网穿透工具,实现随时随地公网远程访问内网本地服务。

1. VisualSVN安装与配置

首先,到SVN的官方网站:https://www.visualsvn.com/downloads/ 下载服务端安装程序:

image-20230926143820244

下载好安装程序后,双击进入安装配置界面,点击Next进行下一步:

1695710420599

在我接受勾选框打勾,点击Next进入下一步:

1695710606246

默认当前选择,点击Next进入下一步:

1695710653508

本界面中有四个选项,除了端口外的其他三个选项都可以点击Browse进行路径修改:

Location:软件的安装位置,注意不要出现中文、空格或特殊字符。

Repositories:默认版本仓库位置,自己选择。

Server Port:端口号,443 或者 8443 都可以。

Backups:备份文件保存路径。

1695711353780

我这里选择了默认路径与端口,点击Next进入下一步:

1695711605782

不打钩,点击Next进入下一步:

1695711680382

默认第一个选项,点击Next进入下一步:

1695711743763

点击Install进行安装:

1695711892115

安装进度条走完后,点击Finish完成安装。

2. VisualSVN Server管理界面配置

点击Finsih后,会弹出SVN Server的管理界面,点击上方导航中的操作按钮,点击选项中的Properties

1695712428391

在打开的窗口中:

首先点击左侧的第三项:Network

然后点击右侧的Server name下方的选择框,输入服务器名称,这里我选择填写了localhost,也可以填写本地局域网的ip

服务端口默认选择:80

然后把下方使用安全连接的勾选取消,点击下方OK。

image-20230926151747661

然后点击左侧SVN服务下方的Users,右键选择新建user

1695713019078

在弹出的窗口中设置用户名和密码,并确认密码,点击OK

这里的用户名我选择了admin,密码选择了123456,大家可以自行设置

1695713289959

因为设置简单密码会显示下图弹窗,提示密码不符合长度或复杂性要求,本教程仅为演示,所以这里我选择点击继续设置此密码选项。

1695713511696

创建好新用户后,我们点击左侧SVN服务下方的Repositories,右键选择新建Repository(项目),点击Next进入下一步:

1695713876785

填写项目名称,这里我填写了共享文件,大家可以自定义填写,点击Next进入下一步:

1695713970790

默认选择即可,点击Next进入下一步:

1695714105340

默认选择即可,点击Next进入下一步:

1695714147950

打钩选项默认即可,点击Create开始创建:

1695714217070

点击Finish完成项目创建

1695714315998

此时,在浏览器输入localhost,在弹窗中输入刚才在SVN服务时配置的用户名admin和密码123456,点击登录

1695715162300

登录后,即可在本地局域网看到刚才在SVN创建的项目:共享文件

1695715327999

3. 安装cpolar内网穿透

此时VisualSVN Server已经成功登录并运行,不过只能在本地访问,如果打算在公网环境随时随时访问内网的VisualSVN服务,我们需要安装cpolar内网穿透工具来实现。

3.1 注册账号

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

点击右上角的免费注册,使用邮箱免费注册一个cpolar账号并登录

20221117173301

3.2 下载cpolar客户端

登录成功后,点击下载cpolar到本地并安装(一路默认安装即可)本教程选择下载Windows版本。

20221117173307

3.3 登录cpolar web ui管理界面

在浏览器上访问127.0.0.1:9200,使用所注册的cpolar邮箱账号登录cpolar web ui管理界面(默认为本地9200端口)

20221117173316

3.4 创建公网地址

登录成功进入主界面后,我们点击左侧仪表盘的隧道管理——隧道列表,再点击创建隧道.

1695718676197

  • 隧道名称:可自定义命名,不能与已有的隧道名重复,这里我填写了svn

  • 协议:选择http

  • 本地地址:80

  • 域名类型:免费套餐选择随机域名

  • 地区:China Top

点击创建

1695719361633

此时,点击左侧状态中的在线隧道列表,可以看到刚才创建的svn隧道,生成了两个公网地址,有两种访问方式,分别是http 和https,随意复制一个地址,在公网电脑浏览器打开即可,如下图所示即代表成功实现公网访问本地内网的VisualSVN Server。

image-20230926171550179

4. 固定公网地址访问

需要注意的是,本次教程中使用的是免费cpolar所生成的公网随机临时地址,该地址24小时内会发生变化,对于需要长期在外网环境使用VisualSVN Server的用户来讲,配置一个固定地址就很有必要。

因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称。

1695721287104

以本次教程为例,地区选择China VIP,二级域名填写mysvn,描述填写svntest,点击保留

1695721584218

保留成功后复制保留的二级子域名地址,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道:mysvn,点击右侧的编辑

1695722097556

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名mysvn
  • 地区:选择China VIP

点击更新

1695722164012

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称。

1695722230101

最后,我们使用固定的公网地址进行连接访问,复制二级子域名:http://mysvn.vip.cpolar.cn 到另一台公网电脑浏览器打开,无报错和连接异常,输入用户名密码后,可以看到连接成功,这样一个固定不变的地址访问就设置好了,您可以随时随地使用该域名来公网访问内网VisualSVN Server。

image-20230926175819144

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

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

相关文章

js实现转义、反转义

两种思路,一种是列出需要用到的转义项,通过正则来转化;另一种通过转化为html语言,通过浏览器帮助我们翻译,然后获取innerText var HtmlUtil {/*1.用浏览器内部转换器实现html编码(转义)*/html…

Spring 事务常见错误(上)

通过上一章的学习,我们了解了 Spring Data 操作数据库的一些常见问题。这一章我们聊一聊数据库操作中的一个非常重要的话题——事务管理。 Spring 事务管理包含两种配置方式,第一种是使用 XML 进行模糊匹配,绑定事务管理;第二种是…

洗澡、泡脚真的能养生? 皮肤科医生来科普

现如今人们越来越注重健康与养生,除了枸杞、生姜等食补外,各种保健方法和保健产品也层出不穷,还有泡脚、洗凉水澡等养生延缓衰老的方式也广泛流行,那么泡脚与洗凉水澡真的有用吗?西安国际医学中心医院皮肤科主任高鹏程特意进行了…

Timeplus-proton流处理器调研

概念 Timeplus是一个流处理器。它提供强大的端到端功能,利用开源流引擎Proton来帮助数据团队快速直观地处理流数据和历史数据,可供各种规模和行业的组织使用。它使数据工程师和平台工程师能够使用 SQL 释放流数据价值。 Timeplus 控制台可以轻松连接到不…

K8S相关小技巧《一》

在实际使用Kubernetes的时候有一些常用的小技巧,在此分享给大家: 获取用于拉取docker的密钥的原本值,k8s docker registry pull secret decode: kubectl get secret/registry-pull-secret -n kube-iapply-qa -o json | jq .data…

女性三八节礼物攻略:她无法抗拒的五大礼物

随着春风的温柔拂面,我们即将迎来一年一度的三八国际妇女节。这个特别的日子,不仅是对女性贡献的认可和庆祝,也是向我们生命中的女性表达感激和爱意的绝佳时机。在这个充满温馨和敬意的时刻,我们常常在思考,如何用一份…

信息学奥赛一本通1310:【例2.2】车厢重组

1310:【例2.2】车厢重组 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 48051 通过数: 28919 【题目描述】 在一个旧式的火车站旁边有一座桥,其桥面可以绕河中心的桥墩水平旋转。一个车站的职工发现桥的长度最多能容纳两节车厢&#xff0c…

elementUI el-table中的对齐问题

用elementUI时&#xff0c;遇到了一个无法对齐的问题&#xff1a;代码如下&#xff1a; <el-table :data"form.dataList" <el-table-column label"验收结论" prop"checkResult" width"200"> <template slot-sco…

0005TS函数类型详解

TypeScript 中的函数类型用于为函数定义参数类型和返回值类型。这提供了一个清晰的契约&#xff0c;指明函数应该如何被调用和期望返回什么类型的结果。以下是 TypeScript 中函数类型的一些基本用法和概念&#xff1a; 函数声明 在 TypeScript 中&#xff0c;你可以为函数的参…

揭秘!Excel如何成为职场中的价值创造利器

文章目录 一、Excel在生产力提升中的作用二、Excel在创造价值方面的应用案例三、Excel实用技巧分享四、Excel与其他工具的协同应用五、Excel学习的建议与展望《Excel函数与公式应用大全》亮点内容简介作者简介目录 在当今信息爆炸的时代&#xff0c;数据处理和分析能力已成为职…

AI智能分析网关V4智慧商场方案,打造智慧化商业管理生态

AI智能视频检测技术在商场楼宇管理中的应用越来越广泛。通过实时监控、自动识别异常事件和智能预警&#xff0c;这项技术为商场管理提供了更高效、更安全的保障。今天我们以TSINGSEE青犀视频AI智能分析网关为例&#xff0c;给大家介绍一下AI视频智能分析技术如何应用在商场楼宇…

抢单情况下的均衡分配机制

背景&#xff1a; 1、工单有多种类型。 2、客户提交工单。 3、不同客服受理不同类型工单&#xff0c;受理工单类型存在交叉。 4、按照类型维度实现均衡分配。 方案&#xff1a; 1、为每种类型创建一个工单池&#xff0c;使用队列&#xff0c;左进右出&#xff1b;客户提交…

Android AIDL RemoteCallbackLIst

RemoteCallbackLIst 参考地址 RemoteCallbackList 是 Android SDK 中的一个类&#xff0c;用于帮助管理进程之间的回调。它专为进程间通信 (IPC) 场景而设计&#xff0c;在该场景中&#xff0c;应用程序的不同部分甚至不同的应用程序可能在不同的进程中运行。 以下是其关键功能…

将所有字母转化为该字母后的第三个字母,即A->D,B->E

//编写加密程序&#xff0c;规则&#xff1a;将所有字母转化为该字母后的第三个字母&#xff0c;即A->D,B->E,C->F,…Y->B,Z->C //小写字母同上&#xff0c;其他字符不做转化。输入&#xff1a;I love 007 输出&#xff1a;L oryh 007 代码&#xff1a; #inc…

GVA快速使用

1. clone 代码&#xff0c; 使用goland打开Server目录&#xff0c; 使用vsc打开前端web目录&#xff0c;运行后端&#xff0c;前端 gin-vue-admin后台管理系统 - 知乎 (zhihu.com) 2.了解端口配置 参考&#xff0c; 基于Go的后台管理框架Gin-vue-admin_go vue admin-CSDN博客…

配置MMDetection的solov2攻略整理

目录 一、MMDetection 特性 常见用法 二、ubuntu20.04配置solov2 三、Windows11配置solov2 一、MMDetection MMDetection是一个用于目标检测的开源框架&#xff0c;由OpenMMLab开发和维护。它提供了丰富的预训练模型和模块&#xff0c;可以用于各种目标检测任务&#xff…

kamacoder 11.共同祖先的C语言奇妙解法

11. 共同祖先 时间限制&#xff1a;1.000S 空间限制&#xff1a;32MB 题目描述 小明发现和小宇有共同祖先&#xff01;现在小明想知道小宇是他的长辈&#xff0c;晚辈&#xff0c;还是兄弟。 输入描述 输入包含多组测试数据。每组首先输入一个整数N&#xff08;N<10&a…

redis的基本数据类型(一)

redis的基本数据类型 1、redis1.1、数据库分类1.2、NoSQL分类1.3、redis简介1.4、redis应用1.5、如何学习redis 2、redis的安装2.1、Windows安装2.2.1、客户端redis管理工具 2.2、Linux安装&#x1f525;2.2.1、redis核心文件2.2.2、启动方式2.2.3、redis桌面客户端1、redis命令…

定义类的成员比较函数,并在类的成员函数里面调用

定义一个自定义排序规则的成员函数&#xff0c;然后在类的成员函数中调用 文章目录 1.声明为static函数2.使用function3.使用匿名函数 1.声明为static函数 #include <iostream> #include <algorithm> #include <list> class A { public:A(){std::list<i…

Python进阶学习:Pickle模块--dump()和load()的用法

Python进阶学习&#xff1a;Pickle模块–dump()和load()的用法 &#x1f308; 个人主页&#xff1a;高斯小哥 &#x1f525; 高质量专栏&#xff1a;Matplotlib之旅&#xff1a;零基础精通数据可视化、Python基础【高质量合集】、PyTorch零基础入门教程&#x1f448; 希望得到您…