简单实现远程访问Linux SVN服务(上)

简介: 简单实现远程访问Linux SVN服务

前言


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


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


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


1. Ubuntu安装SVN服务


命令行输入安装命令:


sudo apt install subversion


9b982fda3dd386ee33f929fa5ab5d21e.png

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

svnserve --version



fe4bf573943f1e6e234b9816d586e76e.png


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

cd /opt
sudo mkdir svn
cd svn
sudo mkdir repository


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


sudo svnadmin create /opt/svn/repository

bc55246b834601019df531eb7d9cec51.png


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


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

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

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

b5268bb407892ba03763fbd38147db4b.png


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

sudo chmod -R 777 db
8dbb3ea38e69c0ef7a262a644ab5ec4a.png


2. 修改配置文件


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


2.1 修改svnserve.conf文件


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

sudo vim svnserve.conf
• 1

i键进入编辑

解开四个参数的#号注释


4303399073cfb1fdc6c140b97e55b57f.png


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


2.2 修改passwd文件


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


sudo vim passwd
• 1

i进行编辑

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

cb5adbd0e93bfba25e5ef7c274b4a8f3.png


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


2.3 修改authz文件


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


sudo vim authz
• 1

i进行编辑

添加如下信息


92d1f31796f78ce15937655af0f13ada.png


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


5cc5b5cdc5d64f4b78578a9787f17fd9.png

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


sudo systemctl start cpolar


4.2 创建隧道映射本地端口


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


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

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

点击创建


b55e0264579d2daa8d6d73ae1c38df32.png

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

11f91152a53a0838db11d2e6413e2255.png


5. 测试公网访问


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

4a20f0b464fe94b94d868aa009b8043d.png


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隧道,点击右侧的编辑


988418a581285852db0ee0f600a9061f.png


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

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

点击更新


9f86e83b1ffe0bb1f897bddaa0f1f11c.png


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


104b24e5bc88b78e0225c822b1c02fdd.png


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


右键打开relocate



188d2669db88f4703afb9e2db0f981dd.png


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

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


















相关文章
|
2月前
|
Linux 数据安全/隐私保护
Linux下svn服务端的安装与配置
Linux下svn服务端的安装与配置
36 0
|
3月前
|
Ubuntu Linux 网络安全
群晖搭建网页版Linux Ubuntu系统并实现远程访问
群晖搭建网页版Linux Ubuntu系统并实现远程访问
49 1
|
3月前
|
Ubuntu Linux 数据安全/隐私保护
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
Linux系统使用Docker部署Cloudreve云盘并实现远程访问
51 0
|
4月前
|
监控 安全 Linux
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
虚拟专用网络(VPN):远程访问与点对点连接及其在Linux中的IPSec实现与日志管理
177 0
|
5月前
|
存储 Linux
linux上SVN出现 "Unable to connect to a repository at URL 'svn://xx.xx.xx.xx/xxx' 和 No repository ...
centos上安装了svn, 有时候会不知道什么原因出现客户端小乌龟无法连接或无法提交等情况
126 5
|
5月前
|
运维 监控 Linux
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
189 0
如何在Linux上部署1Panel运维管理面板并远程访问内网进行操作
|
5月前
|
Apache 项目管理 数据安全/隐私保护
Windows如何安装使用TortoiseSVN客户端并实现公网访问本地SVN Server
Windows如何安装使用TortoiseSVN客户端并实现公网访问本地SVN Server
82 0
|
5月前
|
存储 Linux 文件存储
Linux使用Docker部署Traefik容器并实现远程访问管理界面-1
Linux使用Docker部署Traefik容器并实现远程访问管理界面
131 0
|
5月前
|
存储 网络协议 Ubuntu
如何使用内网穿透远程访问Linux SVN服务?
如何使用内网穿透远程访问Linux SVN服务?
|
Linux 数据安全/隐私保护 iOS开发
Linux下SVN 命令每次都要输入密码
Linux下SVN 命令每次都要输入密码
下一篇
无影云桌面