04.01 教程:從零開始搭建 Discourse 論壇

航通社,先關注

,再加星

航通社的朋友们 | 教程:从零开始搭建 Discourse 论坛

航通社微信:lifeissohappy微博:@航通社

航通社的朋友们 | 教程:从零开始搭建 Discourse 论坛

航通社(微信公眾號:lifeissohappy)有一個微信群,名字就叫“航通社的朋友們”。以下這篇教程就來自群內同學TrickleHub撰寫,引言部分經過航通社編輯。

歡迎大家加入讀者群(限時免費)並把你的原創稿件踴躍投遞給我們,每週日我們會發布群週報,同時刊登大家的優秀作品。

加入讀者群的方法請見文章底部。

為什麼選擇 Discourse

提到論壇,常用中文的讀者一定會想到 Discuz!,phpwind 這兩個論壇系統。更早的 PHPbb、動網論壇(DVbbs)等也是老網民的美好回憶。

然而,自從 Discuz! 和 phpwind 分別被騰訊和阿里收購後,其版本更新已經陷於停滯,從技術和安全性角度看,都已經遠遠不適合現在的互聯網的需求。而且,鑑於商業軟件可能帶來的版權隱患,也有必要尋找一些開源的論壇框架方案。

此時,相對於 Flarum、NodeBB 等對手,Discourse 的優勢有以下這些:

(1)多功能,高度可定製:可以按需做成論壇式和 Wiki 式,也包含郵件列表、寫博客等功能。

(2)繁榮的社區:完善的多語言、全球化支持,有活躍的官方和民間社區,提供插件、魔改等多方面的義務諮詢。本文作者從 0 基礎開始自學建站過程,其中得到了英文社區跨越時差的很多幫助。

(3)強引導和設計感:優雅簡單大方的界面,完備的新手引導過程,有助於營造一個良好的社區氛圍。

相應的,Discourse 的缺點是基於 Ruby on Rails,所以很吃服務器資源(但如果是雲主機無所謂)。

以採用 AWS 為例,從購買主機、域名到建站的全過程

由於微信編輯器無法啟用所有微信站外鏈接,以下涉及到網址的地方,請在灰字部分複製網址,粘貼到瀏覽器打開。

1、註冊

一個 AWS 賬號

AWS(亞馬遜提供的雲服務,用於主機託管):https://aws.amazon.com/cn/註冊:https://portal.aws.amazon.com/billing/signup#/start

提示: 激活 AWS 服務可能耗時較長,我綁定的信用卡完成 1 美金的授權之後 23 小時 55 分鐘後才完全激活

2、註冊一個 NameSilo 賬號

NameSilo(註冊域名的服務,比國內供應商選擇更多,相對也更便宜):https://new.namesilo.com/註冊:https://new.namesilo.com/create-account

3、在 NameSilo 上搜索並選擇一個你喜歡的域名,在支付頁面完成支付

搜索:https://new.namesilo.com/domain-search支付頁面:https://new.namesilo.com/billing

提示: 支持使用支付寶支付,但是需要填寫支付寶郵箱賬號;如果之前沒有綁定郵箱,可以參考支付寶提供的支持文檔

支持文檔:https://cshall.alipay.com/lab/help_detail.htm?help_id=211761

4、前往 AWS EC2 控制檯,創建實例

EC2 控制檯:https://console.aws.amazon.com/ec2/v2/home

a. 選擇最新版本的 Ubuntu Server LTS 即可

b. 因為 AWS 註冊成功後提供 12 個月每月免費使用 Linux、RHEL 或 SLES t2.micro 實例 750 小時,那在這裡就選擇 <code>t2.micro/<code>實例

免費:https://aws.amazon.com/cn/free/?awsf.Free%20Tier%20Types=productcategories%23compute

c. 點擊<code>審核和啟動/<code>,會自動跳轉至<code>審核/<code>,在這裡需要修改一下“存儲”選項,因為它默認的 8GiB 太小了,事實上 Discourse 要求的最低配置 10GiB 也不夠,我目前使用的是 16GiB

要求:https://github.com/discourse/discourse/blob/master/docs/INSTALL.md

d. 修改完成後,點擊<code>啟動/<code>,它會提示你創建一個密鑰對,按照它的提示去做就可以了,不過需要注意的是:務必保存好它提供的<code>私有密鑰文件(*.pem 文件)/<code>,因為這個文件僅能下載一次

e. 自動跳轉至<code>啟動狀態/<code>頁面,頁面中有一個如何連接至您的 Linux 實例的鏈接,在新建標籤頁中打開它

如何連接至您的 Linux 實例:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/AccessingInstances.html

5、因為我使用的是 Windows 系統,選擇了使用 PuTTY 從 Windows 連接到 Linux 實例,這裡只需要看使用 PuTTYgen 轉換您的私有密鑰啟動 PuTTY 會話即可

使用 PuTTY 從 Windows 連接到 Linux 實例:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/putty.html

使用 PuTTYgen 轉換您的私有密鑰:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/putty.html#putty-private-key

啟動 PuTTY 會話:https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/putty.html#putty-ssh

6、按照 30 分鐘內在雲上部署 Discourse(Set up Discourse in the cloud in under 30 minutes) 這個說明文檔去做就行。

這裡直接跳轉至 Install Docker / Git,照著說明文檔一步一步操作即可,一直操作到 Edit Discourse Configuration 這一步。

30 分鐘內在雲上部署 Discourse:https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md

Install Docker / Git:https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md#install-docker--git

Edit Discourse Configuration:https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md#edit-discourse-configuration

在這裡解釋一下 Edit Discourse Configuration 這一步中 <code>Answer the following questions when prompted:/<code>後要求你輸入的一部分內容應該如何填寫:

a. <code>Email address for admin account(s)? [[email protected],[email protected]]:/<code>這一項,需要輸入的是管理員的郵箱賬號(後續步驟中會需要驗證郵箱,請務必確保郵箱真實有效),至少輸入一個,可以輸入多個,(如果輸入多個郵箱)用<code>,/<code>分隔

b.

SMTP server address? [smtp.example.com]:

SMTP port? [587]:

SMTP user name? [[email protected]]:

SMTP password? [pa$$word]:

這四項,需要填寫的分別是用於向所有用戶(包括版主和管理員)發送包括但不限於摘要/確認並激活賬戶/系統提醒的郵箱的 SMTP 服務的服務器地址、端口、用戶名和密碼

如果你不是特別在意郵箱是否以你的域名結尾,填寫一個你註冊的支持 SMTP 服務的郵箱信息即可,至於如何填寫,請參考郵件服務商提供的參考文檔

這裡以 Gmail 為例:在 Gmail 幫助中心搜索 <code>SMTP/<code>,點擊展示的第一個結果

幫助中心:https://support.google.com/mail

航通社的朋友们 | 教程:从零开始搭建 Discourse 论坛

按照網頁中給出的步驟一步一步操作就可以了。

航通社的朋友们 | 教程:从零开始搭建 Discourse 论坛

c. 建議填寫 <code>Let's Encrypt account email? (ENTER to skip) [[email protected]]:/<code>這一項,以支持 HTTPS

7.前往 AWS EC2 的安全組面板

安全組面板:https://console.aws.amazon.com/ec2/v2/home#SecurityGroups

選擇要修改的安全組(一般情況下,你需要選擇的是組名為 <code>launch-wizard-1/<code>的安全組),選擇<code>入站/<code>,點擊<code>編輯/<code>,在彈出的對話框中,選擇<code>添加規則/<code>,在<code>類型/<code>下拉菜單中選擇<code>HTTP/<code>,再次選擇<code>添加規則/<code>,並在<code>類型/<code>下拉菜單中選擇<code>HTTPS/<code>,點擊<code>保存/<code>

8.前往 NameSilo 的 DNS 管理頁面(需要先訪問域名管理頁面,選擇要管理的域名,隨後跳轉至 DNS 管理頁面)和 AWS EC2 的實例面板

域名管理:https://new.namesilo.com/account_domains.php實例面板:https://console.aws.amazon.com/ec2/v2/home#Instances

在 DNS 管理頁面的 <code>Select the resource record type you want to create:/<code>選擇<code>A/<code>,隨即跳轉至一個新的頁面。在這個頁面中:

a. <code>HOSTNAME/<code>一欄,填寫你在《30 分鐘內在雲上部署 Discourse》中 Edit Discourse Configuration 步驟中的<code>Hostname for your Discourse? [discourse.example.com]:/<code>填寫的類似<code>discourse/<code>的部分,

b. <code>IPV4 ADDRESS/<code>填寫 AWS EC2 的實例面板中選擇實例後顯示的<code>IPv4 公有 IP/<code>,然後點擊<code>SUBMIT/<code>即可。

9、稍等片刻。

訪問你在《30 分鐘內在雲上部署 Discourse》中 Edit Discourse Configuration 步驟中的 <code>Hostname for your Discourse? [discourse.example.com]:/<code>填寫的那個網址,效果應該是題圖這樣的。

那麼,恭喜你成功安裝了 Discourse!

TrickleHub 有另一個教程講了中國用戶可能在使用 AWS EC2建站時遇到的其它問題,點擊 閱讀原文可以查看。

本文由“航通社的朋友們”群內同學 TrickleHub 撰寫,引言部分經過航通社編輯。如果你覺得本文有幫助,可以通過掃碼支持作者:

航通社的朋友们 | 教程:从零开始搭建 Discourse 论坛

“航通社的朋友們”這個群目前是免費加入的。

如果你感興趣,可以在微信搜索 hangtongshe 添加航通社助理,添加時請務必在附言中說明你想進群

歡迎隨手轉發到朋友圈。尋求轉載授權,請關注微信公眾號航通社 (ID:lifeissohappy),並在後臺留言輸入關鍵字轉載。轉載時請保留版權信息。

和 3000+ 個小夥伴一起點 在看


分享到:


相關文章: