如何使用寶塔面板搭建Tipask問答社區網站并發布公網遠程訪問

文章目錄

  • 前言
    • 1.Tipask網站搭建
      • 1.1 Tipask網站下載和安裝
      • 1.2 Tipask網頁測試
      • 1.3 cpolar的安裝和注冊
    • 2. 本地網頁發布
      • 2.1 Cpolar臨時數據隧道
      • 2.2 Cpolar穩定隧道(云端設置)
      • 2.3 Cpolar穩定隧道(本地設置)
    • 3. 公網訪問測試
    • 4.結語

前言

我們的生活和工作中,碰到問題的時候通常都會到網上尋找答案,但網上尋找到的答案要么答非所問,要么全是廣告,真正有價值的回答少之又少,這就讓人很頭疼。也正是這個痛點,催生了如“某乎”這樣的問答平臺,讓我們能輕松快速的找到想要的答案。

本文主要跟大家介紹,如何使用Cpolar+Tipask,在Ubuntu系統上搭建一個私人問答網站并實現隨時隨地遠程訪問本地站點,無需公網ip也不用購買域名服務器。

1.Tipask網站搭建

Tipask是一款基于php開發的開源問答系統,支持多種數據庫,并且能與支付寶、微信、極驗驗證、阿里云視頻、釘釘等多端整合,大大擴展了Tipask的應用場景范圍。最重要的是,Tipask的部署很簡單,像筆者這樣的新手也能輕松完成設置和安裝

1.1 Tipask網站下載和安裝

以其他軟件一樣,Tipask也有自己的官網(www.tipask.com/),我們可以在這里看到關于Tipask的各種信息,如果在安裝和使用中碰到什么問題,也可以在這里站到答案或發出提問。

img

在tipask的官網,我們可以看到tipask是php問答系統,能夠支持多種數據庫,也就意味著我們需要先在寶塔面板上安裝Apache、MySQL、PHP(即所謂的LAMP,如果是在Linux下安裝Nginx、MySQL、PHP,則稱為LNMP)。通常第一次登錄寶塔面板,只要本地硬件設備上沒有安裝過Apache、MySQL、PHP這些軟件,寶塔面板就會自動彈出詢問,選擇安裝哪些網頁運行程序。

img

我們也可以在寶塔面板的主頁(可以在瀏覽器中輸入本地地址:寶塔面板輸出端口號)左側,找到“軟件商店”按鈕,點擊進入軟件商店頁面。在這個頁面,我們可以找到常用的網站運行支持程序,包括Nginx、Apache、MySQL、PHP、phpMyadmin、Tomcat、Docker管理器、Redis等等。我們找到所需的軟件,點擊該軟件條目右側的“安裝”,即可將其安裝至ubuntu系統上。

img

完成Apache、MySQL、PHP幾項軟件的安裝后,我們可以點擊軟件商店頁面上方的“已安裝”按鈕,查看已經安裝的軟件。同時,也可以在這里切換每個軟件的版本。

img

接著,我們就可以進行下一步的網站部署。通常網站部署的步驟是將下載的網站源代碼,放置到寶塔面板的wwwroot文件夾下,不過好在tipask在寶塔面板中提供了“一鍵部署”模式,又為筆者省了不少事。

點擊寶塔面板主界面左側的“軟件商店”。進入軟件商店后,在頁面上方找到“一鍵部署”按鈕,進入可以一鍵部署的網站分頁,從中選取“tipask”條目,點擊該條目右側的“一鍵部署”按鈕,

img

接下來會彈出網站基本設置窗口,在這里我們可以指定網站的基本信息,這些信息包括:

域名(輸出端口) - 在“域名”欄位,通過“打算設置的域名:打算使用的端口”形式設置;在這里筆者將tipask的輸出端口設置為誒81(127.0.0.1:81)

根目錄 – 這個欄位可改可不改,但這個根目錄內容會與“域名”欄位聯動,為防止混淆,筆者還是將其更改為tipask

數據庫 – 這里填入打算設置的數據庫信息即可;

PHP版本 – 對于某些網站可能會要求使用特定版本的PHP,我們就可以在PHP版本欄位修改(前提是已經安裝了對應版本的PHP軟件)。為保證穩定性,筆者選擇php7.2版本

完成這些設置后,就可以點擊窗口下方的“提交”按鈕,創建tipask網站。

img

網站創建完成后(一瞬間的事),寶塔面板會彈出已創建網站的地址,重要的網站信息(可能是數據庫信息,或是網站后臺登錄信息)。

img

下一步打開ubuntu的寶塔面板,在軟件主界面左側點擊“網站”按鈕,進入網站列表頁面,就能看到剛剛安裝上線的tipask網站。使用寶塔面板進行一鍵部署tipask網站的最大好處,就是寶塔面板會自動開啟tipask所需的php擴展和需要禁用的函數,省去了我們自己進行設置的麻煩。

img

此時我們在ubuntu的瀏覽器地址欄輸入設置好的tipask網站地址,就能進入tipask網站設置頁面。我們繼續根據網站顯示頁面的提示,進行具體的網站設置工作。

img

在開始安裝前,tipask會對網站運行環境進行自檢,由于我們使用的是一鍵安裝模式,因此寶塔面板會自動設置好所需的PHP擴展和禁用函數項目。

img

接下來就是填入數據庫信息,我們只需要將創建tipask網站時設置的數據庫信息填入即可。

img

最后我們設置好tipask的管理員賬號,就能完成tipask網站的安裝流程。為方便演示,筆者將管理員賬號設為admin。

img

img

1.2 Tipask網頁測試

在本地完成tipask網站的安裝后,我們再在ubuntu的瀏覽器中輸入設置好的tipask網站地址(這個例子中為127.0.0.1:81),就能訪問到tipask的主頁面。

img

1.3 cpolar的安裝和注冊

完成網頁的部署后,就可以轉入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官網:https://www.cpolar.com

右上角點擊“用戶注冊”,在注冊頁面填入必要信息,就能完成注冊。

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客戶端的隧道信息注釋,只要方便我們分辨即可;

協議 –tipask網站是網頁程序,因此選擇http協議;

本地地址 – 本地地址即為本地tipask網站的輸出端口號,此處依照我們的設置,填入81;

域名類型 –這里我們可以區分數據隧道是臨時使用,或是長期存續。由于我們只是先進行臨時測試,因此選擇“隨機域名”(二級子域名和自定義域名都是長期穩定隧道,需要在cpolar云端預留公共互聯網地址)。

地區 – 即服務器所在位置,我們依照實際使用地就近填寫即可;

img

完成這些設置后,就可以點擊頁面下方的“創建”按鈕,建立起一條臨時數據隧道。臨時數據隧道創建完成后,cpolar客戶端會自動跳轉至“隧道管理”項下的“隧道列表”頁面,在這里我們可以看到cpolar本地的所有數據隧道(無論臨時還是長期)。我們也可以在這里,對數據隧道進行管理,包括開啟、關閉或刪除這條隧道,也可以點擊“編輯”按鈕,最這條數據隧道的信息進行修改。

img

而我們創建的能夠連接本地網站的臨時公共互聯網網址,則可以在“狀態”項下的“在線隧道列表”中找到。

img

將這里顯示的公共互聯網地址粘貼到瀏覽器地址欄,就能訪問到本地的網頁頁面。

img

需要注意的是,此時的數據隧道只是臨時數據隧道,每24小時就會重置一次。數據隧道重置后,cpolar生成的公共互聯網地址就會變化,如果打算再次訪問這個網頁,就需要使用新生成的地址。

2.2 Cpolar穩定隧道(云端設置)

如果想要為本地網站設置能長期穩定存在的數據隧道,我們需要先將cpolar升級至VIP版。

img

Cpolar升級后,就可以登錄cpolar的官網(只要注冊了cpolar用戶,無論是否是付費用戶,都可以登錄cpolar官網,只是在里我們需要以付費用戶身份登錄cpolar官網,進行預留數據隧道操作)。

img

在用戶主頁面左側找到“預留”按鈕,點擊進入cpolar的數據隧道預留頁面,在這里生成一個公共互聯網地址(或稱為數據隧道的入口)。此時這個地址沒有連接本地的軟件輸出端口,因此可以看做是一條空白的數據隧道。

img

在預留頁面,我們可以保留使用多種協議的數據隧道,這里我們選擇“保留二級子域名”欄位。

img

在“保留二級子域名”欄位,需要進行幾項信息的簡單設置,即“地區”(服務器所在區域,就近選擇即可)、“二級域名”(會最終出現在生成的公共互聯網地址中,作為網絡地址的標識之一)和“描述”(可以看做這條數據隧道的描述,能夠與其他隧道區分開即可)。完成這幾項設置后,就可以點擊右側的“保留”按鈕,將這條數據隧道保留下來。

img

當然,如果這條數據隧道不打算再使用,還可以點擊右側的“x”將其輕松刪除,節約寶貴的隧道名額。

img

2.3 Cpolar穩定隧道(本地設置)

完成cpolar云端的設置,并保留了空白數據隧道后,我們回到本地的cpolar客戶端,將云端生成的空白數據隧道與本地的測試頁面連接起來。

在本地設備上打開并登錄cpolar客戶端(可以在瀏覽器中輸入localhost:9200直接訪問)。點擊客戶端主界面左側“隧道管理”項下的“隧道列表”按鈕,進入本地隧道的頁面,再點擊對應隧道的“編輯”按鈕。

img

在本地隧道的“編輯”頁面(與創建本地臨時隧道的頁面一樣),我們只要對“域名類型”進行修改,就能將cpolar云端設保留的公共互聯網地址,與本地cpolar創建的tipask數據隧道連接起來。

我們已經在cpolar云端預留了二級子域名的數據隧道,因此改選為“二級子域名”(如果預留的是自定義域名,則勾選自定義域名),并在下一行“Sub Domain”欄中填入預留的二級子域名,這里我們填入“tipaskweb”。

img

完成“域名類型”的更改后,就可以點擊頁面下方的“更新”按鈕,將cpolar云端的空白數據隧道與本地tipask網站連接起來,即生成了能夠長期穩定存在的內網穿透數據隧道。

3. 公網訪問測試

最后,我們再次進入“在線隧道列表”頁面,這時我們就會發現tipask的公共互聯網地址已經發生了變化,我們將更新后的tipask網站公共互聯網地址粘貼到瀏覽器中,就能使用新地址訪問到本地ubuntu系統上的tipask網站。

img

img

4.結語

Tipask網站從基本上看,實際與論壇網站很相似,因此在安裝和部署上并沒有太大的難度。而這樣的較低難度的網站部署,則對每隔用戶都很友好,我們可以將家中閑置的硬件,安裝運行資源要求較少的ubuntu系統,搭配cpolar創建的內網穿透數據隧道,讓閑置的硬件成為我們私人專屬的服務器,部署各種我們所需的網站。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/18850.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/18850.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/18850.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

摸魚大數據——Hive表操作——復雜類型

1、hvie的SerDe機制 其中ROW FORMAT是語法關鍵字,DELIMITED和SERDE二選其一。本次我們主要學習DELIMITED關鍵字相關知識點 如果使用delimited: 表示底層默認使用的Serde類:LazySimpleSerDe類來處理數據。 如果使用serde:表示指定其他的Serde類來處理數據,支持用戶自…

【python 進階】 繪圖

1. 將多個柱狀繪制在一個圖中 import seaborn as sns import matplotlib.pyplot as plt import numpy as np import pandas as pd# 創建示例數據 categories [A, B, C, D, E] values1 np.random.randint(1, 10, sizelen(categories)) values2 np.random.randint(1, 10, siz…

代碼隨想錄35期Day53-Java

Day53題目 LeetCode.1143最長公共子序列 核心思想:這道題是我動態規劃的啟蒙題目,已經做了很多遍了,dp數組的變化方法是:相同則是左上角1, 不相同則是上和左中的最大值 class Solution {public int longestCommonSubsequence(String text1, String text2) {int[][] dp new …

前端Vue自定義輪播圖組件的設計與實現

摘要 隨著技術的發展,前端開發的復雜性日益增加。傳統的整塊應用開發方式在面對頻繁的功能更新和修改時,往往導致整體邏輯的變動,從而增加了開發和維護的難度。為了應對這一挑戰,組件化開發應運而生。本文將以Vue中的自定義輪播圖…

GEE 利用增強的Sentinel-2像元物候特征精確提取水稻分布

題目:An enhanced pixel-based phenological feature for accurate paddy ricemapping with Sentinel-2 imagery in Google Earth Engine 期刊:ISPRS Journal of Photogrammetry and Remote Sensing(IF:14.9) 第一作者&#xff1a…

HiWoo Box工業4G網關

在飛速發展的工業4.0時代,數據已成為驅動工廠智能化、自動化的核心力量。而如何將這些散布在工廠各個角落的數據高效、安全地匯集起來,成為企業提升生產效率、降低運營成本的關鍵。今天,我們將為您介紹一款4G網關產品——HiWoo Box&#xff0…

揭秘SQL中的公用表表達式:數據查詢的新寵兒

歡迎來到我的博客,代碼的世界里,每一行都是一個故事 揭秘SQL中的公用表表達式:數據查詢的新寵兒 前言公用表表述的概述非遞歸CTE的作用遞歸CTE的作用CTE性能優化 前言 你是否曾經為SQL查詢的復雜性而困擾不已?尤其是那些讀寫層子…

服務器數據恢復—RAID5陣列崩潰如何恢復上層OA和oracle數據庫的數據?

服務器數據恢復環境&故障: 某公司的一臺服務器中的raid5磁盤陣列有兩塊磁盤先后掉線,服務器崩潰。故障服務器的操作系統為linux,操作系統部署了oa,數據庫為oracle。oracle數據庫已經不再對該oa系統提供后續支持,用…

圖形學初識--矩陣和向量

文章目錄 前言正文向量什么是向量?向量涉及哪些常見計算?1、取模2、歸一化3、向量加法4、向量減法5、向量與標量乘6、向量點乘(內積)7、向量投影 向量有哪些基本應用? 矩陣什么是矩陣?矩陣涉及哪些常見計算…

數據庫中的六大鎖

目錄 一、死鎖 二、鎖的區間劃分 1、間隙鎖(Gap Locks) 2、臨鍵鎖(Next-key Locks) 三、鎖的粒度劃分 1、表級鎖(Table-level lock) 2、行級鎖(Record Locks) 3、頁級鎖 四、…

一分鐘教你學浪app視頻怎么緩存

你是否在學浪app上苦苦尋找如何緩存視頻的方法?你是否想快速、輕松地觀看自己喜歡的視頻內容?那么,讓我們一起探索一分鐘教你如何緩存學浪app視頻的技巧吧! 學浪下載工具我已經打包好了,有需要的自己下載一下 學浪下…

【JavaScript】ECMAS6(ES6)新特性概覽(二):解構賦值、擴展與收集、class類全面解析

🔥 個人主頁:空白詩 🔥 熱門專欄:【JavaScript】 文章目錄 🌿 引言五、 Destructuring Assignment - 解構賦值,數據提取的藝術 🎨📌 數組解構📌 對象解構📌 特…

動態規劃之單詞拆分

這次分享一道關于動態規劃的leetcode,單詞拆分。 單詞拆分 給你一個字符串 s 和一個字符串列表 wordDict 作為字典。如果可以利用字典中出現的一個或多個單詞拼接出 s 則返回 true。注意:不要求字典中出現的單詞全部都使用,并且字典中的單詞…

【技術】漢諾塔的遞歸問題解析及多語言實現

漢諾塔的遞歸問題解析及多語言實現 漢諾塔(Hanoi Tower)問題是一個非常經典的遞歸問題。它起源于一個古老的傳說:有三個柱子和64個大小不一的金盤,開始時這些金盤按從小到大的順序放在柱子A上,目標是在柱子B上按同樣的…

Java——Java開發環境

一、JDK 1、什么是JDK JDK(Java Development Kit,Java 開發工具包)是用于開發 Java 應用程序的核心工具包。它包含了編寫、編譯、調試和運行 Java 程序所需的一切工具和庫。JDK 是每個 Java 開發者必備的工具。 2、JDK 主要組件 JDK主要包…

HNU-計算機體系結構-實驗3-緩存一致性

計算機體系結構 實驗3 計科210X 甘晴void 202108010XXX 文章目錄 計算機體系結構 實驗31 實驗目的2 實驗過程2.0 預備知識2.0.1 多cache一致性算法——監聽法2.0.1.1 MSI協議2.0.1.2 MESI協議2.0.1.3 本題講解 2.0.2 多cache一致性算法——目錄法2.0.2.1 有中心的目錄法2.0.2…

A2B V2.0協議學習筆記(非正式版本)

一、說明 A2B全稱是 Automotive Audio Bus 汽車音頻總線,主要是解決傳統音頻總線線多、線重、成本貴等問題。 A2B V2.0總線相對V1.0主要變化點: 速率提升,高達98.304Mbps,全雙工模式 編碼方式,由之前的曼徹斯特編碼變為QPSK(正交相移鍵控)編碼,每個符合2bit數據,因此…

隨手記:多行文本域存數據有換行,回顯數據換行展示

1.在新增的時候存儲數據 <el-input type"textarea"v-model"XXXX"></el-input> 2.詳情頁返回的數據&#xff1a; replace一頓操作確實復雜 最快的方法直接寫個樣式:style"white-space: pre-line" 即可行內或者class樣式都可以 …

B2126 連續出現的字符

連續出現的字符 題目描述 給定一個字符串&#xff0c;在字符串中尋找第一個連續出現次數不低于 k k k 次的字符。 輸入格式 2 2 2 行。第 1 1 1 行是 k k k&#xff1b;第 2 2 2 行是僅包含大小寫字母的字符串。 輸出格式 字符串中第一個連續出現次數不低于 k 次的字符…

Python面試寶典:Python中與動態規劃和排序算法相關的面試筆試題(1000加面試筆試題助你輕松捕獲大廠Offer)

Python面試寶典:1000加python面試題助你輕松捕獲大廠Offer【第二部分:Python高級特性:第十二章:高級數據結構和算法:第二節:Python中實現各類高級數據結構與算法三】 第十二章:高級數據結構和算法第二節:Python中實現各類高級數據結構與算法2.3、python中與動態規劃和排…