Ubuntu如何使用宝塔面板部署开源论坛HadSky并结合内网穿透远程访问?

文章目录

    • 前言
    • 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创建的内网穿透数据隧道,将本地电脑上的网站发布到公共互联网上,让我们为自己的数码生活添加新的色彩。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php数组与字符串函数

php数组与字符串函数 1. php数组2. 字符串函数 1. php数组 在php中,有三种类型的数组: 数值数组 - 带有数字ID键的数组关联数组 - 带有指定的键的数组,每个键关联一个值多维数组 - 包含一个或多个数组的数组 2. 字符串函数 在PHP中&#xf…

耳机壳UV树脂制作私模定制耳塞适合什么样的人使用呢?

耳机壳UV树脂制作私模定制耳塞适合以下人群使用: 对音质要求高的人:私模定制耳塞能够完美契合用户的耳朵形状,减少漏音和外部噪音的干扰,提供更好的音质体验。需要长时间佩戴耳机的人:私模定制耳塞能够提高佩戴舒适度…

<网络安全>《30 常用安全标准》

《常用安全标准》 1 个人信息安全 o《信息安全技术 个人信息安全规范》(GB/T35273-2017) o《信息安全技术 个人信息去标识化指南》(GB/T37964-2019) 2 工业控制安全 o《信息安全技术 工业控制系统安全检查指南》(GB/T 37980-2019) o《信息…

Git基础命令,分支,标签的使用【快速入门Git】

Git基础命令,分支,标签的使用【快速入门Git】 Git基础常用命令Git工作流程工作区,暂存区和版本库文件状态获取Git仓库 git init | git clone查看文件状态 git status暂存已修改的文件 git add 查看已暂存和未暂存的修改 git diff提交文件更改…

【JAVA】类加载机制

目录 一、快速梳理JAVA类加载机制 1、JDK8的类加载体系 2、沙箱保护机制 3、Linking链接过程 二、一个用类加载机制加薪的故事 三、通过类加载器引入外部Jar包 四、自定义类加载器实现Class代码混淆 五、自定义类加载器实现热加载 六、打破双亲委派,实现同类…

VBA技术资料MF118:在多个工作表中插入页眉和页脚

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

多模态论文串讲·下【论文精读·49】最近使用 transformer encoder 和 decoder 的一些方法

大家好,我们今天就接着上次多模态串讲,来说一说最近使用 transformer encoder 和 decoder 的一些方法。 1 BLIP:Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation 我们要过的第一篇论文…

计算机网络——11EMail

EMail 电子邮件(EMail) 3个主要组成部分 用户代理邮件服务器简单邮件传输协议:SMTP 用户代理 又名“邮件阅读器”撰写、编辑和阅读邮件输入和输出邮件保存在服务器上 邮件服务器 邮箱中管理和维护发送给用户的邮件输出报文队列保持待发…

LeetCode、435. 无重叠区间【中等,贪心 区间问题】

文章目录 前言LeetCode、435. 无重叠区间【中等,贪心 区间问题】题目链接及分类思路贪心、区间问题 资料获取 前言 博主介绍:✌目前全网粉丝2W,csdn博客专家、Java领域优质创作者,博客之星、阿里云平台优质作者、专注于Java后端技…

08:K8S资源对象管理|服务与负载均衡|Ingress

K8S资源对象管理|服务与负载均衡|Ingress DaemonSet控制器污点策略容忍容忍污点 其他资源对象Job资源对象 有限生命周期CronJob资源对象 集群服务服务自动发现headless服务 实现服务定位与查找 服务类型 Ingress插件 发布服务的方式 DaemonSet控制器 Da…

Elasticsearch:适用于 iOS 和 Android 本机应用程序的 Elastic APM

作者:来自 Elastic Akhilesh Pokhariyal, Cesar Munoz, Bryce Buchanan 适用于本机应用程序的 Elastic APM 提供传出 HTTP 请求和视图加载的自动检测,捕获自定义事件、错误和崩溃,并包括用于数据分析和故障排除目的的预构建仪表板。 适用于 …

【北邮鲁鹏老师计算机视觉课程笔记】08 texture 纹理表示

【北邮鲁鹏老师计算机视觉课程笔记】08 texture 纹理表示 1 纹理 规则和不规则的 2 纹理的用处 从纹理中恢复形状 3 分割与合成 4 分析纹理进行分类 通过识别纹理分析物理性质 如何区分纹理 5 寻找有效的纹理分类方法 发现模式、描述区域内模式 A对应图2 B对应图…

Java 基于微信小程序的电子商城购物系统

博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇…

EL表达式和JSTL标签

1.1. EL表达式概述 EL&#xff08;Expression Language&#xff09;是一门表达式语言&#xff0c;它对应<%…%>。我们知道在JSP中&#xff0c;表达式会被输出&#xff0c;所以EL表达式也会被输出。 EL表达式的格式&#xff1a;${…}&#xff0c;例如&#xff1a;${12}…

【深度学习】S2 数学基础 P1 线性代数(上)

目录 基本数学对象标量与变量向量矩阵张量降维求和非降维求和累计求和 点积与向量积点积矩阵-向量积矩阵-矩阵乘法 深度学习的三大数学基础 —— 线性代数、微积分、概率论&#xff1b; 自本篇博文以下几遍博文&#xff0c;将对这三大数学基础进行重点提炼。 本节博文将介绍线…

mysql Day05

sql性能分析 sql执行频率 show global status like Com_______ 慢查询日志 执行时间超过10秒的sql语句 profile详情 show profiles帮助我们了解时间都耗费到哪里了 #查看每一条sql的耗时情况 show profiles#查看指定query_id的sql语句各个阶段的耗时情况 show profile fo…

单片机学习笔记---DS18B20温度传感器

目录 DS18B20介绍 模拟温度传感器的基本结构 数字温度传感器的应用 引脚及应用电路 DS18B20的原理图 DS18B20内部结构框图 暂存器内部 单总线介绍 单总线电路规范 单总线时序结构 初始化 发送一位 发送一个字节 接收一位 接收一个字节 DS18B20操作流程 指令介…

基于 Python 深度学习的电影评论情感分析系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

前端JavaScript篇之await 在等待什么呢?async/await 如何捕获异常

目录 await 在等待什么呢&#xff1f;async/await 如何捕获异常 await 在等待什么呢&#xff1f; await 关键字实际上是等待一个表达式的结果&#xff0c;这个表达式的计算结果可以是 Promise 对象或者其他值。如果 await 后面的表达式不是 Promise 对象&#xff0c;那么 awai…

Spring Boot3自定义异常及全局异常捕获

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 目的 主要步骤 定义自定义异常类 创建全局异常处理器 手动抛出自定义异常 前置条件 已经初始化好一个…