Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Windows Server 系統教學 >> Server 2000

Windows 2000 IIS 5.0 架設 ASP + CGI + PHP + MySQL 完整部署指南

編輯:Server 2000

第一階段:系統與 IIS 安裝極簡原則

  • 安裝 Win2K 時 不勾選:Indexing Service、FrontPage 2000 Server Extensions、Internet Service Manager (HTML) 等非必要元件。
  • IIS 安裝僅保留:World Wide Web Service、FTP Service (視需求)、Documentation (可不裝)。
  • 原則:最少服務 + 最小權限 = 最大安全。

第二階段:IIS 核心設定

  1. 開啟「Internet 服務管理員」 (inetmgr)。
  2. 刪除「預設網站」下所有虛擬目錄。
  3. 停止 IIS:net stop iisadmin /y (啟動:net start w3svc)。
  4. 刪除 C:\Inetpub 整個目錄;在非系統磁碟 (如 D:\WebRoot) 建立新站點根目錄。
  5. 將「預設網站」主目錄指向新路徑;按需建立子目錄並精確設定權限 (預設唯讀,僅寫入/執行目錄給予必要權限)。
  6. 應用程式對應:移除所有非必要副檔名對應 (如 .htw, .htr, .idq, .ida…),僅保留 .asp、.asa、.php、.cgi/.pl 等實際使用類型。
    路徑:網站內容 → 主目錄 → 設定 → 應用程式對應。
  7. 應用程式偵錯:勾選「將腳本錯誤傳送至瀏覽器」改為「傳送純文字錯誤訊息」,自訂友善錯誤文字,避免洩露路徑/資料庫結構。
  8. 自訂 404 錯誤頁:URL 重導向至靜態 404.htm,使 CGI 掃描器誤判所有路徑回傳 200 OK,掩蓋真實漏洞 (纵深防禦技巧)。

第三階段:帳號與網路安全基線

  • 本地安全性原則 → 本地原則 → 安全性選項 → 「匿名連線的額外限制」設為 1:不允許列舉 SAM 帳號與共用 (值 2 會破壞共用服務)。
  • 重新命名 Administrator、設定 12 碼以上複雜密碼、建立同名無權限誘餌帳號。
  • 停用 Guest、移除不必要帳號。
  • TCP/IP 篩選:僅開放必要埠 (80, 20, 21, 25, 110, 3306, 3389 等),其餘全部「僅允許」清單模式。

第四階段:ActivePerl (CGI) 安裝與註冊

  1. 下載 ActivePerl,安裝至 C:\USR (方便 #!/usr/bin/perl 跨平台相容)。
  2. 登錄對應:
    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\W3svc\Parameters\ScriptMap
    新增字串值:.cgi = C:\USR\BIN\perl.exe %s %s
    新增字串值:.pl = C:\USR\BIN\perl.exe %s %s
  3. 同步新增 .php、.php3 指向 C:\PHP\php.exe %s %s (下節說明),新站點自動繼承。
  4. 重開機生效。

第五階段:MySQL 安裝與服務化

  1. 下載 MySQL Windows 版,完整安裝至 C:\MySQL。
  2. 註冊服務:C:\MySQL\bin\mysqld-nt.exe --install。
  3. 啟動服務:服務管理員 → MySQL → 啟動;或 net start mysql。
  4. 重開機驗證自動啟動。
  5. 執行 C:\MySQL\bin\WinMySQLAdmin.exe 建立 root 密碼,系統匣出現紅綠燈圖示表示運行正常。

第六階段:PHP 4.x (ISAPI 模式) 安裝與整合

  1. 解壓縮至 C:\PHP。
  2. 複製 php.ini-dist 至 %SystemRoot%\php.ini;依需求修改 (如 session.save_path = C:/tmp 需先建立目錄)。
  3. 複製 php4ts.dll 至 %SystemRoot%\System32。
  4. IIS 管理員 → 網站內容 → ISAPI 篩選器 → 新增:
    名稱:PHP
    可執行檔:C:\PHP\sapi\php4isapi.dll
  5. 文件頁 → 啟用預設文件 → 新增 index.php。
  6. 重啟 IIS (iisreset) 驗證 正常輸出。

替代架構:Apache + Tomcat + JSP (附錄)

原文另提供 Apache 1.3.22 + JDK 1.3 + PHP 4.0.4 + MySQL 3.23.32 + Tomcat 4.0.4 + mod_jk 整合完整步驟 (虛擬主機、worker.properties、server.xml 修改),適合需同時支援 JSP 的環境。關鍵點:
- Apache 處理靜態/ PHP/ CGI,Tomcat 處理 JSP/Servlet。
- mod_jk 透過 AJP13 協定轉發 *.jsp、/servlet/* 至 Tomcat。
- 實體 JSP 檔放在 Tomcat\webapps\ROOT,非 Apache 目錄。

上線前檢查清單

項目驗證方式
ASP 執行建立 test.asp 輸出 Server.CreateObject("ADODB.Connection") 正常
CGI 執行建立 test.cgi (Perl) 輸出環境變數正常
PHP 執行 顯示 PHP 版本、MySQL 支援
MySQL 連線PHP/ASP 腳本連線測試資料庫讀寫
權限最小化IUSR_* 僅有網站目錄讀取/必要寫入,無執行權限
錯誤訊息故意觸發錯誤,確認僅顯示自訂文字無路徑/原始碼
連接埠暴露外部 nmap -sS 目標IP 僅見 80/443 等必要埠
Copyright © Windows教程網 All Rights Reserved