利用Google雲搭建Flarum輕論壇

unit2nd發表於2018-12-08

前言

本教程面向新人撰寫,無需任何程式語言基礎,教你如何搭建一個輕論壇。
您可以訪問 https://flarum.org.cn/ 來了解該更多相關資訊。

按照本教程的操作方法,您可以順利完成搭建並將Flarum論壇上線。
在開始之前你需要具備以下條件:(賬戶註冊需要由您自行完成)

  1. 能夠正常訪問Google網站
  2. 一張信用卡 (用於註冊Google雲服務賬戶和G-suite賬戶)
  3. 一個海外地址(用於註冊域名時使用)

請注意,安裝和搭建需要您消耗一定的成本包括:

  1. 2個小時的安裝&配置時間
  2. Google域名費用12美元/年 & G-Suite會員費用 5美元/月

您可以通過使用域名運營商的域名和STMP郵箱傳送服務來節省費用。關於如何節省費用,不在本教程的範圍之內。請您結合其它相關教程來完成這一配置。請注意,域名和郵箱需要由同一家服務商提供。


教程

Flarum搭建過程中涉及以下環境:

  1. 一個執行CentOS7版本的Linux伺服器(本教程以Google雲伺服器為例)
  2. 寶塔皮膚,一鍵搭建LAMP環境(Linux、Apache、MySQL、PHP)
  3. Flraum 0.1.0 -Beta8 (2018年12月3日釋出)

第一部分 LAMP環境搭建

1、在瀏覽器中訪問 cloud.google.com 並登陸您的賬戶,點選 控制檯Compute Engine建立VM例項

名稱:任意名稱
區域:建議選擇香港和臺灣
地區:abc 任選
CPU:1個vCPU 或 微型CPU (搭建LAMP過程中CPU需要運算,建議選擇vCPU,然後在搭建完成後停止服務後降級成為微型CPU)
啟動磁碟:CentOS7
訪問許可權範圍:允許預設訪問許可權
防火牆:允許HTTP流量 & 允許HTTPS流量


2、點選 選單鍵 – VPC網路 – 外部IP地址 將剛才所建立的VM例項的外部IP地址設定為靜態(預設為臨時),需要設定一個名稱,請任意填寫。


3、點選 防火牆規則 建立一個新的防火牆規則。

名稱:任意名稱
目標:網路中的所有例項
來源過濾條件:選擇IP地址範圍 ;填寫為 0.0.0.0/0
協議和埠:【TCP:8888】【TCP:3036】


4、前往 VM例項 點選 連線SSH (連線到遠端Linux主機)。

為了防止SSH在安裝過程中掉線的問題,需要在SSH配置檔案中新增2條命令 將下列命令複製到SSH,並按回車即可(請使用快捷鍵複製貼上)

sudo vim /etc/ssh/ssh_config

該命令含意為 獲取許可權 開啟 ssh_config 檔案,檔案開啟後使用鍵盤方向鍵,找到一個合適的位置,按 i 鍵進入編輯模式,將下列2行命令新增到配置檔案內容當中,按ESC鍵退出編輯模式,按 : 鍵,輸入 wq 回車,儲存退出。(:wq會顯示在底部)

ClinetAliveInterval 30
ClineAliveCountMax 6

該代命令義為每隔30秒伺服器向客戶端傳送心跳。


5、在SSH中安裝寶塔皮膚(www.bt.cn)。
先獲取ROOT許可權,在SSH中輸入下列命令並回車。

sudo su

然後輸入下列寶塔皮膚的安裝命令並回車。(官網命令)

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

隨後SSH中會提示是否要安裝寶塔皮膚,在SSH中敲一下 y 回車,開始安裝。
安裝完成後,會生成寶塔皮膚的安全訪問連結和賬戶&密碼,請在本地電腦的瀏覽器中訪問連結。


6、在寶塔皮膚中搭建LAMP環境,請選擇下述配置,並以快速安裝的方式進行安裝。(安裝開始後將持續1.5小時,無需值守)

Apache 2.4.25
MySQL 5.7.19
Pure-Ftpd 1.0.47
PHP 7.2
PhpMyAdmin 4.4


7、在寶塔皮膚中選擇 軟體管理PHP7.2安裝擴充套件 安裝下列擴充套件。

fileinfo 擴充套件
opcache 擴充套件
exif 擴充套件

然後在 禁用函式 中刪掉下方選項。

proc_open


8、在寶塔皮膚中選擇 網站 然後 新增站點

域名:填寫你的域名 例如 baidu.com
備註:任意
根目錄:/www/wwwroot/abc
FPT:建立 | 使用者名稱:abc
資料庫:建立MySQL | 使用者名稱:abc
PHP:PHP-72
分類:預設


第二部分 Flarum安裝

1、安裝Composer,請在SSH中輸入下列命令:請逐行執行(共4組命令)

wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer
chmod a+x /usr/local/bin/composer
export PATH=$PATH:/root/.config/composer/vendor/bin
source /etc/profile

這段命令來自 https://www.godcheese.com/ind… 的教程內容。存在小瑕疵,但不影響使用。


2、安裝php-zip,請在SSH中輸入下列命令

yum install php-zip

3、安裝Flarum,在SSH中逐行執行下列命令(共4組)

cd /www/wwwroot/
mkdir flarum
cd flarum
composer create-project flarum/flarum . --stability=beta

這段命令含義為:移動到wwwroot資料夾,建立flarum資料夾,移動到flarum資料夾,使用Composer安裝flarum。


4、在寶塔皮膚中點選 網站網站名網站目錄

將目錄地址更改為 /www/wwwroot/flarum/ 並點選儲存。
執行目錄更改為/public 並點選儲存。


5、給資料夾授權,在SSH中設定執行下列命令,請逐行執行。(共2行)

chmod -R 0777 /www/wwwroot/flarum/storage
chmod -R 0777 /www/wwwroot/flarum/public/assets

6、進入Google域名管理頁面的DNS中,在自定義資源記錄中新增你的VM例項的IP地址。

例如: @ A 1h XX.XXX.XXX.XX


第三部分 配置Flarum

1、初始化Flarum,在瀏覽器中輸入你的域名地址,這時候你可以看到論壇已經開始執行,並需要進行配置

資料庫地址為:localhost
其他引數你都可以輕易的獲取,填上去就好了。


2、禁用快取,Flarum Beta8存在小的快取Bug,論壇內的重新整理頁面並不會重新整理內容,而是返回之前的某個時間段,其原因為快取問題。因此,我們只需禁用快取即可。
在寶塔皮膚點選檔案,找到 /wwww/wwwroot/flarum/public 這個資料夾,裡面有.hataccess檔案(外面還有一個,不要搞錯了)。點選編輯,在檔案中的第21行的空白處或第22行空白處開始新增下列程式碼。

<IfModule mod_headers.c>
    Header set Cache-Control "no-cache, no-store, must-revalidate"
    Header set Pragma "no-cache"
    Header set Expires 0
</IfModule>

3、為網站設定SSL,在寶塔皮膚中,選擇網站 – 你的域名 – 彈出設定視窗後,在SSL皮膚位置,申請一個寶塔SSL,然後在此期間你需要保證網站正常執行。
當你的SSL證照申請下來之後,點選部署,然後開啟強制HTTPS,然後在寶塔皮膚中選擇檔案皮膚,進入 /www/wwwroot/flarum 目錄下,有個config.php檔案,編輯它。
第16行有你的域名 http://xxx.com 這樣的,請將 http:// 改為https:// ,然後再次訪問你的網站,SSL安全鎖就出來了。


4、設定SMTP郵件傳送服務,讓你的論壇向新使用者傳送驗證郵件。
訪問G-suite,建立一個新的賬戶(與普通GOOGLE賬戶獨立,互不相通),然後繫結你的域名,繫結過程中需要為域名DNS新增CNAME記錄和MX記錄。(兩個網站請同時登陸,方便設定引數)

@ MX 1h 10 aspmx.l.google.com. 這個是谷歌郵箱伺服器,你必須新增到域名自定義資源當中

在G-suite建立過程會有引導你新增CNAME記錄,大概是

xxxxxxxxx CNAME 1h xxxxxxxxx.com

然後,你很快就會通過,成功後會讓你建立一個管理員賬戶,使用者名稱@你的域名.com 這樣的賬戶,請記號這個賬戶和密碼,在Flarum後臺中需要設定。
總之,這個註冊部分,你自己慢慢摸索吧,我當時也是各種找,各種嘗試,好不容以找得到。(記得看其他人的教程)

當設定完這一切之後,請訪問你的論壇,並進入後臺頁面,選擇EMALL皮膚,設定引數如下:

Driver:SMTP
HOST:smtp.gmail.com
Port:465
Encryption:SSL
Username:使用者名稱@你的域名.com(G-suite賬戶)
Password:你的G-suite密碼
Sender:使用者名稱@你的域名.com (G-suite賬戶)


到這裡就基本大功告成了!Beta8 截止目前:12月8日 還沒有更新中文語言包,暫時就用英文版就好,日後看其他教程使之完成中文化。
存在一些bug是:使用者找回密碼時,會為使用者傳送重置密碼連結,點選後,進行重置,此時如果輸入6位或不符合規則的密碼時並不進行提示反饋,導致使用者誤以為修改成功。
重新點選連結設定一個新的密碼,一定要8位以上,成功修改後連結將失效。
搜尋功能無法實現內容搜尋,因為我也是新手,12月3號才開始瞭解什麼是LAMP 什麼是SSH 什麼是Linux 這類的,希望你玩兒的開心。

我正在琢磨1個問題:
1、如何讓百度收入我的論壇

就是這樣子,Beta8有很多小毛病需要慢慢改進,希望大家嘗試。

相關文章