PHP是校園網(wǎng)站升級(jí)換代的主要技術(shù)之一,因此,承載其存在環(huán)境的搭建和配置也就成為了關(guān)鍵。本文通過(guò)對(duì)我校校園網(wǎng)站的升級(jí)過(guò)程總結(jié),整理出在Windows 2003 Server系統(tǒng)下,PHP與ASP共存的配置、調(diào)試步驟以及在此過(guò)程中遇到的問(wèn)題和解決方法。
一、打系統(tǒng)補(bǔ)丁
安裝好Windows 2003 Server操作系統(tǒng)后,在托管之前一定要完成補(bǔ)丁的安裝。配置好網(wǎng)絡(luò)后,最好安裝SP1,然后點(diǎn)擊開(kāi)始,選擇Windows Update,安裝所有的關(guān)鍵更新。也可以安裝360安全衛(wèi)士,對(duì)系統(tǒng)進(jìn)行維護(hù)和優(yōu)化。
二、安裝殺毒軟件和防ARP軟件
目前的殺毒軟件種類繁多,其中瑞星、諾頓、卡巴斯基等都是不錯(cuò)的選擇。本校網(wǎng)站采用諾頓的服務(wù)器版殺毒軟件,其納入了主動(dòng)防護(hù)技術(shù),自動(dòng)分析應(yīng)用行為和網(wǎng)絡(luò)溝通,從而檢測(cè)并主動(dòng)攔截威脅。另外,還需要對(duì)ARP進(jìn)行預(yù)防和查殺,因?yàn)樗o網(wǎng)站服務(wù)器帶來(lái)的安全隱患相當(dāng)大。本校網(wǎng)站服務(wù)器采用Arpbind,Arpbind是IDC機(jī)房服務(wù)器專用ARP防火墻,通過(guò)系統(tǒng)啟動(dòng)時(shí)自動(dòng)設(shè)置靜態(tài)IP/MAC綁定來(lái)防止ARP攻擊,并可預(yù)防機(jī)器中被裝入ARP攻擊軟件,Arpbind會(huì)在系統(tǒng)啟動(dòng)時(shí)自動(dòng)運(yùn)行,運(yùn)行時(shí)不影響服務(wù)器系統(tǒng)性能。
三、安裝IIS6.0
IIS6.0在Windows2003服務(wù)器的四種版本中都包含,它不能運(yùn)行在Windows XP、Windows 2000或Windows NT上。除了Windows 2003 Web版本外,其余版本默認(rèn)都不安裝IIS。其與以前IIS版本的差異也很大,如提供POP3服務(wù)和POP3服務(wù)Web管理器支持。另外,在Windows 2003下的IIS安裝有三種方式:傳統(tǒng)的“添加或刪除程序”中“添加/刪除Windows組件”方式、利用“管理您的服務(wù)器”向?qū)Ш筒捎脽o(wú)人值守的智能安裝。
1.IIS6.0安裝過(guò)程
我們采用在控制面板內(nèi)安裝的方式。依次選擇“添加或刪除程序”中“添加/刪除Windows組件/應(yīng)用程序服務(wù)器/Internet信息服務(wù)/萬(wàn)維網(wǎng)服務(wù),點(diǎn)擊“確定”安裝完成。
2.配置IIS6.0
此時(shí)默認(rèn)Web站點(diǎn)已經(jīng)啟動(dòng)。但注意,IIS6.0最初安裝完成只支持靜態(tài)內(nèi)容(即不能正常顯示基于ASP和PHP的網(wǎng)頁(yè)內(nèi)容),因此首先要打開(kāi)其動(dòng)態(tài)內(nèi)容支持功能。依次選擇“開(kāi)始/程序/管理工具/internet信息服務(wù)管理器”,在打開(kāi)的IIS管理窗口左欄選擇“web服務(wù)擴(kuò)展”,將“ASP.NET v.1.1.4322”項(xiàng)和“Active Server Pages”項(xiàng)啟用即可。
這樣,在Windows 2003 Server服務(wù)器上就可以運(yùn)行ASP文件,接下來(lái),只要在IIS6.0上能夠運(yùn)行PHP就可以了。
四、安裝PHP
1.將php-5.1.2-Win32.zip直接解壓至D:\\php\\目錄,即可得PHP文件存放目錄(路徑可自行設(shè)置)。
2.將PHP5為D:\\php\\和子文件夾ext下的所有dll文件拷到c:\\Windows\\system32下,覆蓋已有的dll文件。
3.將D:\\PHP目錄下的php.exe、php-win.exe和php.ini-dist三個(gè)文件拷到C:\\Windows下。然后將C:\\Windows\\php.ini-dist改名為php.ini,用記事本打開(kāi),利用記事本的查找功能搜索register_globals=Off,將Off改成On。將extension_dir=的路徑指到PHP目錄下的 extensions目錄,比如:extension_dir = \"D:\\php\\ext\"。
將以下內(nèi)容前面的“;”去掉
;extension=php_dbase.dll可選
;extension=php_gd2.dll這個(gè)是用來(lái)支持GD庫(kù)的,一般需要,必選
;extension=php_ldap.dll可選
;extension=php_mbstring.dll這不選一般用phpmyadmin會(huì)出紅色提示,故必選
;extension=php_mssql.dll這個(gè)是用來(lái)支持MSSQL的,可選
;extension=php_mysql.dll這個(gè)是用來(lái)支持MYSQL的,要支持MYSQL必選
4.依次選擇“Internet服務(wù)管理器/網(wǎng)站(右鍵)/屬性/主目錄/配置/添加/擴(kuò)展名為.php”,單擊“瀏覽”將可執(zhí)行文件指向“php5isapi.dll所在路徑”,如:D:\\php\\php5isapi.dll。
5.依次選擇“Internet 服務(wù)管理器/Web 信息管理器/添加一個(gè)新的web擴(kuò)展程序/輸入:PHP”,再將可執(zhí)行文件指向“php5isapi.dll所在路徑/允許”。
6.將以下代碼復(fù)制到一個(gè)文本文件內(nèi),保存為.bat文件并運(yùn)行。
net stop w3svc
net stop iisadmin
net start w3svc
運(yùn)行后,打開(kāi)網(wǎng)站的“屬性/ISAPI篩選器”,如圖1。
7.新建一個(gè)網(wǎng)站,在網(wǎng)站目錄下建立mysite.php內(nèi)容為:
phpinfo();
?>
打開(kāi)瀏覽器,輸入http://localhost/mysite.php,顯示當(dāng)前服務(wù)器所支持PHP的全部信息,可以看到 Server API的模式為ISAPI 。
五、相關(guān)設(shè)置問(wèn)題解決
現(xiàn)象1:HTTP 錯(cuò)誤 404——文件或目錄未找到
此類問(wèn)題十分常見(jiàn),原因是在IIS6.0中新增了“web程序擴(kuò)展”這一項(xiàng),而里面的很多服務(wù)默認(rèn)都是禁止的。解決方法是直接在“web程序擴(kuò)展”里啟用“Active Server Pages”即可。如果啟用后仍然不能正常訪問(wèn)網(wǎng)頁(yè),則應(yīng)修改網(wǎng)頁(yè)源文件的訪問(wèn)權(quán)限,一般設(shè)置成“777”即可。
現(xiàn)象2:HTTP 錯(cuò)誤 401.2——未經(jīng)授權(quán):訪問(wèn)由于服務(wù)器配置被拒絕
造成此類問(wèn)題的原因是身份驗(yàn)證設(shè)置的問(wèn)題,一般將其設(shè)置為匿名身份認(rèn)證,這是大多數(shù)站點(diǎn)使用的認(rèn)證方法。
現(xiàn)象3:類似于Server.MapPath() 錯(cuò)誤 'ASP 0175 : 80004005'的出錯(cuò)信息
IIS6.0出于安全考慮,默認(rèn)關(guān)閉了父路徑(諸如../格式的語(yǔ)句),只需在“主目錄/配置/選項(xiàng)”中,將“啟用父路徑”勾選即可(如圖2)。
六、安全設(shè)置
1.設(shè)置端口保護(hù)和防火墻
Windows 2003的端口屏蔽可以通過(guò)自身防火墻來(lái)解決,依次選擇“桌面/網(wǎng)上鄰居/屬性/本地連接/屬性/高級(jí)/Internet連接防火墻/設(shè)置”,把服務(wù)器上要用到的服務(wù)端口選中。例如:一臺(tái)Web服務(wù)器要提供Web(80)、FTP(21)服務(wù)及遠(yuǎn)程桌面管理(3389),在“FTP 服務(wù)器”、“Web服務(wù)器(HTTP)”、“遠(yuǎn)程桌面”前面打上對(duì)號(hào),如果提供服務(wù)的端口不在里面,可以點(diǎn)擊“添加”按鈕,具體參數(shù)可參照系統(tǒng)內(nèi)原有的參數(shù),點(diǎn)擊“確定”。注意:如果是遠(yuǎn)程管理這臺(tái)服務(wù)器,請(qǐng)先確定遠(yuǎn)程管理的端口是否選中或添加。
2.權(quán)限設(shè)置——磁盤權(quán)限
系統(tǒng)盤及所有磁盤只給Administrators組和SYSTEM的完全控制權(quán)限。
系統(tǒng)盤\\Documents and Settings目錄只給Administrators組和SYSTEM的完全控制權(quán)限
系統(tǒng)盤\\Documents and Settings\\All Users目錄只給Administrators組和SYSTEM的完全控制權(quán)限
系統(tǒng)盤\\Inetpub目錄及下面所有目錄、文件只給Administrators組和SYSTEM的完全控制權(quán)限
系統(tǒng)盤\\Windows\\System32\\cacls.exe、cmd.exe、net.exe、net1.exe文件只給Administrators組和SYSTEM的完全控制權(quán)限
3.防止列出用戶組和系統(tǒng)進(jìn)程
在阿江ASP探針1.9中結(jié)合7i24的方法利用getobject(\"WINNT\")獲得了系統(tǒng)用戶和系統(tǒng)進(jìn)程的列表,這個(gè)列表可能會(huì)被黑客利用,我們應(yīng)當(dāng)隱藏起來(lái)。方法是在“開(kāi)始/程序/管理工具/服務(wù)”中,找到Workstation,停止并禁用它。
(作者單位:江蘇新海高級(jí)中學(xué))