0

0

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库

看不見的法師

看不見的法師

发布时间:2025-07-22 09:10:01

|

728人浏览过

|

来源于php中文网

原创

文章目录

前言1. 在Ubuntu上安装SVN服务2. 配置文件的修改2.1 编辑svnserve.conf文件2.2 编辑passwd文件2.3 编辑authz文件3. 启动SVN服务4. 实现内网穿透4.1 安装cpolar内网穿透工具4.2 设置隧道以映射本地端口5. 测试通过公网访问6. 配置固定的公网TCP端口地址6.1 保留固定的公网TCP端口地址6.2 设置固定的公网TCP端口地址7. 使用固定TCP端口地址远程访问SVN服务前言随着文档资料的增多,将所有资料都存放在自己的电脑上容易引起混乱,也不利于分享。因此,考虑将资料上传到SVN进行统一管理,这样其他人也能方便地查阅各种资料。

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

SVN分为服务端和客户端,服务端主要用于数据资料的存储,客户端主要是图形化工具连接服务端获取数据资料。以下将介绍在Ubuntu系统上安装服务端,并通过客户端远程访问。

  1. 在Ubuntu上安装SVN服务通过命令行输入以下命令进行安装:
sudo apt install subversion

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111701查看SVN版本,以确认安装是否成功:

svnserve --version

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111702创建版本库,执行以下系列命令:

cd /optsudo mkdir svncd svnsudo mkdir repository

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

sudo svnadmin create /opt/svn/repository

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111703创建成功后,在repository目录下会发现一系列文件,其中:

conf文件夹下存放配置文件,包括SVN用户名、权限和密码;db文件夹内包含上传到SVN服务器上的文档、代码等数据的不同版本。注意需要对db文件夹设置权限,否则客户端可能无法连接SVN服务器。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111704输入以下命令,对db文件夹设置权限,设置成功后db文件夹会变成绿色:

sudo chmod -R 777 db

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库202301311117052. 配置文件的修改首先修改repository文件下的conf文件夹内的文件。

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

sudo vim svnserve.conf

i键进入编辑模式,解除四个参数的#号注释。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111706然后按Esc键退出编辑,输入:wq保存并退出。

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

sudo vim passwd

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

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111707添加完成后按Esc键退出,输入:wq保存并退出。

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

sudo vim authz

i键进行编辑,添加如下信息:

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111708然后按Esc键退出编辑,输入:wq保存并退出。

  1. 启动SVN服务输入以下命令启动SVN:
sudo svnserve -d -r /opt/svn/
  1. 实现内网穿透我们在本地Ubuntu虚拟机上安装了SVN服务端,但目前只能在局域网络下访问,离开了局域网将无法连接SVN。然而,我们可以通过cpolar来实现公网访问,突破局域网的限制,无需公网IP,无需设置路由器。

4.1 安装cpolar内网穿透工具支持一键脚本安装,输入以下命令:

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

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

cpolar authtoken xxxxxxx

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230206171241248向系统添加服务:

sudo systemctl enable cpolar

启动cpolar服务:

ListenHub
ListenHub

超真实的AI播客生成器

下载
sudo systemctl start cpolar

4.2 设置隧道以映射本地端口成功启动cpolar服务后,在浏览器中访问本地9200端口【https://www.php.cn/link/4b0634bf8e6c9d0289c1102ced741317 web UI管理界面。

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

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

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111709隧道创建成功后,点击左侧的状态——在线隧道列表,可以看到刚刚创建的隧道已生成相应的公网地址,将其复制下来。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库202301311117105. 测试通过公网访问从官方网站下载SVN客户端:https://www.php.cn/link/92e2febe8d6183b8026d49448c382d0e

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111711SVN安装完成后,在桌面右键点击svncheckout,输入我们复制的cpolar公网地址,然后点击ok

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111712输入我们前面创建的账号密码。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111713接着右键点击svn update,没有出现error即表示连接成功。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库202301311117146. 配置固定的公网TCP端口地址由于以上使用cpolar所创建的隧道使用的是随机公网地址,该地址为随机临时地址,24小时内会发生变化,不利于长期远程访问。

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

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

地区:选择China VIP描述:即备注,可自定义填写点击保留

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111715地址保留成功后,系统会生成相应的固定公网地址,将其复制下来。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库202301311117166.2 设置固定的公网TCP端口地址在浏览器中访问9200端口,https://www.php.cn/link/63baaa24b01ab9ada621af6ff02c2e2e web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到svn隧道,点击右侧的编辑。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111717修改隧道信息,将保留成功的固定tcp地址配置到隧道中。

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

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111718隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,找到svn隧道,可以看到公网地址已经更新为固定tcp地址。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库202301311117197. 使用固定TCP端口地址远程访问SVN服务右键打开relocate

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111720修改连接地址为固定tcp的地址,修改完后点击OK。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111721接着右键点击svn update,没有出现error即表示连接成功。

Linux系统安装SVN服务端结合内网穿透实现远程访问本地svn资料库20230131111722

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

187

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

280

2023.10.25

登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6094

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

806

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1062

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1243

2024.03.01

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

526

2023.07.06

SVN忽略文件设置
SVN忽略文件设置

SVN忽略文件设置方法:1、打开SVN客户端,并导航到项目;2、在项目窗口中,右键单击要忽略的文件或文件夹,并选择"TortoiseSVN"->"属性";3、在属性窗口中,选择"svn:ignore"属性,并点击"编辑"按钮;4、在编辑窗口中,输入要忽略的文件或文件夹的名称,每行一个。可以使用通配符来匹配多个文件或文件夹;5、点击"确定&qu

557

2023.09.14

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

43

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

微信小程序开发之API篇
微信小程序开发之API篇

共15课时 | 1.2万人学习

Bootstrap4.x---十天精品课堂
Bootstrap4.x---十天精品课堂

共22课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号