如何在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

转载自cpolar极点云文章:Windows系统搭建VisualSVN服务结合内网穿透实现公网访问

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

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

相关文章

【WebService】C#搭建的标准WebService接口,在使ESB模版作为参数无法获取参数数据

一、问题说明 1.1 问题描述 使用C# 搭建WebService接口,并按照ESB平台人员的要求,将命名空间改为"http://esb.webservice",使用PostmanESB平台人员提供的入参示例进行测试时,callBussiness接口参数message始终为null。 以下是ES…

【LeetCode】——链式二叉树经典OJ题详解

主页点击直达:个人主页 我的小仓库:代码仓库 C语言偷着笑:C语言专栏 数据结构挨打小记:初阶数据结构专栏 Linux被操作记:Linux专栏 LeetCode刷题掉发记:LeetCode刷题 算法头疼记:算法专栏…

前端小案例-图片存放在远端服务器

前端小案例-图片存放在远端服务器 项目背景: 一个智能产业园的小程序由于可以控制很多种设备,可能有灯、空调、窗帘等智能设备。 现在面临以下问题: 需要存放很多设备的图标。设备的图标可能会进行修改。 为了解决上面的问题&#xff0c…

表达式转换

算术表达式有前缀表示法、中缀表示法和后缀表示法等形式。日常使用的算术表达式是采用中缀表示法,即二元运算符位于两个运算数中间。请设计程序将中缀表达式转换为后缀表达式。 输入格式: 输入在一行中给出不含空格的中缀表达式,可包含、-、*、/以及左右…

达梦错误码信息-PRO*C 错误码汇编

达梦错误码信息-PRO*C 错误码汇编 环境介绍 环境介绍 数据库版本环境:DM8.1-3-12-2023.04.17-187846-20040-ENT运行预编译命令行工具 dpc_new.exe 时,可能会就预编译过程中的一些错误进行报 错提示。错误码码值域如下:1)dpc 警告错误码值域为…

【C++】笔试训练(四)

目录 一、选择题二、编程题1、计算糖果2、进制转换 一、选择题 1、有以下程序&#xff0c;程序运行后的输出结果是&#xff08;&#xff09; #include<iostream> #include<cstdio> using namespace std; int main() {int m 0123, n 123;printf("%o %o\n&…

【数据结构】栈和队列-- OJ

目录 一 用队列实现栈 二 用栈实现队列 三 设计循环队列 四 有效的括号 一 用队列实现栈 225. 用队列实现栈 - 力扣&#xff08;LeetCode&#xff09; typedef int QDataType; typedef struct QueueNode {struct QueueNode* next;QDataType data; }QNode;typedef struct …

IntelliJ IDEA失焦自动重启服务的解决方法

IDEA 热部署特性 热部署&#xff0c;即应用正属于运行状态时&#xff0c;我们对应用源码进行了修改更新&#xff0c;在不重新启动应用的情况下&#xff0c;可以能够自动的把更新的内容重新进行编译并部署到服务器上&#xff0c;使修改立即生效。 现象 在使用 IntelliJ IDEA运…

2023品牌新媒体矩阵营销洞察报告:流量内卷下,如何寻找增长新引擎?

近年来&#xff0c;随着移动互联网的发展渗透&#xff0c;短视频、直播的兴起&#xff0c;新消费/新零售、兴趣电商/社交电商等的驱动下&#xff0c;布局线上渠道已成为绝大多数品牌的必然选择。 2022年&#xff0c;越来越多的品牌加入到自运营、自播的行列中&#xff0c;并且从…

linux(全志F1C100S/F1C200S)系列10:参考

目录 一、1.基于F1C200s的掌上电脑项目-Kashine2.小白自制Linux开发板系列-墨云 二、1.2. 一、 1.基于F1C200s的掌上电脑项目-Kashine https://blog.csdn.net/qq_41709234/category_12158774.html 2.小白自制Linux开发板系列-墨云 https://www.cnblogs.com/twzy/ 二、 1.…

golang gin——controller 模型绑定与参数校验

controller 模型绑定与参数校验 gin框架提供了多种方法可以将请求体的内容绑定到对应struct上&#xff0c;并且提供了一些预置的参数校验 绑定方法 根据数据源和类型的不同&#xff0c;gin提供了不同的绑定方法 Bind, shouldBind: 从form表单中去绑定对象BindJSON, shouldB…

数组字符串方法

数组方法 concat()copyWithin()entries()every()fill()filter()find()findIndex()findLastIndex()flat()flatMap()forEach()from()includes()indexOf()isArray()join()keys()lastIndexOf()map()of()pop()push()reduce()reduceRight()reverse()shift()slice()some()sort()splic…

【ONE·C++ || 异常】

总言 主要介绍异常。 文章目录 总言1、C异常1.1、C语言传统的处理错误的方式1.2、异常概念1.3、异常的基本用法1.3.1、异常的抛出和捕获1.3.1.1、异常的抛出和匹配原则1.3.1.2、 在函数调用链中异常栈展开匹配原则 1.3.2、异常的重新抛出1.3.2.1、演示一1.3.2.2、演示二 1.3.3…

【20】c++设计模式——>组合模式

组合模式定义 C组合模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式&#xff0c;他允许将对象组合成树形结构来表示“部分-整体”的层次结构&#xff1b;在组合模式中有两种基本类型的对象&#xff1a;叶子对象和组合对象&#xff0c;叶子对象时没有子对象…

C++11 Qt QFutureWatcher lambda

目录 Lambda 介绍 【QT】Qt之QFutureWatcher 简述 传参&#xff1a; 还可以使用 QProgressDialog 作为阻堵 函数&#xff0c;变成同步&#xff1b; 完成后&#xff0c;关闭&#xff1b; MyQProgressDialog 效果&#xff1a; Lambda 介绍 Lambda 函数也叫匿名函数&…

VueRouter与expres/koa中间件的关联

ueRouter: runQueue 路由守卫都是有三个参数to,from,next。其中next就是下方的fn执行时候传入的第二个参数(回调函数)&#xff0c;只有该回调执行后才会挨个遍历queue内的守卫。 中间件的作用 隔离基础设施与业务逻辑之间的细节。详细的内容位于《深入浅出Node.js》P210 另外一…

mysql面试题30:什么是数据库连接池、应用程序和数据库建立连接的过程、为什么需要数据库连接池、你知道哪些数据库连接池

该文章专注于面试,面试只要回答关键点即可,不需要对框架有非常深入的回答,如果你想应付面试,是足够了,抓住关键点 面试官:什么是数据库连接池? 数据库连接池是一种用于管理和复用数据库连接的技术。它是在应用程序和数据库之间建立一组数据库连接,并以池的形式存储起…

Excel 转为 PDF,PNG,HTML等文件

1.安装 Spire.XLS for Java,下载jar包 下载地址 2.引入方式一&#xff08;我这里这种方式一直无法引入&#xff0c;都是失败&#xff0c;所以用的方式二&#xff09; <repositories><repository><id>com.e-iceblue</id><name>e-iceblue</na…

正样本、负样本、ROC、AUC

正样本、负样本 正样本和负样本通常与二分类问题相关联 正样本&#xff1a; 与真值对应的目标类别来说该样本为正样本。 &#xff08;正样本是在二分类问题中我们要寻找的目标类别&#xff09; 负样本&#xff1a; 与真值不对应的其他所有目标类别来说该样本为负样本。&…

Oracle笔记-对ROWNUM的一次理解(简单分页)

此博文记录时间&#xff1a;2023-05-05&#xff0c;发到互联网上是2023-10-09 这个在分页里面用得比较多&#xff0c;在MySQL中&#xff0c;通常使用limit去操作&#xff0c;而去感觉比较简单&#xff0c;Oracle中无此关键字。 通过查阅资料后&#xff0c;要实现分页需要用到…