詳解Discuz_WIN7_Apache_MySQL_PHP平臺搭建
我們在搭建Discuz論壇的時候,需要配置Web服務器Apache,php運行環(huán)境和MySQL數(shù)據(jù)庫。下面詳細的講述了這一過程。
一、環(huán)境及軟件:
1.操作系統(tǒng):win7旗艦版;
2.Discuz源文件:Discuz_7.2_FULL_SC_GBK.zip(含UCenter)
http://www.comsenz.com/downloads/install/discuz#down_open.
3.PHP:php-5.2.4-Win32.zip.
4.Web服務器:ApacheHttpserver2.2(httpd-2.2.19-win32-x86-openssl-0.9.8r.zip)
(本來打算用IIS,還專門把操作系統(tǒng)從win7家庭版升級到了旗艦版,但后來覺得IIS不夠方便,而且以后服務器使用linux的話,Apache還是***。)
5.數(shù)據(jù)庫:Mysql5(mysql-essential-5.1.55-win32.zip)
6.輔助工具:NavicatforMySQL,phpMyAdmin-3.4.3.1-all-languages.zip,兩個都是mysql的管理工具,個人可根據(jù)實際選擇,我兩個都用。
7.ZendOptimizer-3.3.3.zip,手冊中提到了,不過暫時未用到。
二、安裝:
1.安裝apache:
這個比較簡單,可視化界面,安裝在F:/Apache2.2目錄下,安裝成功后,在桌面任務欄右下角有一個圖標,可查看是否運行,若己運行,在IE中輸入http://localhost/可以看到"ItWorks!",說明安裝成功!若未運行成功,看是否因為80端口被占用(如果開始安裝了IIS,很可能是被占用了)。
接下來就需要配置httpd.conf文件(Apache2.2\conf目錄下,老規(guī)矩,先備份原文件):
(1)可以修改默認網(wǎng)站根目錄,不過我沒有修改這個,仍使用原來的默認目錄(Apache2.2/htdocs):
在X:/下建立文件夾wwwroot,以此作為網(wǎng)站的根目錄
DocumentRoot"F:/Apache2.2/htdocs"
改為DocumentRoot"X:/wwwroot"
注意:Apache修改DocumentRoot后訪問頁面出現(xiàn)403錯誤,解決辦法如下:
修改Apache配置文件httpd.conf中的:
- <Directory/>
- OptionsFollowSymLinks
- AllowOverrideNone
- Orderdeny,allow
- Denyfromall
- Satisfyall
- </Directory>
為
- <Directory/>
- OptionsFollowSymLinks
- AllowOverrideNone
- Orderdeny,allow
- #
- Denyfromall
- Satisfyall
- </Directory>
即刪除Denyfromall行。
(2)修改默認主頁
當訪問目錄時,apache會自動導入的主頁,優(yōu)先級以先后順序為準。
把DirectoryIndexindex.html改為 :DirectoryIndexindex.htmlindex.jspindex.phpdefault.jspdefault.phpindex.html.var
(3)讓Apache解析php頁面
打開httpd.conf文件,讓我們加幾行進去,這樣我們Apache就可以解析.php和.phps文件了。我們需要注意conf文件的兩個部分,***部分是DynamicSharedObject(DSO)Supportlist,第二部分是cgi-bindirectory。
首先讓我們找到如下所示的DSO列表。
- #DynamicSharedObject(DSO)Support
- #
- #tobeabletousethefunctionalityofamodulewhichwasbuiltasaDSOyou
- #havetoplacecorresponding`LoadModule'linesatthislocationsothe
- #directivescontainedinitareactuallyavailable_before_theyareused.
- #Staticallycompiledmodules(thoselistedby`httpd-l')donotneed
- #tobeloadedhere.
- #
- #Example:
- #LoadModulefoo_modulemodules/mod_foo.so
這還有許多,一直找到***一行:
- #LoadModulessl_modulemodules/mod_ssl.so
上面一行是該列表的***一行,按回車產(chǎn)生一個空的行,在這個空行內(nèi)加入下面這行:
LoadModulephp5_moduleX:/Server_Core/PHP/php5apache2_2.dll
注意:這里是根據(jù)你自己apache和php的版本來確認的,如果你是PHP4設(shè)置就不一樣了,有可能是:
LoadModulephp4_moduleX:/Server_Core/php/sapi/php4apache2.dll
在關(guān)閉conf文件之前,我們需要再加入兩行。找到CGI-BIN目錄,為了節(jié)省時間,可以這樣找:按CTRL+F,(譯者注:如果你是在記事本而不是寫字板里編輯這個文本,那么,應該用快捷鍵F3)查找<Directory"C:/Apache2/cgi-bin">,在第二個</Directory>后面兩次回車,以便加入下面兩行:
- AddTypeapplication/x-httpd-php.php.phtml.php3.php4
- AddTypeapplication/x-httpd-php-source.phps
添加好后,保存你的conf文件,并重新啟動你的apache服務器,如果不能啟動apache,這個時候要查看哪里設(shè)置錯誤了。
#p#
2.安裝php:
(1)解壓php-5.2.4-Win32.zip,至F:/php-5.2.4-Win32,重命名php-5.2.4-Win32文件夾為PHP,即php的所有文件都放在F:/PHP文件夾下。
(2)加載環(huán)境變量。我的電腦,屬性高級環(huán)境變量path,F:/PHP;F:/PHP/ext
(3)進入F:/PHP文件夾,將php.ini-dist先備份一個,然后重命名為php.ini;
(4)打開php.ini文件,找到:extension_dir="./"將其改為:extension_dir="F:/PHP/ext"
(5)找到:WindowsExtensions,在WindowsExtensions下方的動態(tài)模塊配置中,需要打開以下模塊支持:(去掉模塊配置每行前面的;號即可)
extension=php_mbstring.dll extension=php_gd2.dll extension=php_mysql.dll。
(6)找到:disable_functions= ……改為:disable_functions=phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
(7)保存php.ini文件,并將其復制到C:/Windows/
以上是用戶手冊的配置方法,可以按照如上的方法配置PHP,沒有問題,但是中間我們會有一些東西需要更改進行校驗,避免后期部署產(chǎn)生問題。
在第(5)步
disable_functions=phpinfo,passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server
去掉"phpinfo",這個是PHP的一個函數(shù),官方的把這個函數(shù)給禁用了,造成函數(shù)不能運行,先把"phpinfo"先去掉,可以讓我們測試PHP的環(huán)境有沒有部署好。
現(xiàn)在就開始測試我們的PHP環(huán)境部署好了沒有?
打開apache,在F:/Apache2.2/htdocs建立phpinfo.php,編輯輸入如下內(nèi)容:
- <?php
- phpinfo();
- ?>
保存。
重新啟動apache。
在IE中輸入http://localhost/phpinfo.php,如果出現(xiàn)php的環(huán)境變量,說明php,安裝成功一半,為什么說一半呢,因為有可能你的機器以前裝過php,可能配置文件的讀取是不正確的。
現(xiàn)在就讓我們校對下相關(guān)的配置正確不?
現(xiàn)在特別要注意:紅色框框出現(xiàn)的php.ini是C:/Windows/,如果不是就需要你注意了,這個時候需要刪除其他路徑下面的配置文件,然后重新啟動apache.
如果這個成功了以后,這樣PHP就完全的成功了,這個時候可以把這個phpinfo的函數(shù)重新加入disable_functions中去了。
現(xiàn)在php也配置好了,現(xiàn)在就開始部署工程吧。
3.安裝MYSQL
Mysql的安裝完全按照用戶手冊上的內(nèi)容進行安裝就ok了,安裝完成后,可用cmd連接測試是否成功。不過有些機器因為環(huán)境的問題可能相關(guān)mysql的動態(tài)鏈接庫dll需要進行更改。
在安裝手冊是拷貝了mysql的安裝目錄的libmySQL.dll到system32下面,在后期安裝BBS驗證數(shù)據(jù)庫的時候就會不通過,需復制php目錄下的libmysql.dll
文件到C;/windows/system32下。
非常重要:需要復制php目錄下的libmysql.dll文件到system32下。
4.安裝Discuz論壇
(1)F:\Apache2.2\htdocs下面建立bbs文件夾,解壓Discuz_7.2_FULL_SC_GBK.zip,然后把upload下面所有文件拷貝到你的X:/wwwroot/bbs/下面
重新啟動apache,啟動完成后,在瀏覽器中運行安裝程序(http://localhost/bbs/install)進入準備安裝頁面:
(2)安裝NavicatforMySQL,使用root/root登錄(在安裝mysql的時候設(shè)置的密碼)創(chuàng)建數(shù)據(jù)庫dz72,或直接用cmd命令行登陸創(chuàng)建。
(3)點擊下一步,至"3.安裝數(shù)據(jù)庫"環(huán)境,輸入相關(guān)信息(根據(jù)Apache2.2\htdocs\bbs\config.inc.php文件核對配置信息是否正確):數(shù)據(jù)庫服務器:localhost 數(shù)據(jù)庫名:dz72 數(shù)據(jù)庫用戶名密碼:root 數(shù)據(jù)表前綴:cdb_。填寫管理員信息:可根據(jù)你的需要填寫管理員賬號和密碼。選中"安裝測試數(shù)據(jù)",點擊一下步,安裝成功的話會提示你填寫聯(lián)系方式,或跳過。(也可以直接在論壇源碼目錄下找到相應的sql執(zhí)行:UC-Apache2.2\htdocs\bbs\uc_server\install\uc.sql,discuz-Apache2.2\htdocs\bbs\install\discuz.sql??墒褂肗avicat工具,在連接數(shù)據(jù)庫后,右鍵導航上的"表",選擇"運行SQL文件",然后選擇上述兩個sql文件,執(zhí)行即可。)
(4)安裝完成,跳到論壇首頁。
(5)測試一些連接是否成功:
Discuz論壇:http://127.0.0.1/bbs
UCenter用戶管理中心:http://127.0.0.1/bbs/uc_server/admin.php
phpMyAdmin:http://127.0.0.1/phpMyAdmin/index.php(需解壓phpMyAdmin-3.4.3.1-all-languages.zip至Apache2.2\htdocs\phpMyAdmin)。
做完上面的工作,我們的Discuz_WIN7_Apache_MySQL_PHP平臺就搭建成功了。
【編輯推薦】