Linux环境下SVN服务器的搭建与公网访问:使用cpolar端口映射的实现方法

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

前言


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


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


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


1. Ubuntu安装SVN服务

命令行输入安装命令:

sudo apt install subversion


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

svnserve --version


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

cd /opt
sudo mkdir svn
cd svn
sudo mkdir repository


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

sudo svnadmin create /opt/svn/repository




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


conf文件夹下是存放的配置文件,包括SVN用户名的权限、密码这些;

db里面的包含我们上传到SVN服务器上面的文档、代码等数据的不同版本。

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



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

sudo chmod -R 777 db



2. 修改配置文件


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


2.1 修改svnserve.conf文件


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

sudo vim svnserve.conf


按i键进入编辑

解开四个参数的#号注释



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


2.2 修改passwd文件


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

sudo vim passwd


按i进行编辑


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



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


2.3 修改authz文件


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

sudo vim authz


按i进行编辑

添加如下信息



然后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

向系统添加服务

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

点击创建



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



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即连接成功


相关文章
|
6月前
|
Ubuntu 物联网 Linux
从零安装一个Linux操作系统几种方法,以Ubuntu18.04为例
一切就绪后,我们就可以安装操作系统了。当系统通过优盘引导起来之后,我们就可以看到跟虚拟机中一样的安装向导了。之后,大家按照虚拟机中的顺序安装即可。 好了,今天主要介绍了Ubuntu Server版操作系统的安装过程,关于如何使用该操作系统,及操作系统更深层的原理,还请关注本号及相关圈子。
|
5月前
|
存储 数据挖掘 Linux
服务器数据恢复—重装系统导致OceanStor存储上的分区无法访问的数据恢复案例
服务器存储数据恢复环境: 华为OceanStor某型号存储+扩展盘柜,存储中的硬盘组建了raid5磁盘阵列,上层分配了1个lun。 linux操作系统,划分了两个分区,分区一通过lvm扩容,分区二为xfs文件系统。 服务器存储故障: 工作人员重装系统操作失误导致磁盘分区变化,分区二无法访问,数据丢失。
|
6月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1927 10
|
6月前
|
Ubuntu Linux 图形学
推广与体验Ubuntu Linux的便捷方法
如果你的朋友或家人对尝试Linux感兴趣,但希望在安装之前先体验一下,你可以分享以下链接给他们:Ubuntu在线导览。通过这个链接,他们可以在任何地方轻松体验Ubuntu,无需安装即可深入了解这个流行的操作系统。
|
6月前
|
XML 缓存 Linux
在Linux环境下解决Visual Studio Code字体显示异常和字体替换方法。
解决Linux下VS Code字体显示异常,需要对Linux字体渲染机制有所理解,并对VS Code的配置选项进行合理设置。替换字体时则要通过系统字体配置或VS Code设置来完成。通过上述方法,可以有效地解决字体显示问题,从而提升代码编辑的视觉体验。
946 0
|
7月前
|
网络协议 Ubuntu Linux
Wireguard in Linux的安装方法
本文介绍了如何在Ubuntu和Rocky Linux中安装配置WireGuard,并探讨了配置过程中可能出现的DNS泄露问题及解决方法,包括通过nmtui设置DNS及调整DNS优先级参数。
|
7月前
|
SQL Apache Windows
Windows服务器80端口被占用的全面解决方案
在服务管理器中启动apache2服务,即可正常使用80端口。若系统中还安装了其他微软产品如sql等,也可尝试停止其服务进行测试,但请注意,SQL通常不会使用80端口,因此一般不会受到影响。以上就是关于80端口被system占用的详细解决方法,希望对你有所帮助。
|
5月前
|
网络协议
端口最多只有65535个,为什么服务器能承受百万并发
服务器通过四元组(源IP、源端口、目标IP、目标端口)识别不同TCP连接,每条连接对应独立socket。数据包携带四元组信息,服务端据此查找对应socket进行通信。只要四元组任一元素不同,即视为新连接,可创建独立socket。资源充足时,单进程可支持百万级并发连接,socket与端口非一一对应。
355 10
端口最多只有65535个,为什么服务器能承受百万并发
|
10月前
|
网络协议 安全 应用服务中间件
云服务器怎么开启被关闭的端口?手把手教你开启端口
在使用云服务器时,若发现某些服务无法访问,可能是端口被关闭。本文介绍了端口关闭的原因、检查方法及开启步骤。原因包括初始设置限制、防火墙规则和外部网络策略;可通过netstat或ss命令检查端口状态,用ufw、iptables或firewalld调整防火墙规则。最后提供了解决常见问题的建议,确保端口正常开放并可供外网访问。
1858 9