EZHTTP建站,Discuz建立社群流程重現
之前用過EZHTTP這套好用的LAMP,LNMP,LNAMP可配置自動安裝包,在方便的同時也提供了一定的自主權,美中不足的就是配置過程有些慢(大約一個小時)。
最近想自己建個論壇玩玩,搜到了Discuz這個開源專案,發覺建站原來也是如此簡單,我在配置過程中遇到了一些彎路,在此寫出來希望能給大家省些時間,正常的話半天就能搞定LAMP+Discuz這一套了!
1、安裝LNMP(或者LAMP,LNAMP)
安裝過程可以說是很簡潔明瞭,大部分設定都可以用預設值,除非有特殊用途(比如靜態、動態頁面載入多),正常安裝LAMP或者LNMP,沒有個半天時間很難成功,而且步驟偏多,要改的配置項也很多,一不小心就會錯了哪部,所以新手的話建議還是用EZHTTP這套來安裝。
安裝成功後,在瀏覽器輸入HTTP://本機ip/目錄名/檔名 ,就可以顯示出相應的檔案效果了,建議自己驗證下再往下一步走。
例如:我想呼叫的檔案是在資料夾nginx--http--forum下的index.php,那麼nginx/http不需在位址列中特意標出,只需要打出http://localhost/forum/index.php就行了
2、安裝discuz論壇
安裝完後輸入HTTP://本機ip/論壇所在的目錄名/就ok了。
需要說明的是我所經歷的一些問題,他們分別是:
(1)mysql開放異地登陸許可權
我在centos6.3上裝完LNMP後,使用navicat這個軟體登陸資料庫,結果是提示Mysql:is not allowed to connect to this MySQL server,查詢後是mysql沒有授權遠端登入,通過兩種方法可以解決該問題
改表法:在本地登入mysql,更改 "mysql" 資料庫中 "user" 表的 "host" 項,從"localhost"改為"%"這樣所有使用者均可實現遠端登入,程式碼實現為:
mysql -u root -p
mysql>select host, user from user;
>use mysql;
mysql>update user set host = '%' where user = 'root';
授權法:如果只想開放個別用戶(例如root使用密碼root123)從任何主機連線到mysql伺服器的話:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123
如果想允許使用者root從ip為192.168.24.131的主機連線到mysql伺服器,並使用root123作為密碼:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.131' IDENTIFIED BY 'root123' WITH GRANT OPTION;
(2)iptables設定,開發22,80,3306埠
使用ssh方式遠端登陸無效,經查詢,是iptables沒有開放相應埠,我們講22(ssh),80(http),3306(資料庫)這幾個埠開放,方法為:
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
然後儲存:
/etc/rc.d/init.d/iptables save
最後重啟防火牆以便改動生效:(或者直接重啟系統)
/etc/init.d/iptables restart
到此為止埠開放完成,常見的iptables配置,可以參考百度百科iptables的相關內容。
(3)修改php.ini中的相應項並重啟服務
在使用discuz時會有一步提示php.ini中有個量需要修改(具體哪個量忘記了),修改後要重啟php-fpm和使用到php服務的nginx。
php-fpm重啟:
ps aux | grep php-fpm找到相應的master項
kill pid值
如果殺不掉就kill -9 pid值
/usr/local/php/sbin/php-fpm
nginx重啟:
找到nginx-sbin路徑,輸入./nginx -s reload,當然也可以kill了以後再執行程序。
最終效果
爽玩去了~