最近無意間發現幾個開源軟體的 Bug反饋系統使用的是
Flarum,Flarum是一款優雅簡潔論壇軟體,看起來還是相當不錯的,一時抑制不住想要嘗試一下。
由於伺服器使用的是AMHIntegration Environment,它相對於通常的直接安裝環境有很多的區別,這導致安裝過程中產生裡不少問題。這裡做個總結。
Flarum
Flarum 是一款優雅簡潔論壇軟體,讓線上交流變得更加輕鬆愉快。
AMH
AMH是國內首個開源的主機面板,AMH 支援使用者自由彈性組建運行環境與切換環境,您可以下載安裝不同版本的WEB伺服器、資料庫、指令碼軟體自由組合建立您需要的運行環境。
我使用的是 AMH5.X的付費版本, 4.X的免費版本也可以參考本教程。
目前伺服器環境是LNMP:
CentOS-6.6 64位
lnmp-2.5
mysql-generic-5.5.40
nginx-generic-1.6.0
php-7.0
Composer
Composer是 PHP 用來管理依賴(dependency)關係的工具。你可以在自己的項目中聲明所依賴的外部工具庫(libraries),Composer 會幫你安裝這些依賴的庫檔案。
Composer是安裝Flarum的必要工具。
安裝PHP擴充
這裡需要安裝Flarum所需要的必要的PHP擴充,先看下系統需求:
Flarum 系統需求
伺服器: Apache (需要支援 mod_rewrite)、Nginx、Lighttpd
PHP 5.5+,需要開啟的擴充:mbstring, pdo_mysql, openssl, json, gd, dom, fileinfo
MySQL 5.5+
特別注意:PHP是5.5+、MySQL 5.5+,如果版本過低可以使用AMH安裝更高版本,AMH支援多版本PHP和MySQL。
流程:
- 登入到AMH的管理面板
- 軟體下載 > fileinfo-1.0 > 下載並安裝到對應的環境
- 軟體下載 > mcrypt-1.0 > 下載並安裝到對應的環境
- 軟體下載 > pdo_mysql-1.0 > 下載並安裝到對應的環境
安裝Composer
Flarum官網的文檔要求使用Composer命令列的方式進行安裝,所以需要先安裝Composer:
使用SSH方式登入伺服器之後:執行
curl -sS https://getcomposer.org/installer | php
注意: 如果上述方法由於某些原因失敗了,你還可以通過 php >下載安裝器:
php -r "readfile('https://getcomposer.org/installer');" | php
這裡你可能會遇到 -bash php command not found的錯誤提示,請參考下文的 問題集錦。
PS: 安裝Composer文檔
安裝Flarum
環境搭建好了,這裡講解安裝Flarum的過程
官方安裝文檔
- 在AMH控制台下建立好一個網站(這裡指定為 A網站),並做好網域名稱解析,確認可以正常訪問
- 刪除 A網站下的所有檔案
- 建立好一個Flarum使用的MySQL資料庫和對應的使用者
- SSH下進入 A網站根目錄( cd /home/wwwroot/環境/domain/主網域名稱/web/)
- 執行安裝命令: composer create-project flarum/flarum . --stability=beta
- 配置 A網站的Nginx設定檔( /home/wwwroot/環境/vhost/主網域名稱.conf):參見 官方安裝文檔。特別注意: location ~* \.php$下的參數以自動產生的為準,還需要刪除自動產生的ErrorPage的配置資訊。
- 重載Nginx並訪問 A網站,填寫相關安裝資訊。(遇到檔案讀寫權限問題,查看下文問題集錦)
安裝Flarum中文語言套件
為了便於操作,我們安裝中文語言套件來進行預設語言的切換。
嘗試了幾種安裝方式,這裡推薦使用命令列安裝:
- SSH下進入 A網站根目錄
- 執行 composer require jsthon/flarum-ext-simplified-chinese即可
- 訪問 A網站,進入後台修改勾選中文擴充,並修改預設語言。
其他語言和擴充: https://discuss.flarum.org/d/1534-extension-list
問題集錦
可能遇到的問題:
-bash php command not found
Composer的安裝和使用是使用的php-cli的方式,AMH支援多版本的PHP,環境變數裡並未指定php-cli的版本,這裡需要我們把指定版本的 PHP加入到環境變數裡。
在 ~/.bash_profile裡加入:
PATH=$PATH:/usr/local/php-版本/binexport PATH
儲存修改後執行 source ~/.bash_profile使得修改生效。
PS:如果你使用的是其他發行版的Linux,請自行搜尋如何設定 PHP加入到環境變數。
requires ext-fileinfo * 或者 request for intervention/image
參見:
- http://stackoverflow.com/questions/24850136/i-have-ext-fileinfo-but-composer-says-it-is-missing
- http://amh.sh/bbs/post-6149-1-1.htm
簡單來說,就是咱們在AMH裡安裝的PHP擴充並沒有影響到 php-cli方式運行PHP的配置,需要我們手動同步一下配置:
cp /home/wwwroot/環境/etc/amh-php.ini /usr/local/php-版本/etc/php.ini
重載Nginx即可生效。
Please chmod this directory to 0775
當你訪問通過composer安裝好的 A網站時,遇到裡類似的許可權讀寫問題,對於AMH環境,我們需要執行:
sudo chown www:www -R /home/wwwroot/環境/domain/主網域名稱/web
這裡有一些討論:
- https://discuss.flarum.org/d/823-directorys-are-not-writable/46
- https://discuss.flarum.org/d/2209-directory-not-writable/3
上面的討論使用的使用者組和AMH的不一樣,AMH網站的使用者組是 www,結合實際情況才能真正解決問題。
其他
查看我們的成果: Cafeting的論壇
官方文檔適應最新版的Flarum,推薦
中文文檔較舊,有一定參考意義
AMHIntegration Environment相對於通常的直接安裝環境有很多的區別,使用的時候務必要考慮到。
如果有什麼問題,可以在部落格下留言或者通過下面的方式聯絡我:
你可以關注的我 Github、 CSDN和微博