以下除了列出ServerManagerCMD和Package Manager的命令列安裝指令,也會利用伺服器管理員,一起說明IIS 7的安裝方式:只要先執行伺服器管理員,再從『角色摘要』點選『新增角色』,『新增角色精靈』就會出現並引導使用者完成安裝過程。透過精靈的引導,在出現『伺服器角色』畫面時,請選取『網頁伺服器 (IIS)』(如下圖)。
選取『網頁伺服器 (IIS)』作為安裝IIS 7的伺服器角色
因為IIS需要『Windows處理程序啟動服務』才能運作,而新增角色精靈會自動處理(並顯示)相關的相依性,因此在選取『網頁伺服器 (IIS)』伺服器角色之後,會出現交談窗詢問是否要新增(如下圖),此時必須按下『新增所需的功能』鈕,安裝過程才能繼續。
請按『新增所需的功能』鈕繼續安裝過程
接著又回到『新增角色精靈』的『伺服器角色』畫面,而且『網頁伺服器 (IIS)』已被勾選;現在請按『下一步』鈕。隨後精靈會出現伺服器角色的簡介資訊畫面,其中還包含了若干說明檔的超連結;現在請按『下一步』鈕。接著精靈會顯示『網頁伺服器 (IIS)』所有的角色服務,並且也事先選取了9項(如下圖),您可視需要調整這些選項。
選取IIS 7的角色服務
上圖所列出的角色服務,就是IIS 7的40個模組,而事先選取的9項,是IIS 7預設安裝的9個模組,這個預設安裝是為了讓IIS 7能夠擔任具基本功能的靜態網頁Web伺服器;預設安裝的9個模組包括了:
- 靜態內容(IIS-StaticContent)
- 預設文件(IIS-DefaultDocument)
- 瀏覽目錄(IIS-DirectoryBrowsing)
- HTTP錯誤(IIS-HttpErrors)
- HTTP記錄(IIS-HttpLogging)
- 要求監視器(IIS-RequestMonitor)
- 要求篩選(IIS-RequestFiltering)
- 靜態內容壓縮(IIS-HttpCompressionStatic)
- IIS管理主控台(IIS-ManagementConsole)
以上項目括號裡的英文,是該模組的更新名稱(update name),使用Package Manager安裝時,必須指定模組的更新名稱。
若要以ServerManagerCMD安裝IIS 7預設的靜態網頁Web伺服器,請執行以下指令:
ServerManagerCMD.exe –install Web-Server
若要以Package Manager安裝IIS 7預設的靜態網頁Web伺服器,請執行以下指令(如果不加srart /w,pkgmgr雖然執行,但卻會立即返回,因此無法得知安裝何時完成):
start /w pkgmgr.exe /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;
IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;
IIS-HttpErrors;IIS-HealthAndDiagnostics;IIS-HttpLogging;
IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;
IIS-RequestFiltering;IIS-HttpCompressionStatic;
IIS-WebServerManagementTools;IIS-ManagementConsole;
WAS-WindowsActivationService;WAS-ProcessModel;
WAS-NetFxEnvironment;WAS-ConfigurationAPI
加入ASP.NET所需要的模組
上述是IIS 7預設會安裝的模組,而且是為了讓IIS 7能處理靜態網頁,但絕大多數使用IIS應該都不只是為了讓Web伺服器呈現靜態的HTML,而且IIS最常處理的應該是ASP.NET。如果要讓IIS 7能處理ASP.NET,除了上述,還應該再加入以下模組:
- ASP.NET(IIS-ASPNET)
- .NET擴充性(IIS-NetFxExtensibility)
- ISAPI擴充功能(IIS-ISAPIExtensions)
- ISAPI篩選器(IIS-ISAPIFilter)
但如果使用伺服器管理員來安裝IIS 7,您就不需要自行勾選以上模組,因為新增角色精靈會自動列出相依的模組並詢問您(如下圖)。
伺服器管理員的新增角色精靈會自動列出相依的模組並詢問您
若要以ServerManagerCMD安裝ASP.NET所需的模組,請執行以下指令:
ServerManagerCmd.exe -install Web-Server
ServerManagerCmd.exe -install Web-ASP-NET
ServerManagerCmd.exe -install Web-NET-Ext
ServerManagerCmd.exe -install Web-Filtering
ServerManagerCmd.exe -install Web-ISAPI-Filter
ServerManagerCmd.exe -install Web-ISAPI-Ext
若要以Package Manager安裝ASP.NET所需的模組,請執行以下指令:
start /w pkgmgr.exe /iu:IIS-WebServerRole;IIS-WebServer;
IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;
IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;
IIS-ASPNET;IIS-NetFxExtensibility;IIS-ISAPIExtensions;
IIS-ISAPIFilter;IIS-HealthAndDiagnostics;IIS-HttpLogging;
IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;
IIS-RequestFiltering;IIS-HttpCompressionStatic;
IIS-WebServerManagementTools;IIS-ManagementConsole;
WAS-WindowsActivationService;WAS-ProcessModel;
WAS-NetFxEnvironment;WAS-ConfigurationAPI
加入ASP所需要的模組
如果您的IIS 7需要執行傳統的ASP程式,除了前述預設安裝的模組,還需加入以下模組:
- ASP(IIS-ASP)
- ISAPI擴充功能(IIS-ISAPIExtensions)
若要以ServerManagerCMD安裝ASP所需要的模組,請執行以下指令:
ServerManagerCmd.exe -install Web-Server
ServerManagerCmd.exe -install Web-ASP
ServerManagerCmd.exe -install Web-Filtering
ServerManagerCmd.exe -install Web-ISAPI-Ext
若要以Package Manager安裝ASP所需要的模組,請執行以下指令:
start /w pkgmgr.exe /iu:IIS-WebServerRole;IIS-WebServer;
IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;
IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;
IIS-ASP;IIS-ISAPIExtensions;IIS-HealthAndDiagnostics;
IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;
IIS-Security;IIS-RequestFiltering;IIS-HttpCompressionStatic;
IIS-WebServerManagementTools;IIS-ManagementConsole;
WAS-WindowsActivationService;WAS-ProcessModel;
WAS-NetFxEnvironment;WAS-ConfigurationAPI
讓IIS 7能處理CGI程式的模組
Web萌芽之後,動態網頁裡的程式大多仰賴CGI與Web伺服器互動,為了支援更多樣的動態網頁程式(例如PHP),IIS 7內建了以FastCGI為實作方式的CGI功能,而IIS 6亦可藉由微軟提供的外掛程式達到支援CGI。如果要讓IIS 7支援CGI,除了前述預設安裝的模組,還需加入以下模組:
要提醒您的是,安裝CGI模組只是讓IIS 7能支援CGI,如果要讓IIS 7能支援PHP,還必須從PHP下載並安裝解譯程式,並另對IIS 7設定。
若要以ServerManagerCMD安裝CGI程式模組,請執行以下指令:
ServerManagerCmd.exe -install Web-Server
ServerManagerCmd.exe -install Web-CGI
若要以Package Manager安裝CGI程式模組,請執行以下指令:
start /w pkgmgr.exe /iu:IIS-WebServerRole;IIS-WebServer;
IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;
IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;
IIS-CGI;IIS-HealthAndDiagnostics;IIS-HttpLogging;
IIS-LoggingLibraries;IIS-RequestMonitor;IIS-Security;
IIS-RequestFiltering;IIS-HttpCompressionStatic;
IIS-WebServerManagementTools;IIS-ManagementConsole;
WAS-WindowsActivationService;WAS-ProcessModel;
WAS-NetFxEnvironment;WAS-ConfigurationAPI
讓IIS 7具備.NET能力
之前提及IIS 7的模組分成Win32原生模組及.NET Managed模組,而後者並非ASP.NET獨享,就算您的IIS 7並非為了ASP.NET而建置,亦可讓IIS 7提供.NET Managed模組的執行能力,作法就是加入以下模組:
- .NET擴充性(IIS-NetFxExtensibility)
如果您的IIS 7需要執行.NET Managed模組,就必須安裝這個『.NET擴充性』模組。而如果要以ServerManagerCMD安裝.NET擴充性模組,請執行以下指令:
ServerManagerCmd.exe -install Web-Server
ServerManagerCmd.exe -install Web-Net-Ext
要以Package Manager安裝.NET擴充性模組,請執行以下指令:
start /w pkgmgr.exe /iu:IIS-WebServerRole;IIS-WebServer;
IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;
IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-ApplicationDevelopment;
IIS-NetFxExtensibility;IIS-ISAPIExtensions;IIS-ISAPIFilter;
IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;
IIS-RequestMonitor;IIS-Security;IIS-RequestFiltering;
IIS-HttpCompressionStatic;IIS-WebServerManagementTools;
IIS-ManagementConsole;WAS-WindowsActivationService;
WAS-ProcessModel;WAS-NetFxEnvironment;WAS-ConfigurationAPI
完成安裝
完成『新增角色精靈』的角色服務(也就是模組)選取之後,請按『下一步』鈕,精靈會先列出您所選取的角色、角色服務或功能讓您確認,此時按下『安裝』鈕,精靈就會開始安裝。完成之後,精靈也會顯示安裝結果(如下圖),而IIS 7則會自動啟動。
成功安裝IIS 7
測試安裝結果
最簡單的測試方法,就是以瀏覽程式對剛裝入IIS 7的伺服器發出HTTP要求,如果出現如下圖的歡迎頁面,表示已成功安裝IIS 7,而且運作正常。接著您就能將內容放進這部Web伺服器,開始測試或讓您的IIS伺服器上線運作。
IIS 7預設的歡迎頁面