瞭解 IIS 7 中的設定
關於本文
本文提供 Microsoft Windows Vista® 和 Microsoft Server® 2008 安裝技術的概觀,以及 IIS 7.0 和更新版本的元件化設定的詳細檢查。 此資訊對於需要自定義命令行和自動腳本案例中的 IIS 安裝程式的人來說特別重要。 如果您經常在腳本中使用Sysocmgr.exe來安裝 IIS 6.0,則必須在 Windows Vista 和 Windows Server 2008 中變更 IIS 7.0 和更新版本腳本。 本白皮書提供進行這些變更所需的背景資訊。
關於 IIS 7 和更新版本
IIS 7 和更新版本是用來參考某些 Windows Server 2008、Windows Server®® 2008 R2、Windows Vista® 和 Windows® 7 版本中所含 網際網路資訊服務 (IIS) 版本的產品名稱。
IIS 7.0 是 Windows Server 2008 中的網頁伺服器 (IIS) 角色,以及 Windows Vista 中的網頁伺服器。
IIS 7.5 是 Windows Server 2008 R2 中的網頁伺服器 (IIS) 角色,以及 Windows 7 中的網頁伺服器。
IIS 設定概觀
IIS 7 和更新版本具有完全模組化的設定設計,可控制網頁伺服器的使用量。 IIS 中提供的 GUI、命令行和自動安裝選項可讓您輕鬆地管理 IIS 網頁伺服器的安全性與服務使用量。
新的 IIS 伺服器管線架構提供高階的元件粒度。 由於此資料粒度,當您安裝 IIS 時,您可以在使用者可選取的可安裝元件中呈現此資料粒度。 您也可以使用 IIS 安裝程式,從 40 多個 IIS 功能中選取來自定義安裝。 IIS 安裝程式的新功能是只安裝所需的功能模組,讓您能夠部署非常精簡的工作特定伺服器,以及以前所未有的方式鎖定功能。
Windows Server 2008 和 Windows Vista 元件型設定
Windows Vista 和 Windows Server 2008 的作業系統和選用功能安裝是以全新的技術為基礎。 新的安裝技術現在是由宣告式模型所驅動,操作系統的每個功能都會定義組成功能及其相依性的元件集。
Windows Vista 和 Windows Server 2008 以數個重要方式受益於這個新的安裝基礎結構:
所有 Windows Server 2008 版本的單一二進位檔基底
- 操作系統版本會以宣告方式組合。
- 用戶端和伺服器版本共用相同的程式代碼基底。
服務
- 所有功能已知的相依性。
- 現在完全瞭解維護元件的影響。
- 較小的 Service Pack。
安全性
- 降低受攻擊面。
- 每個 OS 版本都不會安裝所有二進位檔。
適用於選用功能的 Windows Server 2008 和 Windows Vista 安裝程式
在 Windows Vista 和 Windows Server 2008 中,用來安裝 OS 的相同元件型安裝技術也用來安裝選擇性功能,例如 IIS。 在 Windows Vista 和 Windows Server 2008 之前,Windows 安裝程式基礎結構具有多個必要技術,您才能將選用功能升級、服務及新增至 OS。 其中包括:
- Setup.exe安裝OS。
- Sysocmgr.exe安裝選用功能。
- 回答安裝選用功能的檔案。
- Update.exe安裝 Service Pack。
- MSI 安裝程式套件。
在 Windows Vista 和 Windows Server 2008 中,我們現在有單一元件型安裝基礎結構,可統一全新操作系統安裝、操作系統維護,以及安裝選用功能。 針對選用功能,這項技術現在會取代Sysocmgr.exe。
注意
如果您經常使用 Sysocmgr.exe 直接安裝 IIS,則必須變更 Windows Vista 和 Windows Server 2008 的這些腳本。
安全性、服務和 IIS 7.0 和更新版本的安裝元件
使用 IIS 6.0 時,IIS 小組預設會採取粗體步驟來保護網頁伺服器。 這表示停用 ISAPI 延伸模組和 CGI 元件,直到 管理員 istrator 明確啟用伺服器上的這些功能為止。 如此一來,潛在的攻擊面在 IIS 5.0 之間發生了巨大變化,其中預設會安裝並啟用所有功能,而 IIS 6.0 則預設只允許在 Web 伺服器的全新安裝上允許靜態檔案服務。
哲學的這種變化確實在網頁伺服器上造成了較小的默認攻擊面,但它遠非完美。 雖然 IIS 6.0 在安全性、可靠性和效能方面以許多方式改善其前身,但仍以相對整合的方式設計。 這表示雖然許多選擇性功能在安裝時已停用,但仍會安裝並載入至網頁伺服器。 這些功能也繼續取用 CPU 和記憶體,以及必要的修補和軟體更新,即使它們已停用也一樣。 例如,IIS 6.0 的 CGI 功能一律已安裝,不論是否曾經使用過。 如果 CGI 的軟體更新可供使用,則不論其是否在使用中,都需要每個 IIS 客戶加以安裝。
使用 IIS 7.0 和更新版本時,IIS 小組已藉由讓 IIS 成為完全模組化的 Web 伺服器,以及設計安裝程式以充分利用這種高度的模組化,來解決這種情況。 使用 IIS 7.0 和更新版本時,不只停用不需要的元件,甚至不會安裝這些元件。 這可讓您只安裝所需 IIS 功能的模組,並只擔心維護您使用的元件集。 這可讓您部署非常精簡的工作特定伺服器,並以前所未有的方式鎖定未使用的功能。
IIS 7.0 和更新版本元件概觀
下表摘要說明 IIS 7.0 和更新版本的所有可安裝元件功能。 數據表也會將功能分組為功能區域。 設定使用者介面會使用這些功能區域,例如 伺服器管理員,以及新的命令行和腳本工具。 下一節會詳細探索每個功能區域和功能元件。
安裝功能表項 |
說明 | |||||
---|---|---|---|---|---|---|
% |
網頁伺服器 |
安裝 IIS 網頁伺服器。 提供 HTML 網站的支援,以及 ASP.NET、傳統 ASP 和網頁伺服器延伸模組的選擇性支援。 | ||||
? |
一般 HTTP 功能 |
安裝靜態網頁伺服器內容的支援,例如 HTML 和圖像檔、自定義錯誤和重新導向。 | ||||
? |
靜態內容 |
從網站提供.htm、.html和圖像檔。 | ||||
? |
預設文件 |
可讓您指定當使用者未在要求 URL 中指定檔案時,要載入的預設檔案。 | ||||
? |
目錄流覽 |
允許用戶端在 Web 伺服器上查看目錄的內容。 | ||||
? |
HTTP 錯誤 |
安裝 HTTP 錯誤檔案。 可讓您自定義傳回給客戶端的錯誤訊息。 | ||||
HTTP 重新導向 |
提供將用戶端要求重新導向至特定目的地的支援。 | |||||
應用程式開發 |
安裝應用程式開發的支援,例如 ASP.NET、傳統 ASP、CGI 和 ISAPI 擴充功能。 | |||||
ASP.NET |
可讓您的 Web 伺服器裝載 ASP.NET 應用程式。 | |||||
.NET 擴充性 |
可讓您的 Web 伺服器裝載 .NET Framework 管理的模組延伸模組。 | |||||
ASP |
可讓您的 Web 伺服器裝載傳統 ASP 應用程式。 | |||||
CGI |
啟用 CGI 可執行文件的支援。 | |||||
ISAPI 擴充程式 |
允許 ISAPI 擴充功能處理用戶端要求。 | |||||
ISAPI 篩選器 |
允許 ISAPI 篩選條件修改 Web 伺服器行為。 | |||||
伺服器端包含 |
提供 .stm、.shtm 和 .shtml include 檔案的支援。 | |||||
% |
健康情況與診斷 |
可讓您監視和管理伺服器、網站和應用程式健康情況。 | ||||
? |
HTTP 記錄 |
啟用此伺服器的網站活動記錄。 | ||||
記錄工具 |
安裝 IIS 記錄工具和文稿。 | |||||
? |
要求監視器 |
監視伺服器、月臺和應用程式健康情況。 | ||||
追蹤 |
啟用 ASP.NET 應用程式和失敗要求的追蹤。 | |||||
自訂記錄 |
啟用 Web 伺服器、網站和應用程式的自訂記錄支援。 | |||||
ODBC 記錄 |
啟用對 ODBC 相容資料庫的記錄支援。 | |||||
安全性 |
啟用其他安全性通訊協議來保護伺服器、月臺、應用程式、vdirs 和檔案的安全。 | |||||
基本驗證 |
需要有效的 Windows 使用者名稱和密碼才能連線。 | |||||
Windows 驗證 |
使用 NTLM 或 Kerberos 驗證用戶端。 | |||||
摘要式驗證 |
將密碼哈希傳送至 Windows 域控制器,以驗證用戶端。 | |||||
用戶端憑證對應驗證 |
使用 Active Directory 帳戶驗證客戶端憑證。 | |||||
IIS 用戶端憑證對應驗證 |
地圖 客戶端憑證 1 對 1 或多對 1 到 Windows 安全性身分識別。 | |||||
URL 授權 |
授權用戶端存取組成 Web 應用程式的 URL。 | |||||
要求篩選 |
設定規則以封鎖選取的用戶端要求。 | |||||
IP 安全性 |
根據IP位址或功能變數名稱允許或拒絕內容存取。 | |||||
% |
效能 |
|||||
? |
靜態內容壓縮 |
先壓縮靜態內容,再將它傳回用戶端。 | ||||
動態內容壓縮 |
先壓縮動態內容,再將它傳回用戶端。 | |||||
% |
Web 伺服器管理工具 |
安裝 Web 伺服器管理主控台和工具。 | ||||
? |
IIS 管理主控台 |
安裝支援管理本機和遠端 Web 伺服器的 Web 伺服器管理主控台。 | ||||
IIS 管理文本和工具 |
使用 IIS 組態文本管理本機 Web 伺服器。 | |||||
Management Service |
允許從另一部電腦透過 Web 伺服器管理主控台從遠端管理此網頁伺服器。 | |||||
IIS 6 管理相容性 |
可讓您使用現有的 IIS 6.0 API 和腳本來管理此 IIS 7.0 和更新版本網頁伺服器。 | |||||
IIS Metabase 和 IIS 6 組態相容性 |
安裝 IIS 中繼基底和相容性層,以允許中繼基底呼叫與新的 IIS 7.0 和更新版本組態存放區互動。 | |||||
IIS 6 WMI 相容性 |
安裝 IIS 6.0 WMI 腳本介面。 | |||||
IIS 6 腳本工具 |
安裝 IIS 6.0 組態腳本。 | |||||
IIS 6 管理主控台 |
安裝 IIS 6.0 管理控制台。 支援從這部電腦管理遠端 IIS 6.0 伺服器。 | |||||
FTP 發佈服務 |
安裝檔案傳輸通訊協定 (FTP) 服務和 FTP 管理主控台。 提供上傳和下載檔案的支援。 | |||||
FTP 伺服器 |
安裝 FTP 服務。 | |||||
FTP 管理控制台 |
安裝 FTP 管理主控台,以管理本機和遠端 FTP 伺服器。 |
索引鍵:
預設不會選取功能。 | |
% |
默認會選取功能,但有一或多個未選取的子功能。 |
---|---|
? |
默認會選取 [功能] - 如果有任何,則也會選取子功能。 |
IIS 7.0 和更新版本功能套件
透過 伺服器管理員 或 Windows 功能精靈安裝 IIS 7.0 和更新版本,只需要核取您所需的每項功能方塊。 當您需要使用命令行文本或自動檔案進行安裝時,您必須知道 IIS 套件中代表這些功能之 IIS 元件的實際名稱。
- 伺服器管理員 使用者介面中的每個 IIS 可選取功能都會對應至 IIS 套件中的特定更新名稱。
- 若要使用 Pkgmgr.exe 命令行工具或使用作業系統自動 XML 檔案安裝 IIS 功能,您必須使用 IIS 功能更新名稱。
套件更新
安裝程式中顯示的每個 IIS 功能都會直接對應至 IIS 套件更新。 套件中的最上層 IIS 更新是 IIS-WebServerRole。 下一層更新會將 IIS-WebServerRole 內的三個主要功能區域分組。 這些包括:
- IIS-WebServer
- IIS-WebServerManagementTools
- IIS-FTPPublishingService
每個群組都包含一或多個具有可安裝功能的更新。
IIS-WebServer 更新
所有網頁伺服器功能都會以 IIS-WebServer 更新下的群組排列:
- IIS-CommonHttpFeatures
- IIS-ApplicationDevelopment
- IIS-HealthAndDiagnostics
- IIS-Security
- IIS-Performance
每個群組都包含一或多個具有可安裝功能的更新。
常見的 HTTP 功能 更新
在 [一般 HTTP 功能] 下分組的 IIS 功能支援靜態 Web 伺服器內容,例如 HTML 和圖像檔、自定義錯誤和重新導向。 這些功能通常一律會隨 IIS 一起安裝,不過您可以選擇省略部分或全部這些功能,以取得特殊用途設定。
IIS-CommonHttpFeatures
- IIS-StaticContent
- IIS-DefaultDocument
- IIS-DirectoryBrowsing
- IIS-HttpErrors
- IIS-HttpRedirect
應用程式開發 更新
應用程式開發更新會將支援部署 Web 應用程式和動態內容的功能分組在一起,例如 ASP.NET 應用程式、傳統 ASP 應用程式和 ISAPI 延伸模組和篩選。 根據您想要在 Web 伺服器上部署的應用程式類型,選擇要安裝哪些功能, 如果有的話。
IIS-ApplicationDevelopment
- IIS-ASPNET
- IIS-NetFxExtensibility
- IIS-ASP
- IIS-CGI
- IIS-ISAPIExtensions
- IIS-ISAPIFilter
- IIS-ServerSideIncludes
健康情況和診斷 更新
健康情況和診斷更新會將啟用記錄、要求監視和診斷的功能群組在一起。
IIS-HealthAndDiagnostics
- IIS-HttpLogging
- IIS-LoggingLibraries
- IIS-RequestMonitor
- IIS-HttpTracing
- IIS-CustomLogging
- IIS-ODBCLogging
安全性更新
安全性更新會將所有驗證、授權和篩選功能群組在一起。
IIS-Security
- IIS-BasicAuthentication
- IIS-WindowsAuthentication
- IIS-DigestAuthentication
- IIS-ClientCertificateMappingAuthentication
- IIS-IISCertificateMappingAuthentication
- IIS-URLAuthorization
- IIS-RequestFiltering
- IIS-IPSecurity
匿名驗證不可選擇性安裝;它一律會隨任何 Web 伺服器功能一起安裝。
效能
效能更新群組包含靜態和動態內容的兩個壓縮更新。
IIS-Performance
- IIS-HttpCompressionStatic
- IIS-HttpCompressionDynamic
管理工具
Web 管理工具會將 IIS 7.0 和更新版本管理工具以及 IIS 6.0 相容性工具群組在一起。
IIS-WebServerManagementTools
IIS-ManagementConsole
IIS-ManagementScriptingTools
IIS-ManagementService
IIS-IIS6ManagementCompatibility
- IIS-Metabase
- IIS-WMICompatibility
- IIS-LegacyScripts
- IIS-LegacySnapIn
注意
如果您使用使用 ABO 或 ADSI API 的腳本或應用程式,請選擇從 IIS-IIS 6.0 ManagementCompatibility 群組安裝功能,以提供這些管理工具的 IIS 7.0 和更新版本向前相容性。 您至少必須安裝 IIS-Metabase 更新;如果您的腳本也使用 IIS WMI 提供者,則也會安裝 IIS-WMICompatibility 更新。
FTP 發行服務 更新
此更新會將 FTP 伺服器和 FTP 管理主控台群組在一起。
IIS-FTPPublishingService
- IIS-FTPServer
- IIS-FTPManagement
Windows Process Activation Service 更新
Windows 行程啟用服務 (WAS) 包含提供程式啟用和管理基礎層級以及 HTTP 處理基礎結構所需的所有基礎結構。
WAS-WindowsActivationService
- WAS-ProcessModel
- WAS-NetFxEnvironment
- WAS-ConfigurationAPI
在 IIS-WebServer 更新下分組的所有功能都取決於 WAS 功能,只要選取 IIS-WebServer 功能,就必須安裝這些功能。 從 伺服器管理員 或 Vista Windows 功能精靈安裝 IIS 時,您不需要進行任何明確的 WAS 選擇。
更新相依性
如您在 Windows Server 2008 上安裝 IIS 7.0 和更新版本中所見,使用 伺服器管理員 [新增角色精靈] 安裝 IIS 也需要安裝 WAS。
伺服器管理員 會通知您並自動安裝必要的相依性。 透過命令行或使用 Unattend.xml 安裝套件更新時,您必須明確指定這些相依性。
WAS 上的 IIS 相依性
更新群組 IIS-WebServer 下的所有功能都相依於 WAS 功能:
WAS-WindowsActivationService
- WAS-ProcessModel
- WAS-NetFxEnvironment
- WAS-ConfigurationAPI
這三個 WAS 更新是 IIS-WebServer 更新群組中安裝功能的必要條件。
IIS 7.0 和更新版本內部相依性
某些 IIS 7.0 和更新版本的功能相依於其他版本的 IIS。 透過使用者介面安裝 IIS 時,例如 伺服器管理員,系統會自動安裝必要的相依性。 透過命令行或Unattend.xml安裝套件更新時,您必須明確指定這些相依性。 IIS 更新相依性摘要如下:
更新 | 取決於 |
---|---|
IIS-WebServer | WAS-ProcessModel – IIS-WebServer 底下的所有分葉節點都需要此專案。 |
IIS-ASP | IIS-ISAPIExtensions IIS-RequestFiltering |
IIS-ASPNET | IIS-DefaultDocument IIS-NetFxExtensibility WAS-NetFxEnvironment IIS-ISAPIExtensions IIS-ISAPIFilter IIS-RequestFiltering |
IIS-NetFxExtensibility | WAS-NetFxEnvironment IIS-RequestFiltering |
IIS-ManagementService | IIS-WebServer (必須至少選取一個child) IIS-ManagementConsole WAS-NetFxEnvironment WAS-ConfigurationAPI |
IIS-ManagementConsole | WAS-ConfigurationAPI |
IIS-ManagementScriptingTools | WAS-ConfigurationAPI |
IIS-LegacyScripts | IIS-Metabase IIS-WMICompatibility |
IIS 7.0 和更新父群組更新相依性
每個 IIS 更新在其父群組更新上都有隱含相依性。 例如:
- IIS-StaticContent 相依於 IIS-CommonHttpFeatures。
- IIS-CommonHttpFeatures 相依於 IIS-WebServer。
- IIS-WebServer 相依於 IIS-WebServerRole。
同樣地,安裝程式 UI 工具,例如 伺服器管理員 自動處理這項作業,但是當使用命令行工具來安裝更新時,您也必須明確安裝所有父更新和任何其他相依性。 更新相依性的其他資訊位於 [ 自定義安裝] 區段中 。
默認安裝 IIS 7.0 和更新版本
每個 IIS 更新都會定義其預設安裝行為,由安裝使用者介面用來判斷預先選取的功能。 當您使用安裝使用者介面進行安裝時,請按兩下 [下一步 ]。 點選 [下一步] 之後,您會收到 IIS 的預設安裝,它會安裝下列更新清單:
IIS-WebServer
- IIS-CommonHttpFeatures
- IIS-StaticContent
- IIS-DefaultDocument
- IIS-DirectoryBrowsing
- IIS-HttpErrors
IIS-HealthAndDiagnostics
- IIS-HTTPLogging
- IIS-RequestMonitor
IIS-Performance
- IIS-HttpCompressionStatic
IIS-WebServerManagementTools
- IIS-ManagementConsole
WAS-WindowsActivationService
- WAS-ProcessModel
- WAS-ConfigurationAPI
因此,IIS 預設安裝會提供具有本機管理和匿名驗證的基本靜態內容伺服器。 針對已安裝的每個 IIS 更新,該模組的預設組態會新增至 ApplicationHost.config。
IIS 7.0 和更新版本升級
Windows Vista 和 Windows Server 2008 已將舊版 IIS 升級至 IIS 7.0 和更新版本,如下所述:
支持升級至 Windows Server 2008 的 IIS/OS 版本
- Windows Server 2003 上的 IIS 6.0 (Vista Beta 2 不支援)
支持升級至 Windows Vista 的 IIS/ OS 版本
- Win XP 上的 IIS 5.1 (支援 Vista Beta 2)
Windows Vista 或 Windows Server 2008 不支援將舊版 IIS 跨電腦移轉至 IIS 7.0 和更新版本(例如,將 IIS 網站移至新方塊)。 IIS 小組預期會提供 IIS 移轉工具,可讓您將現有的網站跨電腦移至 Windows Vista 或 Windows Server IIS 7.0 和更新版本。
升級步驟
Windows Vista 和 Windows Server 2008 OS 升級已預先設定為三個不同的階段:偵測和收集、安裝及設定應用程式。 這些步驟僅適用於OS功能和設定。 Windows 未建立或擁有的任何文件系統內容都會透過升級程式保持不變。 因此,升級之後,原始OS上的所有Web內容都會存在。
偵測和收集
在OS升級至Windows Vista或 Windows Server 2008 期間,IIS 偵測元件會在實際OS升級開始之前,先在現有的OS上執行。 如果在現有的 Windows OS 上偵測到 IIS,則會收集並保存所有中繼基底和 IIS 狀態資訊。
安裝
安裝階段包含安裝 Windows Vista 或伺服器 OS,然後在原始 OS 上偵測到選擇性功能,例如 IIS。 要安裝的 IIS 更新選擇是以從原始 OS 收集的 IIS 狀態資訊為基礎。
套用設定
在OS安裝和選擇性功能安裝,例如IIS完成之後,會套用從原始OS收集的狀態資訊。 此時,原始 IIS (5.0 或 6.0) 中的 Metabase 設定會轉譯並更新為新的 IIS 7.0 和更新版本 config 存放區 ApplicationHost.config。
升級期間安裝的 IIS 7.0 和更新版本元件
在偵測和收集階段期間,IIS 升級會檢查密鑰 IIS 服務和檔案是否存在,並依照下表安裝 IIS 更新:
下層偵測邏輯 | 已安裝 IIS 7 和更新版本 更新 |
---|---|
W3SVC 安裝為服務 | IIS-ASP IIS-BasicAuthentication IIS-CGI IIS-ClientCertificateMappingAuthentication IIS-CustomLogging IIS-DefaultDocument IIS-DigestAuthentication IIS-DirectoryBrowsing IIS-HttpCompressionDynamic IIS-HttpCompressionStatic IIS-HttpErrors IIS-HTTPLogging IIS-HttpRedirect IIS-HttpTracing IIS-IISCertificateMappingAuthentication IIS-IPSecurity IIS-ISAPIExtensions IIS-ISAPIFilter IIS-LegacyScripts IIS-LoggingLibraries IIS-ManagementScriptingTools IIS-ManagementServiceIIS-ODBCLogging IIS-RequestFiltering IIS-RequestMonitor IIS-ServerSideIncludes IIS-StaticContent IIS-URLAuthorization IIS-WindowsAuthentication IIS-WMICompatibility WAS-ConfigurationAPI WAS-NetFxEnvironment WAS-ProcessModel |
MSFTPSVC 安裝為服務 | IIS-FTPServer |
INETMGR.EXE存在 | IIS-FTPManagement IIS-LegacySnapIn IIS-ManagementConsole |
IIS 管理員 安裝為服務 | IIS-Metabase |
升級期間更新的安裝不像在全新 IIS 安裝案例中那麼細微,因為舊版 IIS 的元件粒度非常有限。 因此,幾乎所有的 Web 伺服器功能都會在升級期間安裝。 因此,您應該重新瀏覽應用程式相依於 IIS 功能,並卸載升級之後不需要的 IIS 更新。
安裝 IIS 7.0 和更新版本的方法
IIS 安裝有四個主要方法:Windows 選用功能使用者介面、命令行工具、自動檔案和升級。 除了升級之外,所有案例都會提供「操作說明」文章。
您必須在 Windows Vista 和 Windows Server 2008 中使用不同的 Windows 使用者介面:
- 在 Windows Server 2008 中,使用 伺服器管理員 工具。
- 在 Windows Vista(用戶端)中,使用 Windows 新增/移除 Windows 功能精靈。
Windows Vista 和 Windows Server 2008 版本皆提供命令行、自動安裝檔案和升級案例。
伺服器管理員 工具
伺服器管理員 工具提供 Windows Server 2008 上的設定使用者介面,並取代在 Windows Server 2003 中管理您的伺服器。 伺服器管理員 也會為每個已安裝的角色提供伺服器角色管理儀錶板,指出已安裝的狀態、目前狀態和管理與工作。
在 Windows Server 2008 上安裝 IIS 7.0 和更新版本一文提供逐步解說,讓您使用新的 伺服器管理員 工具在 Windows Server 2008 上安裝 IIS。
圖 1:伺服器管理員
新增/移除 Windows 功能精靈
在 Windows Vista 上,當您使用 [新增/移除 Windows 功能精靈] 時,會安裝選用功能,這與 Windows XP 新增/移除 Windows 元件精靈的功能類似。 Windows 功能精靈提供與 伺服器管理員 工具中顯示的相同可選取的 IIS 功能。
在 Windows Vista 上安裝 IIS 7.0 和更新版本一文 提供在 Windows Vista 上安裝 IIS 的逐步解說。
圖 2:新增/移除 Windows 功能精靈
IIS 的命令行安裝
Windows Vista 和 Windows Server 2008 的新功能是命令行工具Pkgmgr.exe。 Pkgmgr 可用來安裝和卸載 Windows 選用功能,並取代Sysocmgr.exe。 從命令行安裝 IIS 7.0 和更新版本一文提供使用 pkgmgr 工具在 Windows Vista 或 Windows Server 2008 上安裝 IIS 的逐步解說。
命令行自動安裝
Pkgmgr.exe也可以接受輸入窗體unattend.xml檔案。 使用此檔案列出要安裝或卸載的更新。 透過自動安裝安裝安裝 IIS 7.0 和更新版本一文提供使用自動檔案和 Pkgmgr 工具在 Windows Vista 或 Windows Server 2008 上安裝 IIS 的逐步解說。
自訂安裝
上一節所述的四個逐步解說各提供安裝所有 IIS 功能的逐步指示。 如果您想要嘗試上的其他一些 IIS 功能逐步解說,但不建議在實際開發或部署案例中 https://www.iis.net安裝所有 IIS 功能。
規劃為開發或部署環境安裝 IIS 時,您應該只安裝應用程式所需的功能。 以這種方式安裝的 IIS 元件最小化有幾個優點:
- 藉由減少載入記憶體的管線模組數目,以改善效能。
- 藉由減少需要管理的 IIS 元件數目來改善安全性。
- 藉由減少可能遭到惡意探索的元件數目來改善安全性。
- 改善您對 IIS 模組上應用程式相依性的瞭解。
自訂安裝的規劃考慮
將必要功能細分為三個主要領域,以開始 IIS 部署規劃:IIS 6.0 管理相容性、Web 管理、FTP 伺服器和網頁伺服器。 下列各節會檢閱這些專案。
IIS 6.0 管理相容性
舊版 IIS 使用 API 和 WMI 提供者來讀取和寫入中繼基底設定。 這些 API 不屬於 IIS 7.0 和更新版本的預設安裝,而且必須明確選取以進行安裝。
如果您有相依於 IIS API 的腳稿或應用程式,例如 ABO 或 ADSI,或 IIS 6.0 WMI 提供者,請在安裝中包含下列 IIS 套件更新:
- IIS-Metabase
- IIS-WMICompatibility
您也可以使用此更新來安裝許多 IIS 6.0 文稿:
- IIS-LegacyScripts
注意
可以透過更新 IIS-LegacySnapIn 安裝的 IIS 6.0 管理控制台,不允許您使用 IIS 6.0 MMC 管理控制台來管理 IIS 7.0 和更新版本網頁伺服器。 IIS 6.0 管理控制台可讓您管理裝載 Windows Server 2003 的 IIS 6.0 網頁伺服器。
Web 管理
使用 IIS 時,您有數個 Web 伺服器將如何管理的選項。 您可以選擇僅限遠端管理、僅限本機管理,或安裝兩者的支援。 本機管理主控台是由 IIS 套件更新 IIS-ManagementConsole 所安裝。 若要進行遠端管理,您必須安裝 IIS-ManagementService 更新。 管理服務可讓您從安裝在與伺服器不同電腦上的 Management Console 連線到 IIS Web 伺服器。
FTP 伺服器
FTP 伺服器考慮與舊版 IIS 保持不變。 若只要安裝 FTP 服務,而不需本機管理,請使用 IIS-FTPServer 更新。 若要安裝 FTP 伺服器的本機管理控制台,請使用 IIS-FTPManagement 更新。
網頁伺服器
在這裡,事情變得更有趣:IIS 網頁伺服器功能具有所有 IIS 功能的最高可安裝粒度。 如先前關於 IIS 套件更新的討論所述,網頁伺服器功能區域內有五個主要的功能群組:
- IIS-CommonHttpFeatures – 提供 HTTP 靜態內容和錯誤訊息的基本支援。
- IIS-ApplicationDevelopment – 支援 IIS 網頁伺服器的應用程式擴充功能。
- IIS-HealthAndDiagnostics – 支援記錄、運行時間狀態和要求追蹤。
- IIS-Security – 除了匿名驗證之外,還提供額外的驗證和授權設施。
- IIS 效能 – 提供靜態和動態內容壓縮。
上述各群組內的 IIS 功能已在 IIS 套件 更新 一節中討論。您應該檢閱伺服器應用程式的需求,並只選擇您必須擁有的 Web 伺服器功能。
自訂安裝範例
在此範例中,我們考慮使用下列屬性來設定假設的 Web 伺服器:
- 需要靜態內容的支援,但不想允許目錄流覽。
- 需要記錄和運行時間狀態的支援。
- 需要 ASP.NET 的支援。
- 需要支持遠端管理。
- 需要 Windows 驗證 的支援。
- 需要靜態和動態內容壓縮的支援。
我們也會新增額外的需求,讓安裝可部署至多部伺服器做為腳本。
現在,我們會使用此必要功能清單,以及 IIS 套件 更新 一節中的更新描述,來判斷我們需要的 IIS 套件更新。
步驟 1:判斷必要的 更新
針對專案 1,我們需要下列更新:
- IIS-StaticContent
- IIS-DefaultDocument
- IIS-HttpErrors
- IIS-HttpRedirect
我們也想要確保未安裝 IIS-DirectoryBrowsing(因為它是預設安裝的一部分,請參閱秒 4。)
針對專案 2,我們需要下列更新:
- IIS-HTTPLogging
- IIS-RequestMonitor
針對專案 3,我們需要 IIS-ASPNET 更新。
針對專案 4,我們需要 IIS-ManagementService。
針對專案 5,我們需要 IIS-WindowsAuthentication 更新。
最後,針對專案 6,我們需要 IIS-HttpCompressionStatic 和 IIS-HttpCompressionDynamic 更新。
此時,我們有我們需要的資訊,才能使用設定使用者介面工具,並檢查我們需要的元件,並取消核取我們不需要的贏家。 但是,由於我們想要將此 Web 伺服器組態部署到多部伺服器,因此我們必須建立腳本來提供必要的套件組態。 如 IIS 套件 更新 一節所述,我們的腳本必須明確宣告我們想要安裝之功能更新的任何父系和/或功能更新相依性。
下一節一次取得相依性一個專案,說明此程式的必要動作。
步驟 2:判斷父系和相依性
針對專案 1,我們需要下列父更新:
- IIS-WebServerRole
- IIS-WebServer
- IIS-CommonHttpFeatures
注意
網頁伺服器的所有分葉功能更新都有 IIS-WebServer 和 IIS-WebServerRole 父代。
針對專案 1,我們也請參閱 WAS 上的 IIS 相依性一節,我們必須新增下列 WAS 更新:
- WAS-WindowsActivationService
- WAS-ProcessModel
注意
IIS-WebServer 底下的所有更新都會共用這些 WAS 更新的相依性。
針對專案 2,父更新為:IIS-HealthAndDiagnostics。 上述兩個附注都適用在這裡。
針對專案 3,父更新為:IIS-ApplicationDevelopment。 上述兩個附注都適用在這裡。 查看 IIS 內部相依性一節 , 我們看到 IIS-ASPNET 相依於下列更新:
- IIS-DefaultDocument
- IIS-NetFxExtensibility
- WAS-NetFxEnvironment
- IIS-ISAPIExtensions
- IIS-ISAPIFilter
- IIS-RequestFiltering
針對專案 4,父更新為:IIS-WebServerManagementTools。 (上述筆記都不適用這裡。[IIS 內部相依性] 區段會進一步說明 IIS-ManagementService 相依於下列更新。
- IIS-ManagementConsole
- WAS-NetFxEnvironment
- WAS-ConfigurationAPI
針對專案 5,父更新為:IIS-Security。 (上述筆記都不適用這裡。
針對專案 6,父更新為 IIS-Performance。 (上述筆記都不適用這裡。
步驟 3:在父系內群組 更新
現在,我們會取得具有其父系和相依性的必要更新清單,並將其分組在下列清單中,並視需要將其父代重新群組更新。 我們也會在我們想要確保未安裝的更新中合併,並以星號標示它們 ('*'):
- IIS-WebServerRole
- IIS-WebServer
- IIS-CommonHttpFeatures
- IIS-StaticContent
- IIS-DefaultDocument
- IIS-DirectoryBrowsing*
- IIS-HttpErrors
- IIS-HttpRedirect
- IIS-ApplicationDevelopment
- IIS-ASPNET
- IIS-NetFxExtensibility
- IIS-ISAPIExtensions
- IIS-ISAPIFilter
- IIS-HealthAndDiagnostics
- IIS-HTTPLogging
- IIS-RequestMonitor
- IIS-Security
- IIS-WindowsAuthentication
- IIS-RequestFiltering
- IIS-Performance
- IIS-HttpCompressionStatic
- IIS-HttpCompressionDynamic
- IIS-WebServerManagementTools
- IIS-ManagementConsole
- IIS-ManagementService
- WAS-WindowsActivationService
- WAS-ProcessModel
- WAS-NetFxEnvironment
- WAS-ConfigurationAPI
步驟 4:將 更新 清單放在 Unattend.xml 檔案中
在此步驟中,我們不會安裝所有 IIS 功能,而是只安裝練習所需的功能,並針對通常依預設安裝的更新設定 tag 屬性 state=“false”。 產生的Unattend.xml檔案如下所示。
<xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
name="Microsoft-Windows-Foundation-Package"
version="6.0.5308.6"
language="neutral"
processorArchitecture="x86"
publicKeyToken="31bf3856ad364e35"
versionScope="nonSxS"
/>
摘要
Windows Vista 和 Windows Server 2008 安裝程式的新功能:
- Windows Server 2008 安裝程式現在以使用指令清單的宣告式元件為基礎。
- OS 版本會從這些元件組合。
- Sysocmgr.exe現在由選擇性功能安裝的Pkgmgr.exe取代。
- 相同版本的 IIS 同時位於 Windows Vista 和 Windows Server 2008 版本上。
- 透過安裝程式啟用的安全伺服器 – 使用 IIS 時,不只停用不需要的元件,甚至不會安裝它們。
安裝 IIS 7.0 和更新版本的方法有多種方式:
- 伺服器 – 角色管理工具
- Vista – 新增/移除 Windows 功能
- 自動 - Unattend.xml參考 IIS 指令清單的檔案
- 升級 – 就地將OS升級至 IIS
IIS 元件型設定的重大新優點:
- IIS 只會使用 Windows 元件來安裝您需要的模組。
- 已安裝的模組會使用安全的預設值,並已鎖定。
- IIS 呈現降低的攻擊面和簡化的服務。
相關連結
如需詳細資訊,請參閱下列資源: