Ubuntu搭建SVN服务 - 内网穿透实现公网远程访问

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

写在前面博主是一只经过实战开发历练后投身培训事业的“小山猪”昵称取自动画片《狮子王》中的“彭彭”总是以乐观、积极的心态对待周边的事物。本人的技术路线从Java全栈工程师一路奔向大数据开发、数据挖掘领域如今终有小成愿将昔日所获与大家交流一二希望对学习路上的你有所助益。同时博主也想通过此次尝试打造一个完善的技术图书馆任何与文章技术点有关的异常、错误、注意事项均会在末尾列出欢迎大家通过各种方式提供素材。

  • 对于文章中出现的任何错误请大家批评指出一定及时修改。
  • 有任何想要讨论和学习的问题可联系我zhuyc@vip.163.com。
  • 发布文章的风格因专栏而异均自成体系不足之处请大家指正。

Ubuntu搭建SVN服务 - 内网穿透实现公网远程访问

本文关键字Ubuntu、SVN、内网穿透、远程访问

文章目录


由于文档资料越来越多将所有资料都存放在自己的电脑上容易混淆并且也不利于分享。这种情况下可以考虑将资料上传SVN统一管理这样一来其他人也能很方便的查略各种资料。
当SVN安装在局域网内的话想要远程访问资料库或者代码将会受到限制为了能从公共网络访问内网SVN资料库 cpolar能很好的解决这一需求 cpolar是一个能把内网服务暴露至公网进行访问的工具。
SVN分为服务端和客户端服务端主要是做数据资料存储并为客户端访问提供支持客户端主要是可以通过图形化工具或命令连接服务端获取文件并进行版本管理本文将介绍在ubuntu系统安装服务端并在通过客户端远程访问的方法。

一、Ubuntu安装SVN服务

1. 服务安装

命令行输入安装命令:

sudo apt install subversion

20230131111701

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

svnserve --version

20230131111702

2. 仓库初始化

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

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

二、修改配置文件

1. 修改svnserve.conf文件

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

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

sudo vim svnserve.conf

i键进入编辑

解开四个参数的#号注释

202301311117063

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

2. 修改passwd文件

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

sudo vim passwd

按”i 进行编辑
添加以下信息,账号密码可自行定义!

20230131111707

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

3. 修改authz文件

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

sudo vim authz

i进行编辑添加如下信息

20230131111708

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

三、启动svn服务

输入以下命令启动svn

sudo svnserve -d -r /opt/svn/

四、内网穿透

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

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

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

2. 创建隧道映射本地端口

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

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

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

点击创建

20230131111709

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

20230131111710

五、测试公网访问

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

20230131111711

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

20230131111712

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

20230131111713

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

20230131111714

六、配置固定公网TCP端口地址

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

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

需要注意配置固定TCP端口地址需要将cpolar升级到专业版套餐或以上。

1. 保留固定的公网TCP端口地址

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

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

点击保留

20230131111715

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

20230131111716

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

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

20230131111717

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

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

点击更新

20230131111718

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

20230131111719

七、使用固定TCP端口地址远程SVN服务

右键打开relocate

20230131111720

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

20230131111721

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

20230131111722
扫描下方二维码加入CSDN官方粉丝微信群可以与我直接交流还有更多福利哦~
在这里插入图片描述

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: Ubuntu