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


相关文章
|
4月前
|
存储 Linux 开发工具
Linux环境下使用Buildroot配置软件包
使用Buildroot可以大大简化嵌入式Linux系统的开发和维护工作,但它需要对Linux系统和交叉编译有深入的理解。通过上述步骤,可以有效地配置和定制软件包,为特定的嵌入式应用构建高效、稳定的系统。
511 11
|
6月前
|
存储 监控 Linux
Linux环境锁定关键文件防止误删操作流程。
总结以上内容,在Linux环境下锁定重要文档避免误删涉及到多种技术手段与策略组合运作, 包括但不限于利用chatter指挥官固化文档状态至只读模式、运作ACL精准调整访问权利列表、编排自动化流程简
234 20
|
6月前
|
Linux
Linux环境下的UDEV机制及其与守护进程的关联
实际使用时管理员需要熟悉编写合适udev rules去满足特殊需求;同时也需要注意避免编写过度复杂导致无法预料结果rules.UDEVD虽然稳健但错误配置可能导致无法预料问题因此需谨慎处理相关配置工作.
228 16
|
6月前
|
存储 Linux
Linux环境下删除大文件后磁盘空间未释放问题诊断流程。
以上诊断流程涉及Linux底层机制与高级管理技能结合之处,并需要管理员根据实际环境灵活调整诊断策略与解决方案。
458 8
|
7月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
782 16
|
6月前
|
人工智能 缓存 监控
构建高效MCP客户端:应对多服务器环境的完整指南
本文深入探讨了在多服务器环境下构建高效、可靠的Model Context Protocol(MCP)客户端的关键技术与最佳实践。内容涵盖MCP基础架构、连接管理、请求路由、容错机制、会话管理、性能监控及安全认证等核心设计,提供了完整的实现类与部署配置示例,助力开发者构建高性能MCP客户端,提升AI模型与工具集成的效率与稳定性。
|
7月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
459 10
|
6月前
|
Ubuntu 安全 Linux
Ubuntu 24.10 发行版登场:Linux 6.11 内核、GNOME 47 桌面环境
Ubuntu 24.10 还带来了 GNOME 47,增强了性能和稳定性,并引入了新功能。此版本的 Ubuntu 还默认在采用 Nvidia 显卡的硬件上切换到 Wayland,并在支持的硬件上默认使用开源的 Nvidia 560 内核模块。 另外需要注意的是,Ubuntu 24.10 是稳定版本,但作为非 LTS 版本,仅支持 9 个月。