利用Google雲搭建Flarum輕論壇
前言
本教程面向新人撰寫,無需任何編程語言基礎,教你如何搭建一個輕論壇。
您可以訪問https://flarum.org.cn/來了解該更多相關信息。
按照本教程的操作方法,您可以順利完成搭建並將Flarum論壇上線。
在開始之前你需要具備以下條件:(賬戶註冊需要由您自行完成)
- 能夠正常訪問Google網站
- 一張信用卡(用於註冊Google雲服務賬戶和G-suite賬戶)
- 一個海外地址(用於註冊域名時使用)
請注意,安裝和搭建需要您消耗一定的成本包括:
- 2個小時的安裝&配置時間
- Google域名費用12美元/年& G-Suite會員費用5美元/月
您可以通過使用域名運營商的域名和STMP郵箱發送服務來節省費用。關於如何節省費用,不在本教程的範圍之內。請您結合其它相關教程來完成這一配置。請注意,域名和郵箱需要由同一家服務商提供。
教程
Flarum搭建過程中涉及以下環境:
- 一個運行CentOS7版本的Linux服務器(本教程以Google雲服務器為例)
- 寶塔面板,一鍵搭建LAMP環境(Linux、Apache、MySQL、PHP)
- 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.25MySQL 5.7.19Pure-Ftpd 1.0.47PHP 7.2PhpMyAdmin 4.4
7、在寶塔面板中選擇軟件管理 – PHP7.2 – 安裝擴展安裝下列擴展。fileinfo擴展opcache擴展exif擴展
然後在禁用函數中刪掉下方選項。proc_open
8、在寶塔面板中選擇網站然後添加站點。域名:填寫你的域名例如baidu.com備註:任意根目錄:/www/wwwroot/abcFPT:創建|用戶名:abc數據庫:創建MySQL |用戶名:abcPHP: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:SMTPHOST:smtp.gmail.comPort:465Encryption:SSLUsername:用戶名@你的域名.com(G-suite賬戶)Password:你的G-suite密碼Sender:用戶名@你的域名.com (G-suite賬戶)
到這裡就基本大功告成了!Beta8截止目前:12月8日還沒有更新中文語言包,暫時就用英文版就好,日後看其他教程使之完成中文化。
存在一些bug是:用戶找回密碼時,會為用戶發送重置密碼鏈接,點擊後,進行重置,此時如果輸入6位或不符合規則的密碼時並不進行提示反饋,導致用戶誤以為修改成功。
重新點擊鏈接設置一個新的密碼,一定要8位以上,成功修改後鏈接將失效。
搜索功能無法實現內容搜索,因為我也是新手,12月3號才開始了解什麼是LAMP什麼是SSH什麼是Linux這類的,希望你玩兒的開心。
我正在琢磨1個問題:
1、如何讓百度收入我的論壇
就是這樣子,Beta8有很多小毛病需要慢慢改進,希望大家嘗試。