【SVN内网穿透】实现远程访问Linux SVN服务

文章目录

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

前言

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

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

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

1. Ubuntu安装SVN服务

命令行输入安装命令:

shell 复制代码
sudo apt install subversion

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

shell 复制代码
svnserve --version

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

shell 复制代码
cd /opt
sudo mkdir svn
cd svn
sudo mkdir repository

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

shell 复制代码
sudo svnadmin create /opt/svn/repository

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

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

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

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

shell 复制代码
sudo chmod -R 777 db

2. 修改配置文件

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

2.1 修改svnserve.conf文件

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

shell 复制代码
sudo vim svnserve.conf

i键进入编辑

解开四个参数的#号注释

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

2.2 修改passwd文件

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

shell 复制代码
sudo vim passwd

i进行编辑

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

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

2.3 修改authz文件

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

shell 复制代码
sudo vim authz

i进行编辑

添加如下信息

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

3. 启动svn服务

输入以下命令启动svn

shell 复制代码
sudo svnserve -d -r /opt/svn/

4. 内网穿透

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

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

4.1 安装cpolar内网穿透

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

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

shell 复制代码
cpolar authtoken xxxxxxx
  • 向系统添加服务
shell 复制代码
sudo systemctl enable cpolar
  • 启动cpolar服务
shell 复制代码
sudo systemctl start cpolar

4.2 创建隧道映射本地端口

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

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

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

点击创建

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

5. 测试公网访问

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

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

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

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

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

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

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

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

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

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

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

点击保留

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

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

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

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

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

点击更新

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

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

右键打开relocate

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

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

相关推荐
C++忠实粉丝35 分钟前
Linux环境基础开发工具使用(2)
linux·运维·服务器
康熙38bdc1 小时前
Linux 环境变量
linux·运维·服务器
存储服务专家StorageExpert1 小时前
DELL SC compellent存储的四种访问方式
运维·服务器·存储维护·emc存储
hakesashou2 小时前
python如何比较字符串
linux·开发语言·python
Ljubim.te2 小时前
Linux基于CentOS学习【进程状态】【进程优先级】【调度与切换】【进程挂起】【进程饥饿】
linux·学习·centos
cooldream20092 小时前
Linux性能调优技巧
linux
大G哥2 小时前
记一次K8S 环境应用nginx stable-alpine 解析内部域名失败排查思路
运维·nginx·云原生·容器·kubernetes
醉颜凉2 小时前
银河麒麟桌面操作系统修改默认Shell为Bash
运维·服务器·开发语言·bash·kylin·国产化·银河麒麟操作系统
QMCY_jason3 小时前
Ubuntu 安装RUST
linux·ubuntu·rust
慕雪华年3 小时前
【WSL】wsl中ubuntu无法通过useradd添加用户
linux·ubuntu·elasticsearch