前言
Internet Information Services (IIS) 6.0 是 Windows Server 2003 內建的 Web 伺服器平台,採用全新的工作進程隔離架構 (應用程式集區),大幅提升穩定性、安全性與效能。本文提供從安裝、匿名驗證、基本網站配置到常見模組啟用的完整圖文步驟。
第一階段:安裝 IIS 6.0 核心與可選元件
- 「控制台」→「新增/移除程式」→「新增/移除 Windows 元件」。
- 選取 「應用程式伺服器」 → 「詳細資料」。
- 勾選 「Internet 資訊服務 (IIS)」 → 「詳細資料」。
- 核心元件 (預設勾選,保留):
☑ 共用檔案
☑ FrontPage 2002 Server Extensions
☑ Internet 資訊服務管理單元 (MMC 管理單元)
☑ Internet 資訊服務管理員 (圖形管理工具)
☑ NNTP 服務 (新聞傳輸,視需求)
☑ SMTP 服務 (郵件傳輸,視需求)
☑ World Wide Web 服務 (核心 Web 服務) → 「詳細資料」進一步選擇子元件:
☑ World Wide Web 服務 (核心)
☑ Active Server Pages (ASP) — 傳統 ASP 應用必裝
☑ 遠端管理 (HTML) — 透過瀏覽器遠端管理 IIS
☑ 伺服器端包含 (SSI)
☑ WebDAV 發佈
☑ 一般同步
- 點擊「確定」返回 → 「下一步」→ 系統複製檔案 (可能需插入安裝光碟) → 「完成」。
- 「關閉」對話方塊。
第二階段:配置匿名驗證 (允許公開瀏覽)
- 「開始」→「管理工具」→「Internet 資訊服務 (IIS) 管理員」。
- 展開 伺服器名稱 → 右鍵 「Web 網站」 → 「內容」。
- 切換至 「目錄安全性」 索引標籤。
- 「驗證和存取控制」 區塊 → 「編輯」。
- 勾選 「啟用匿名存取」。
備註:「使用者名稱」預為 IUSR_電腦名稱 (本機帳號),密碼由系統自動管理,匿名使用者不實際登入。
- 「已驗證存取」 區塊 → 勾選 「整合式 Windows 驗證」 (支援 Kerberos/NTLM,內網單一登入)。
- 點擊「確定」關閉所有對話方塊。
第三階段:基本網站配置
- IIS 管理員 → 展開 「Web 網站」 → 右鍵 「預設網站」 → 「內容」。
- 「網站」 索引標籤:
• IP 位址:選擇「所有未指派」或特定 IP。
• TCP 連接埠:80 (標準 HTTP)。
• 主機標頭:可新增多個主機名稱 (如 www.example.com, intranet) 實現單 IP 多站點。
• 連線:啟用「HTTP Keep-Alive」、設定連線逾時 (預設 900 秒)。
- 「效能」 索引標籤:
• 頻寬節流、連線限制 (視頻寬帶/伺服器規格設定)。
- 「ISAPI 篩選器」:註冊 ASP.NET 篩選器 (ASP.NET 註冊時自動完成)。
- 「主目錄」 索引標籤:
• 本機路徑:設定網站根目錄實體路徑 (如 D:\WebRoot\Default)。
• 讀取/寫入/瀏覽/記錄/索引:按需勾選 (公開站點通常「讀取」「記錄」「索引」)。
• 應用程式設定:應用程式名稱、執行權限 (「僅指令碼」供 ASP/ASP.NET)、「建立」應用程式。
• 「組態」→「對應」→ 確認 .asp 對應 asp.dll、.aspx 對應 aspnet_isapi.dll。
- 「文件」 索引標籤:
• 啟用預設文件 → 新增 Default.aspx, index.asp, index.html 依優先序排序。
- 點擊「確定」套用。
第四階段:啟用 ASP / ASP.NET / PHP 等伺服端腳本支援
ASP (傳統) — Web 服務擴充
- IIS 管理員 → 「Web 服務擴充」。
- 選取 Active Server Pages → 右鍵 → 「允許」 (狀態變為「允許」)。
ASP.NET 2.0/3.5/4.x — 擴充功能啟用
- 同「Web 服務擴充」清單中找到 ASP.NET v2.0.50727 (或 v4.0.30319) → 「允許」。
- 若列表無此項:命令列執行
%Windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i -enable 註冊後重新整理。
PHP (FastCGI) — 手動安裝配置
- 下載 PHP for Windows (Non Thread Safe, ZIP) 解壓至
C:\PHP。
- 複製
php.ini-production 為 php.ini,修改關鍵設定:
extension_dir = "ext"
cgi.force_redirect = 0
fastcgi.impersonate = 1
date.timezone = "Asia/Taipei"
啟用所需擴充 (php_mysql.dll, php_mysqli.dll, php_gd2.dll 等)。
- IIS 管理員 → 「Web 服務擴充」→ 「新增 Web 服務擴充」→ 名稱:PHP、路徑:
C:\PHP\php-cgi.exe → 「允許」。
- 網站「主目錄」→「組態」→「對應」→ 新增:
副檔名:.php、執行檔:C:\PHP\php-cgi.exe、動詞:GET,HEAD,POST、指令碼引擎:勾選、檢查檔案存在:取消勾選 (效能較佳)。
第五階段:常見管理操作
- 重新啟動 IIS:命令列
iisreset /restart 或 IIS 管理員右鍵伺服器 → 「所有工作」→「重新啟動 IIS」。
- 備份/還原配置:右鍵伺服器 → 「所有工作」→「備份/還原配置」→ 建立命名備份 (含 Metabase.xml)。
- 日誌分析:預設日誌路徑
%SystemRoot%\system32\LogFiles\W3SVC1\,使用 Log Parser 2.2 分析。
- 權限最小化:網站根目錄 NTFS 權限:
Administrators: 完全控制
SYSTEM: 完全控制
IUSR_電腦名 / IIS_WPG: 讀取、讀取與執行、列出資料夾內容 (寫入僅限上傳目錄)。
結語
Windows Server 2003 + IIS 6.0 是經典穩定的 Web 主機組合。遵循「最小安裝、最小權限、明確模組啟用、詳細日誌稽核」原則,配合定期修補程式 (WSUS/離線更新包)、應用程式層 WAF (如 URLScan 3.1、ModSecurity for IIS)、定期弱點掃描,可構建相對安全、高效能的 Web 服務平台。雖 2003 已停止支援,現有系統仍可透過嚴格加固延長安全生命週期。