Ubuntu 搭建NextCloud私有云盘【内网穿透远程访问】

1.前言

对于爱好折腾的电脑爱好者来说,Linux是绕不开的、必须认识的系统(大部分服务器都是采用Linux操作系统),而图形化的Ubuntu就是最好的熟悉Linux操作方式的练手系统。笔者家里就有一台安装了Ubuntu系统的电脑,不过在了解Linux系统的操作后,就处于半闲置状态,偶尔打开玩一把Ubuntu系统自带的麻将游戏。由于闲置显得太浪费,笔者打算使用Cpolar的内网穿透功能与开源的Nextcloud软件配合,将其改造成能以http协议访问的私有云盘,并为其生成一个公共互联网地址,用来存储下视频音乐小说之类,方便随时在移动设备上观看。

2.本地软件安装

通常Ubuntu22.04版本提供了Snap这个软件包安装管理,所以我们可以在Snap上安装Nextcloud,而不必费心配置web和数据库服务器。

2.1 nextcloud安装

首先在Ubuntu系统上安装Snap,只要输入两行命令就可以进行snap的安装

sudo apt-get install snapd

sudo apt-get install snapcraft

20230309091401

20230309091402

接着,在输入在snap上安装Nextcloud的命令

sudo snap install nextcloud

命令输入后,snap会自动下载软件并安装。

20230309091403

为了确认安装是否成功,我们可以输入查询更改的命令,并通过反馈看到nextcloud是否安装完成。

snap changes nextcloud

20230309091404

安装完成后,我们可以输入命令,来启动或关闭nextcloud。

启动: sudo snap start nextcloud
停止: sudo snap stop nextcloud

20230309091405

在确保nextcloud正常启动后,就可以在ubuntu自带的浏览器中,输入ubuntu的网络地址(即ubuntu在局域网的IP地址),就能打开nextcloud的安装程序。当然,设置管理员账号和密码是必须的。

20230309091406

Nextcloud安装完成后,就可以正常查看Nextcloud云盘。

20230309091407

2.2 cpolar安装

在nextcloud安装完成后,就可以接着安装cpolar。我们可以在浏览器中访问cpolar的官网(https://www.cpolar.com/),找到对应的cpolar版本进行下载安装。

20230309091408

当然,也就简单的办法,就是直接输入命令进行一键脚本安装

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

20230309091409

查看版本号,有正常显示版本号即为安装成功

cpolar version

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

cpolar authtoken xxxxxxx

20230309091932

再简单穿透测试一下,有正常生成相应的公网地址即为穿透成功,按ctrl+c退出

cpolar http 8080

然后向系统添加服务

sudo systemctl enable cpolar

启动cpolar服务

sudo systemctl start cpolar

查看服务状态,正常显示为active表示为启动成功状态

sudo systemctl status cpolar

在cpolar安装完成后,我们可以在浏览器中输入localhost:9200打开cpolar的Web-UI界面,对打算建立(或已经建立)的内网穿透隧道进行编辑。

20230309091410

由于笔者打算在ubuntu系统上设置能随时访问的云盘,因此需要固定的内网穿透数据隧道(固定内网穿透数据隧道需要升级至基础版及以上),因而这时笔者还不用在客户端设置数据隧道信息(免费版的可以直接在客户端设置数据隧道,但每隔24小时数据隧道就变动一次,具体设置内容可以直接查看“3.2.cpolar本地设置”)。

3.本地网页发布

要生成一个稳定的cpolar内网穿透数据隧道,我们需要在cpolar云端(负责生成稳定的公共互联网地址,即建立“数据隧道”入口)和cpolar客户端(负责将公共互联网地址与本地nextcloud连接起来,即“数据隧道”的出口)两方面进行设置,而设置内容也十分简单。

3.1 Cpolar云端设置

首先登录cpolar的云端,在cpolar主页面左侧找到“预留”按钮,点击进入预留页面

20230309091411

预留页面,找到保留二级子域名栏位,在这个栏位,我们需要填入几项简单信息,对打算建立的隧道入口进行设置。这几项信息包括:

  • 地区:这里我们在下拉菜单中选择实际使用地即可;
  • 二级域名:二级域名可以选择自己喜欢的内容填写,不过需要注意的是,该内容最终会显示的公网URL中,因此需要选择合适的内容填入;
  • 描述:该栏可以看做这条数据隧道的备注,只要方便分辨即可;

20230309091412

设置完成后,就可以点击右侧的保留,建立起一条空白数据隧道,并获得一个二级子域名。接下来,我们回到cpolar客户端,将这条空白数据隧道与ubuntu系统的nextcloud连接起来。

3.2 Cpolar本地设置

在ubuntu本地,我们登录cpolar客户端,在客户端主界面左侧找到隧道管理项下的创建隧道按钮,点击进入隧道创建页面。

20230309091413

在这个页面,同样需要几项设置,这几项设置为:

  • 隧道名称:可以看做cpolar本地的隧道信息注释,只要方便分辨即可;
  • 协议:即以何种方式连接本地端口,这里我们选择http协议;
  • 本地地址:本地地址即为本地网站的输出端口号,在这个例子中为80;
  • 域名类型:由于我们已经在cpolar云端预留了二级子域名的固定隧道,因此勾选“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,该例子中为“mydrive”;
  • 地区:与cpolar云端预留的信息一样,我们依照实际使用地填写即可;

20230309091414

在填入各项信息后,就可以点击页面下方的创建按钮,将cpolar云端的空白数据隧道与本地nextcloud端口连接起来。如果需要的话,我们可以在隧道管理项下的隧道列表中,控制这条数据隧道的开启和关闭,并随时对已经填入的隧道信息进行更改。

20230309091415

而这条数据隧道的公共互联网地址,我们可以在状态项下的在线隧道列表里看到。

20230309091416

4.公网访问测试

最后,我们通过cpolar生成的公共互联网地址,尝试访问nextcloud。但nextcloud反馈为“通过不被信任的域名访问”错误页面。这是因为nextcloud做了限制,只在局域网内访问。

20230309091417

这时我们只要在命令行中输入

sudo nextcloud.occ config:system:set trusted_domains 1 --value=*.*.*.*

添加访问方式为“...”,即添加不限访问方式的命令,即可解决这个问题。命令输入后重启一次nextcloud,就可以通过cpolar生成的二级子域名访问到ubuntu上的nextcloud云盘。

20230309091418

5. 结语

至此,我们就将ubuntu系统变成了能在公共互联网上轻松访问到的私人云盘。由于这个云盘的公共互联网地址是自己设置的,因此外人并不知道。加上cpolar的加密安全数据传输,因此不必担心信息泄露。而cpolar使用的端口映射技术,不仅可以用在发布局域网的私人云盘上,只要知道设备和软件的输出端口,还能开发出更多好玩有趣的场景,cpolar官网上有很多类似的教程介绍,大家可以参考开发出自己的应用场景。

猜你喜欢

转载自blog.csdn.net/u014641168/article/details/129420641