Ubuntu系统搭建HadSky论坛并结合内网穿透实现无公网ip远程访问

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 前言
    • 1. 网站搭建
      • 1.1 网页下载和安装
      • 1.2 网页测试
      • 1.3 cpolar 的安装和注册
    • 2. 本地网页发布
      • 2.1 Cpolar 临时数据隧道
      • 2.2 Cpolar 稳定隧道(云端设置)
      • 2.3 Cpolar 稳定隧道(本地设置)
      • 2.4 公网访问测试
    • 总结

前言

经过多年的基础设施建设和科技发展,网络已经成为我们生活中不可缺少的“必需品”。在大部分情况下,我们都可以在网络上找到需要的信息,并且能够通过特定方式(如论坛、留言、评论等)与众网友们交换意见和见解。不过,在别人的地盘呆久了,总会有自己建立交互空间吸引大家来畅聊的想法。今天,笔者就为大家介绍,如何在自家电脑的 ubuntu 系统上,建立轻量化的 HadSky 论坛,并让其能够为大家所访问( 注意:面向公共的论坛网站,必须向当地监管部门申请备案!)。

1. 网站搭建

HadSky 是一款开源的 PHP 轻论坛系统,依托常用的 php 和 MySQL 运行。由于其轻量化的特点,因此即便服务器设备性能不高,也能轻松运行。对于笔者这样将退居二线的过时电脑,是很合适的选择。现在,就让我们开始吧。

1.1 网页下载和安装

HadSky 作为一款有一定知名度的软件,自然有自己的官网(www.hadsky.com),我们可以在这里找到hadsky网站程序的下载,也能看到hadsky网站的安装要求和问题解答。

image-20230908144301291

根据安装要求,我们需要在本地 ubuntu 系统上安装 PHP5.2 和 MySQL5.0,当然 Apache(或 Nginx)也是必不可少的。为了方便起见,笔者在 ubuntu 系统上安装了宝塔面板,方便快速安装和设置网站运行所需的各种程序。

image-20230908144321257

我们也可以在宝塔面板的主页(可以在浏览器中输入本地地址:宝塔面板输出端口号)左侧,找到“软件商店”按钮,点击进入软件商店页面。在这个页面,我们可以找到常用的网站运行支持程序,包括 Nginx、Apache、MySQL、PHP、phpMyadmin、Tomcat、Docker 管理器、Redis 等等。我们找到所需的软件,点击该软件条目右侧的“安装”,即可将其安装至 ubuntu 系统上。

依照 hadsky 官方给出的安装要求,我们需要使用 PHP5.2+和 MySQL5.0+,我们可以在这里选择对应 PHP 版本安装即可。

image-20230908144340270

完成 Apache、MySQL、PHP 几项软件的安装后,我们可以点击软件商店页面上方的“已安装”按钮,查看已经安装的软件。同时,也可以在这里切换每个软件的版本。

image-20230908144654903

接着,我们就可以进行下一步的 hadsky 网站部署。通常网站部署的步骤是将下载的网站源代码,放置到宝塔面板的 wwwroot 文件夹下,不过好在 hadsky 在宝塔面板中提供了“一键部署”模式,又为笔者省了不少事。

点击宝塔面板主界面左侧的“软件商店”。进入软件商店后,在页面上方找到“一键部署”按钮,进入可以一键部署的网站分页,从中选取“hadsky”条目,点击该条目右侧的“一键部署”按钮,

image-20230908144716142

接下来会弹出网站基本设置窗口,在这里我们可以指定网站的基本信息,这些信息包括:

输出端口号 - 在“域名”栏位,通过“打算设置的域名:打算使用的端口”形式设置;

根目录 – 这个栏位可改可不改,但这个根目录内容会与“域名”栏位联动,为防止混淆,笔者还是将其更改为 hadsky

数据库 – 这里填入我们之前设置的数据库信息即可;

PHP 版本 – 对于某些网站可能会要求使用特定版本的 PHP,我们就可以在 PHP 版本栏位修改(前提是已经安装了对应版本的 PHP 软件)

完成这些设置后,就可以点击窗口下方的“提交”按钮,创建 hadsky 网站。

image-20230908144739252

网站创建完成后(一瞬间的事),宝塔面板会弹出已创建网站的地址,重要的网站信息(可能是数据库信息,或是网站后台登录信息)。

image-20230908144758670

下一步打开 ubuntu 的宝塔面板,在软件主界面左侧点击“网站”按钮,进入网站列表页面,就能看到刚刚安装上线的 hadsky 网站。

image-20230908144815733

此时我们在 ubuntu 的浏览器地址栏输入设置好的 hadsky 网站地址,就能看到 haddsky 的设置页面。我们继续根据网站显示页面的提示,进行具体的网站设置工作。

image-20230908144837545

image-20230908144849927

在 hadsky 网站安装过程中,会要求填写数据库相关信息(也就是在一键部署网站时设置的数据库信息),如果记不得网站数据库信息,则可以在宝塔面板左侧的“数据库”页面中找到有关内容。

img

img

1.2 网页测试

数据库设置完成后,hadsky 网站就会显示出网站安装完成的提示,我们可以在这里选择进入 hadsky 网站后台,或者直接进入已安装的论坛进行查看。

img

Hadsky 论坛后台页面

img

Hadsky 论坛主页面

img

1.3 cpolar 的安装和注册

完成 hadsky 论坛的部署后,就可以转入cpolar的安装。想要在 ubuntu 系统上安装 cpolar,可以使用简便的一键安装脚本进行安装。只要在 ubuntu 的命令行界面输入以下命令,就可以自动执行安装程序(需要注意的是,可能有的 ubuntu 版本没有安装 curl 工具,因此最好先执行命令“sudo aptinstall curl”安装 curl 工具)。

Cpolar 一键安装脚本:

“curl -L

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

img

Cpolar 安装完成后,就可以再输入命令“systemctl start cpolar”,启动 cpolar。

img

这时 ubuntu 系统会跳出启动服务的认证框,我们输入 ubuntu 系统的密码即可。

img

当然,我们也可以不使用 systemctl 级别命令,而是输入“cpolar version”查询本地 cpolar 的版本号,只要能显示出版本信息,就说明 cpolar 安装完成。

img

为保证 cpolar 能在 ubuntu 系统上长期运行,以此保证数据隧道的稳定存续,最好将 cpolar 添加进 ubuntu 开机自启列表。只要在 ubuntu 的命令行界面,输入命令“sudo systemctl status cpolar”,就能将 cpolar 添加进自启列表中。

img

为保证每位用户的数据安全,并为每位客户创建单独的数据隧道,cpolar 以用户密码和 token 码进行用户验证,因此我们在使用 cpolar 之前,需要进行用户注册。注册过程非常简单,只要在 cpolar 主页右上角点击“用户注册”,在注册页面填入必要信息,就能完成注册。

img

img

完成 cpolar 用户注册后,我们就可以使用每位用户唯一的 token 码,激活 cpolar 的客户端。只要在 cpolar 官网登录后,就可以在“验证”页面(或是“连接您的账户”窗口),找到用户唯一的 token 码。

img

将这个 token 码复制粘贴到 ubuntu 的命令行界面,cpolar 客户端就会将这个 token 码写入本地 cpolar.yml 文件中(token 码激活只需要进行一次即可),以此作为用户数据隧道的识别信息。具体命令格式为“cpolar authtoken 用户唯一的 token 码”。

img

2. 本地网页发布

到这里,我们在本地设备上安装了网页,也安装了 cpolar 内网穿透程序,接下来我们就可以使用 cpolar,为本地网页创建一个安全高效的数据隧道,让我们本地的网页能够在公共互联网上访问到。

2.1 Cpolar 临时数据隧道

为满足部分客户需要的网页临时测试功能,cpolar 可以直接在 cpolar 户端创建临时数据隧道(每隔 24 小时重置一次公共互联网地址,)。要创建临时数据隧道,我们直接在本地设备上登录 cpolar 客户端(在浏览器地址栏输入 localhost:9200),并在 cpolar 客户端主界面点击“隧道管理”项下的“创建隧道”按钮,进入创建隧道设置页面。

img

在“创建隧道”页面,我们需要设置几项信息,这些信息包括:

隧道名称 – 可以看做 cpolar 客户端的隧道信息注释,只要方便我们分辨即可;

协议 –hadsky 论坛是网页形式,因此选择 http 协议;

本地地址 – 本地地址即为本地网站的输出端口号,此处依照我们的设置,填入;

域名类型 –这里我们可以区分数据隧道是临时使用,或是长期存续。由于我们只是先进行临时测试,因此选择“随机域名”(二级子域名和自定义域名都是长期稳定隧道,需要在 cpolar 云端预留公共互联网地址)。

地区 – 即服务器所在位置,我们依照实际使用地就近填写即可;

img

完成这些设置后,就可以点击页面下方的“创建”按钮,建立起一条临时数据隧道。临时数据隧道创建完成后,cpolar 客户端会自动跳转至“隧道管理”项下的“隧道列表”页面,在这里我们可以看到 cpolar 本地的所有数据隧道(无论临时还是长期)。我们也可以在这里,对数据隧道进行管理,包括开启、关闭或删除这条隧道,也可以点击“编辑”按钮,最这条数据隧道的信息进行修改。

img

而我们创建的能够连接本地 hadsky 论坛的临时公共互联网网址,则可以在“状态”项下的“在线隧道列表”中找到。

img

将这里显示的公共互联网地址粘贴到浏览器地址栏,就能访问到本地的网页页面。

img

需要注意的是,此时的数据隧道只是临时数据隧道,每 24 小时就会重置一次。数据隧道重置后,cpolar 生成的公共互联网地址就会变化,如果打算再次访问这个网页,就需要使用新生成的地址。

2.2 Cpolar 稳定隧道(云端设置)

如果想要为本地网站设置能长期稳定存在的数据隧道,我们需要先将 cpolar 升级至 VIP 版。

img

Cpolar 升级至付费版后,就可以登录 cpolar 的官网,并在用户主页面左侧找到“预留”按钮,点击进入 cpolar 的数据隧道预留页面,在这里生成一个公共互联网地址(或称为数据隧道的入口)。此时这个地址没有连接本地的软件输出端口,因此可以看做是一条空白的数据隧道。

img

在预留页面,我们可以保留使用多种协议的数据隧道,这里我们选择“保留二级子域名”栏位。

img

在“保留二级子域名”栏位,需要进行几项信息的简单设置,即“地区”(服务器所在区域,就近选择即可)、“二级域名”(会最终出现在生成的公共互联网地址中,作为网络地址的标识之一)和“描述”(可以看做这条数据隧道的描述,能够与其他隧道区分开即可)。完成这几项设置后,就可以点击右侧的“保留”按钮,将这条数据隧道保留下来。

img

当然,如果这条数据隧道不打算再使用,还可以点击右侧的“x”将其轻松删除,节约宝贵的隧道名额。

img

2.3 Cpolar 稳定隧道(本地设置)

完成 cpolar 云端的设置,并保留了空白数据隧道后,我们回到本地的 cpolar 客户端,将云端生成的空白数据隧道与本地的测试页面连接起来。

在本地设备上打开并登录 cpolar 客户端(可以在浏览器中输入 localhost:9200 直接访问,也可以在开始菜单中点击 cpolar 客户端的快捷方式)。

点击客户端主界面左侧“隧道管理”项下的“隧道列表”按钮,进入本地隧道的页面,再点击对应隧道的“编辑”按钮。

img

在本地隧道的“编辑”页面(与创建本地临时隧道的页面一样),我们只要对“域名类型”进行修改,就能将 cpolar 云端设保留的公共互联网地址,与本地 cpolar 创建的 hadsky 网站数据隧道连接起来。

由于我们已经在 cpolar 云端预留了 hadsky 的二级子域名数据隧道,因此改选为“二级子域名”(如果预留的是自定义域名,则勾选自定义域名),并在下一行“Sub Domain”栏中填入预留的二级子域名,这里我们填入“hadskytell”。

img

完成“域名类型”的更改后,就可以点击页面下方的“更新”按钮,将 cpolar 云端的空白数据隧道与本地 hadsky 网站隧道连接起来,即生成了能够长期稳定存在的 hadsky 论坛数据隧道。

2.4 公网访问测试

最后,我们再次 进入“在线隧道列表”页面,就会发现本地 hadsky 论坛的公共互联网地址已经发生了变化。我们将更新后的 hadsky 网站公共互联网地址粘贴到浏览器中,就能看到能够使用新地址访问到 Imagewheel 网站,也就意味着本地的 hadsky 网站已经能够长期稳定的访问到。

img

img

总结

从步骤上看,hadsky 论坛在 ubuntu 系统上的部署并不复杂,而有了 cpolar 软件的加持,让我们的选择更加灵活,我们可以选择安装其他形式的网站,再通过 cpolar 创建的内网穿透数据隧道,将本地电脑上的网站发布到公共互联网上,让我们为自己的数码生活添加新的色彩。

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

img

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/395228.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

x86下使用硬件实现的任务切换(TSS表)---使用代码讲解

实现任务切换(使用TSS) 视频讲解可以看这一个课程 • The current program, task, or procedure executes a JMP or CALL instruction to a TSS descriptor in the GDT. • The current program, task, or procedure executes a JMP or CALL instruction to a task-gate descri…

冒泡排序及其优化

冒泡排序 int[] arr {1,3,2,9,4,7,2,8};//比较多少轮(n个数字比较n-1次)for(int i0,n arr.length;i<n-1;i) {//每轮比较多少次(n-1-i次)for(int j 0;j<n-1-i;j) {//两两比较if(arr[j] > arr[j1]) { //比较结果为升序排列&#xff0c;如果想要降序排列结果将 >…

计算机网络——18无连接传输UDP

无连接传输UDP UDP “尽力而为的”服务&#xff0c;报文段可能 丢失送到应用进程的报文段乱序 无连接 UDP发送端和接收端之间没有握手每个UDP报文段都被独立的处理 UDP被用于 流媒体DNSSNMP 在UDP上实现可靠传输 在应用层增加可靠性应用特定的差错格式 UDP&#xff1a;用户…

小工具 - 浮点计算器

文章目录 小工具 - 浮点计算器概述笔记FloatCalcDlg.cppFloatCalcDlg.hrcEND 小工具 - 浮点计算器 概述 在学习CE, 在调试过程中, 经常要看内存中浮点对应的4字节内存到底对应的是啥具体的浮点值. e.g. 0x42860000 > 67.00 转换逻辑挺简单的 float CFloatCalcDlg::uint32…

克服数字化三重担忧,从构建身份基础设施开始

随着数字化转型和云迁移的逐步推进&#xff0c;IT 架构逐渐复杂化&#xff0c;基础设施和运营&#xff08;I&O&#xff09;领域已出现了许多创新和新兴技术&#xff0c;例如云计算、边缘计算、云原生、容器技术和智能运维&#xff08;AIOps&#xff09;。这些创新和新技术不…

TCP流量控制+拥塞控制

流量控制&#xff1a; 目标&#xff1a;流量控制主要解决的是发送方和接收方之间处理能力的不匹配问题。它的目的是确保发送方不会发送数据过快&#xff0c;以至于接收方无法及时接收并处理这些数据&#xff0c;从而避免数据包在网络中堆积和丢失。实现方式&#xff1a;在TCP协…

挑战杯 基于GRU的 电影评论情感分析 - python 深度学习 情感分类

文章目录 1 前言1.1 项目介绍 2 情感分类介绍3 数据集4 实现4.1 数据预处理4.2 构建网络4.3 训练模型4.4 模型评估4.5 模型预测 5 最后 1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 基于GRU的 电影评论情感分析 该项目较为新颖&#xff0c;适合作为竞…

Vue3快速上手(八) toRefs和toRef的用法

顾名思义&#xff0c;toRef 就是将其转换为ref的一种实现。详细请看&#xff1a; 一、toRef 1.1 示例 <script langts setup name"toRefsAndtoRef"> // 引入reactive,toRef import { reactive, toRef } from vue // reactive包裹的数据即为响应式对象 let p…

UE蓝图 Cast节点和源码

系列文章目录 UE蓝图 Cast节点和源码 文章目录 系列文章目录Cast节点功能一、Cast节点用法二、Cast节点使用场景三、Cast节点实现步骤四、Cast节点源码 Cast节点功能 在Unreal Engine&#xff08;UE&#xff09;中&#xff0c;Cast节点是一种蓝图系统中的节点&#xff0c;用于…

如何高效利用FMEA,FMEA实施流程有哪些——SunFMEA软件系统

FMEA作为是一种预防性的质量工具&#xff0c;用于识别、评估和解决潜在的设计和过程故障模式。通过FMEA的实施&#xff0c;可以在产品或过程的开发阶段发现并解决潜在问题&#xff0c;从而减少产品或过程的故障风险。如何高效利用FMEA呢&#xff0c;接下来SunFMEA软件和大家一起…

kali虚拟机桥接模式快速设置

第一步&#xff1a;配置 IP、掩码、网关 vim /etc/network/interfaces第二步&#xff1a;配置 DNS&#xff1a; vi /etc/resolv.conf第三步&#xff1a;重启网卡 service networking restart如果还不行建议重启一下虚拟机

CCF-A类MobiCom历年高引论文集免费放送!

MobiCom 高引论文集 MobiCom(International Conference On Mobile Computing And Networking )会议是无线网络和移动计算领域的重要盛会&#xff0c;对推动该领域发展起着积极的推动作用&#xff01;贴心的会议之眼已经免费为大家带来30篇高质量的MobiCom被广泛引用论文&#x…

Sora 和之前 Runway 在架构上的区别

问&#xff1a;Sora 和之前 Runway 那些在架构上有啥区别呢&#xff1f; 答&#xff1a;简单来说 Runway 是基于扩散模型&#xff08;Diffusion Model&#xff09;的&#xff0c;而 Sora 是基于 Diffusion Transformer。 Runway、Stable Diffusion 是基于扩散模型&#xff08…

JavaScript中延迟加载的方式有哪些

在web前端开发中&#xff0c;性能优化一直是一个非常重要的话题。当我们开发一个页面时&#xff0c;为了提高用户的体验和页面加载速度&#xff0c;我们往往需要采用一些延迟加载的技术。JavaScript中延迟加载的方式有很多种&#xff0c;下面我将为大家详细介绍几种常用的方式。…

Fisher-Yates乱序算法

乱序算法 public class Test07 {public static void main(String[] args) {//乱序算法int[] arr {1,2,3,4,5,6,7,8};//逆序遍历 且这个随机的下标不能使要交换的元素的本身for(int i arr.length-1;i>0;i--){//产生一个随机的下标与当前元素进行交换int index (int)(Math…

Python Flask Web + PyQt 前后端分离的项目—学习成绩可视化分析系统

简介 使用工具&#xff1a; Python&#xff0c;PyQt &#xff0c;Flask &#xff0c;MySQL 注&#xff1a;制作重点在网页端&#xff0c;因此网页端的功能更全 WEB界面展示: 系统登录分为管理员&#xff0c;老师&#xff0c;学生3部分 管理员统一管理所有的账号信息以及登录…

Java实现一个栈

目录 概念与结构 实现一个栈 创建一个栈类 实现栈的基本操作 测试栈类 概念与结构 概念与结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0c;另一端称为栈底。栈中的数据元…

算法练习-分割等和子集(思路+流程图+代码)

难度参考 难度&#xff1a;困难 分类&#xff1a;动态规划 难度与分类由我所参与的培训课程提供&#xff0c;但需 要注意的是&#xff0c;难度与分类仅供参考。且所在课程未提供测试平台&#xff0c;故实现代码主要为自行测试的那种&#xff0c;以下内容均为个人笔记&#xff0…

[AIGC] 深入理解 Java 虚拟机(JVM)的垃圾回收

深入理解 Java 虚拟机&#xff08;JVM&#xff09;的垃圾回收 一、是什么 Java 虚拟机&#xff08;JVM&#xff09;的垃圾回收&#xff08;Garbage Collection&#xff09;是一种自动内存管理机制&#xff0c;用于释放不再使用的对象所占用的内存空间。垃圾回收的目标是回收那…

【HTML】SVG实现炫酷的描边动画

前沿 今天闲来无事&#xff0c;看到Antfu大佬的个性签名&#xff0c;觉得还是非常炫酷的&#xff0c;于是也想要搞一个自己的个性签名用来装饰自己的门面&#xff0c;不过由于手写的签名太丑了&#xff0c;遂放弃。于是尝试理解原理&#xff0c;深入研究此等密法&#xff0c;终…