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


    转载自cpolar内网穿透的文章:Linux搭建SVN服务器,并内网穿透实现公网远程访问

    前言

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

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

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

    1. Ubuntu安装SVN服务

    命令行输入安装命令:

    sudo apt install subversion
    
    • 1

    20230131111701

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

    svnserve --version
    
    • 1

    20230131111702

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

    cd /opt
    sudo mkdir svn
    cd svn
    sudo mkdir repository
    
    • 1
    • 2
    • 3
    • 4

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

    sudo svnadmin create /opt/svn/repository
    
    • 1

    20230131111703

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

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

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

    20230131111704

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

    sudo chmod -R 777 db
    
    • 1

    20230131111705

    2. 修改配置文件

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

    2.1 修改svnserve.conf文件

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

    sudo vim svnserve.conf
    
    • 1

    i键进入编辑
    解开四个参数的#号注释

    202301311117063

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

    2.2 修改passwd文件

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

    sudo vim passwd
    
    • 1

    i进行编辑

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

    20230131111707

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

    2.3 修改authz文件

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

    sudo vim authz
    
    • 1

    i进行编辑
    添加如下信息

    20230131111708

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

    3. 启动svn服务

    输入以下命令启动svn

    sudo svnserve -d -r /opt/svn/
    
    • 1

    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
    
    • 1
    • token认证

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

    cpolar authtoken xxxxxxx
    
    • 1

    20230206171248

    • 向系统添加服务
    sudo systemctl enable cpolar
    
    • 1
    • 启动cpolar服务
    sudo systemctl start cpolar
    
    • 1

    4.2 创建隧道映射本地端口

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

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

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

    点击创建

    20230131111709

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

    20230131111710

    5. 测试公网访问

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

    20230131111711

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

    20230131111712

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

    20230131111713

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

    20230131111714

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

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

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

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

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

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

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

    点击保留

    20230131111715

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

    20230131111716

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

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

    20230131111717

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

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

    点击更新

    20230131111718

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

    20230131111719

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

    右键打开relocate

    20230131111720

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

    20230131111721

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

    20230131111722

  • 相关阅读:
    jetson nano补充:根目录/usr刷机扩容 瘦身
    非零基础自学Java (老师:韩顺平) 第10章 面向对象编程(高级部分) 10.4 单例设计模式
    Matlab函数——mapminmax
    js实现全选按钮
    搭建一款实用的个人IT工具箱——it-tools
    卷积神经网络包括卷积和,卷积神经网络中的卷积
    Mybatis 下划线_英文 _test 与 下划线_数字 _1 等特殊字段无法映射为实体类的字段问题
    贪吃蛇游戏
    leetcode刷题
    web安全漏洞——身份验证绕过
  • 原文地址:https://blog.csdn.net/qq_43649937/article/details/130899996