IIS7.0でのセットアップについて
作成者 :Tobin Titus
発行日 : 2007 年 11 月 22 日 (作業者 : saad)
更新日 : 2008 年 7 月 16 日 (作業者 : saad)
はじめに
IIS 7.0 は完全にモジュール式のセットアップ設計を採用しているため、Web サーバーのフットプリントを制御できます。GUI、コマンド ライン、および無人セットアップのオプションにより、Web サーバーのセキュリティとサービス提供のフットプリントを簡単に管理できます。
IIS 7.0 のセットアップには、40 を超えるインストール可能な機能が含まれています。IIS 7.0 の新しいコア サーバー パイプライン アーキテクチャでは、コンポーネントが高度に細分化されています。IIS チームは、この細分性をユーザーが選択できるインストール可能なコンポーネントで提供しています。IIS 7.0 のセットアップでは、必要な機能モジュールのみをインストールする機能が新しく導入されました。これにより、非常に軽装備なタスク固有のサーバーを展開したり、これまで不可能だった方法で機能をロック アウトしたりできます。
このドキュメントでは、Microsoft Windows VistaAR および Microsoft ServerAR 2008 のセットアップ テクノロジの概要と、IIS 7.0 のコンポーネント化されたセットアップの詳細について説明します。この情報は、コマンド ラインおよび無人スクリプトのシナリオで IIS のセットアップをカスタマイズする必要があるユーザーにとって特に重要です。通常 IIS 6.0 をインストールするためにスクリプトで sysocmgr.exe を使用している場合、Windows Vista および Windows Server 2008 では、IIS 7.0 用にこれらのスクリプトを変更する必要があります。このホワイトペーパーでは、これらの変更を行うために必要な参考資料を提供します。
この記事には次のような内容が含まれています。
IIS 7.0 のコンポーネントの概要
IIS 7.0 の機能パッケージ
更新プログラムの依存関係
IIS 7.0 の既定のインストール
IIS 7.0 のアップグレード
アップグレード中にインストールされる IIS 7.0 のコンポーネント
IIS 7.0 のインストール方法
サーバー マネージャー ツール
Add/Remove Windows Features ウィザード
IIS のコマンド ライン インストール
コマンド ラインでの無人セットアップ
カスタム インストール
カスタム インストールの計画に関する考慮事項
まとめ
Windows Server 2008 および Windows Vista のコンポーネント ベースのセットアップ
Windows Vista および Windows Server 2008 の OS やオプション機能のインストールは、Windows XP および Windows Server 2003 で使用されていたものに代わる、まったく新しいテクノロジに基づいています。新しいセットアップ テクノロジは宣言モデル駆動型となり、オペレーティング システムの各機能によって、機能を構成するコンポーネントの独自のセットとその依存関係が定義されるようになりました。
Windows Vista/Windows Server 2008 では、この新しいインストール インフラストラクチャによって、次のような重要な利点がもたらされます。
Windows Server 2008 のすべてのバージョンに対して単一のバイナリ ベース
- OS バージョンが宣言的にアセンブルされます。
- クライアント バージョンとサーバー バージョンが同じコード ベースを共有します。
サービス
すべての機能について依存関係が把握されています。
コンポーネントへのサービス提供の影響が完全に理解されています。
サービス パックがより小さくなりました。
セキュリティ
- 攻撃対象領域が削減されました。
- 各 OS バージョンに対してすべてのバイナリはインストールされません。
Windows Server 2008 および Windows Vista のオプション機能のセットアップ
Windows Vista/Windows Server 2008 では、IIS 7.0 などのオプション機能のインストールに、OS のインストールに使用されたものと同じコンポーネント ベースのセットアップ テクノロジが使用されます。Windows Vista/Windows Server 2008 より前のバージョンでは、Windows セットアップ インフラストラクチャにはアップグレード、サービスの提供、および OS へのオプション機能の追加を行うための複数のテクノロジがありました。これらには、次のようなものがありました。
- OS をインストールするための setup.exe
- オプション機能をインストールするための sysocmgr.exe
- オプション機能をインストールするための応答ファイル
- サービス パックをインストールするための update.exe
- MSI インストーラー パッケージ
Windows Vista/Windows Server 2008 には、OS の新規インストール、OS へのサービス提供、およびオプション機能のインストールを統合する、単一のコンポーネント ベースのセットアップ インフラストラクチャが用意されています。オプション機能については、このテクノロジは sysocmgr.exe を置き換えるものです。通常 IIS をインストールするために sysocmgr.exe を直接使用している場合、Vista/Windows Server 2008 ではこれらのスクリプトを変更する必要があります。
セキュリティ、サービスの提供、および IIS 7.0 のセットアップ コンポーネント
IIS 6.0 では、IIS チームは既定で Web サーバーをセキュリティ保護するという思い切った手段を取りました。これは、管理者がサーバー上で ISAPI 拡張と CGI コンポーネントを明示的に有効にしない限り、これらの機能を実行できないことを意味していました。これにより、すべての機能が既定でインストールおよび有効化された IIS 5.0 と、Web サーバーの新規インストールで静的ファイル サービングのみが既定で許可された IIS 6.0 とでは、潜在的な攻撃対象領域に劇的な変化が生じました。
この理念的な変化は、Web サーバーの既定の攻撃対象領域に関しては利点がありますが、完璧からは程遠いものでした。IIS 6.0は、セキュリティ、信頼性、およびパフォーマンスに関して多くの点で前のバージョンよりも向上しましたが、それでも比較的モノリシックな方法で構築されていました。つまり、既定でない機能の多くがインストール時に無効にされる一方で、これらの機能はインストールされ、Web サーバーに読み込まれていました。また、これらの機能は無効になっていても CPU やメモリを継続的に消費し、修正プログラムやソフトウェア更新プログラムを必要とします。たとえば、IIS 6.0 の CGI 機能は、使用されるかどうかにかかわらず、必ずインストールされました。CGI のソフトウェア更新プログラムが使用可能になると、使用されているかどうかにかかわらず、すべての IIS カスタマーがソフトウェア更新プログラムをインストールする必要がありました。
IIS 7.0 では、IIS チームは IIS を完全にモジュール式の Web サーバーにし、高度なモジュール性を十分に活用するようにセットアップを構築することで、この問題に対処しました。IIS 7.0 では、不要なコンポーネントは無効にされるだけでなく、インストールもされません。そのため、IIS 7.0 の必要な機能のモジュールのみをインストールでき、使用する一連のコンポーネントへのサービスの提供にだけ気を配ればよくなります。これにより、非常に軽装備なタスク固有のサーバーを展開したり、これまで不可能だった方法で使用しない機能をロック アウトしたりできるようになります。
IIS 7.0 のコンポーネントの概要
以下の表は、IIS 7.0 のすべてのインストール可能なコンポーネント機能をまとめたものです。また、この表では機能が機能領域ごとにグループ分けされています。これらの機能領域は、サーバー マネージャーなどのセットアップ ユーザー インターフェイスや、新しいコマンド ラインおよびスクリプト ツールで使用されます。各機能領域および機能コンポーネントについては、次のセクションで詳細に説明しています。
セットアップ メニュー項目 |
説明 | |||||
|
Web サーバー |
IIS 7.0 Web サーバーをインストールします。HTML Web サイトをサポートします。オプションで、ASP.NET、従来の ASP、および Web サーバー拡張をサポートします。 | ||||
|
HTTP 共通機能 |
HTML およびイメージ ファイル、カスタム エラー、リダイレクトなどの静的な Web サーバー コンテンツのサポートをインストールします。 | ||||
|
静的コンテンツ |
Web サイトから .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 インクルード ファイルをサポートします。 | |||||
|
健常性と診断 |
サーバー、サイト、およびアプリケーションの健全性を監視し、管理できるようにします。 | ||||
|
HTTP ログ |
このサーバーの Web サイト活動をログに記録できるようにします。 | ||||
ログ ツール |
IIS 7.0 のログ ツールとスクリプトをインストールします。 | |||||
|
要求監視 |
サーバー、サイト、およびアプリケーションの健全性を監視します。 | ||||
追跡 |
ASP.NET アプリケーションおよび失敗した要求を追跡できるようにします。 | |||||
カスタム ログ |
Web サーバー、サイト、およびアプリケーションのカスタム ログをサポートできるようにします。 | |||||
ODBC ログ |
ODBC と互換性のあるデータベースへのログをサポートできるようになります。 | |||||
セキュリティ |
追加のセキュリティ プロトコルを有効にし、サーバー、サイト、アプリケーション、vdir、およびファイルをセキュリティ保護できるようにします。 | |||||
基本認証 |
接続に有効な Windows ユーザー名およびパスワードを要求します。 | |||||
Windows 認証 |
NTLM または Kerberos を使用してクライアントを認証します。 | |||||
ダイジェスト認証 |
Windows ドメイン コントローラーにパスワード ハッシュを送信してクライアントを認証します。 | |||||
クライアント証明書マッピング認証 |
Active Directory アカウントを使用してクライアント証明書を認証します。 | |||||
IIS クライアント証明書マッピング認証 |
Windows セキュリティ識別子に対してクライアント証明書を 1 対 1 または多対 1 でマップします。 | |||||
URL 認証 |
Web アプリケーションで構成される URL に対するクライアント アクセスを認証します。 | |||||
要求のフィルタリング |
ルールを構成し、指定のクライアント要求をブロックします。 | |||||
IP セキュリティ |
IP アドレスまたはドメイン名に基づいてクライアント アクセスを許可または拒否します。 | |||||
|
パフォーマンス | |||||
|
静的コンテンツ圧縮 |
クライアントへの返送前に静的コンテンツを圧縮します。 | ||||
動的なコンテンツの圧縮 |
クライアントへの返送前に動的なコンテンツを圧縮します。 | |||||
|
Web サーバー管理ツール |
Web サーバー管理コンソールおよびツールをインストールします。 | ||||
|
IIS 管理コンソール |
ローカルおよびリモートの Web サーバー管理をサポートする Web サーバー管理コンソールをインストールします。 | ||||
IIS 管理スクリプトおよびツール |
IIS 構成スクリプトを使用してローカルな Web サーバーを管理します。 | |||||
管理サービス |
管理サービスは、Web サーバー管理コンソールを使用して、この Web サーバーを別のコンピューターからリモートに管理できるようにします。 | |||||
IIS 6 と互換性のある管理 |
既存の IIS 6.0 API およびスクリプトを使用して、この IIS 7.0 Web サーバーを管理できます。 | |||||
IIS メタベースおよび 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 サーバーを管理できます。 |
記号の説明 :
機能は既定では選択されていません。 |
|
|
機能は既定で選択されていますが、選択されていないサブ機能が 1 つまたは複数あります。 |
|
機能は既定で選択されています。サブ機能 (ある場合) もすべて選択されています。 |
IIS 7.0 の機能パッケージ
サーバー マネージャーまたは Windows の機能ウィザードを使用した IIS 7.0 のインストールでは、必要な各機能のチェック ボックスをオンにするだけで済みます。コマンド ライン スクリプトまたは無人ファイルを使用してインストールする必要がある場合は、これらの機能を表す、IIS パッケージ内の IIS コンポーネントの実際の名前を知っていなければなりません。
- サーバー マネージャーのユーザー インターフェイスにある IIS の選択可能な機能は、それぞれ IIS パッケージ内の特定の更新プログラム名に対応しています。
- pkgmgr.exe コマンド ライン ツールまたは OS の無人 XML ファイルを使用して IIS 機能をインストールするには、IIS 機能の更新プログラム名を使用する必要があります。
パッケージの更新プログラム
セットアップに表示される各 IIS 機能は、IIS パッケージの更新プログラムに直接マップされます。パッケージ内の最上位の IIS 更新プログラムは IIS-WebServerRole です。更新プログラムの次のレベルでは、IIS-WebServerRole 内の 3 つの主な機能領域がグループ化されています。これら 3 つは、次のとおりです。
- IIS-WebServer
- IIS-WebServerManagementTools
- IIS-FTPPublishingService
これらの各グループには、インストール可能な機能を持つ 1 つまたは複数の更新プログラムが含まれています。
IIS-WebServer の更新プログラム
すべての Web サーバー機能は、IIS-WebServer 更新プログラムの下にグループ化されて配置されます。
- IIS-CommonHttpFeatures
- IIS-ApplicationDevelopment
- IIS-HealthAndDiagnostics
- IIS-Security
- IIS-Performance
これらの各グループには、インストール可能な機能を持つ 1 つまたは複数の更新プログラムが含まれています。
HTTP 共通機能の更新プログラム
HTTP 共通機能の下にグループ化された IIS 機能は、HTML およびイメージ ファイル、カスタム エラー、リダイレクトなどの静的な Web サーバー コンテンツをサポートします。通常、これらの機能は常に 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 サーバー機能とも必ず一緒にインストールされます。
パフォーマンス
パフォーマンスの更新プログラムのグループ化には、静的なコンテンツと動的なコンテンツの 2 つの圧縮更新プログラムが含まれます。
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 プロセス起動サービスの更新プログラム
Windows プロセス起動サービス (WAS) には、基本レベルのプロセス起動および管理を提供するために必要なすべてのインフラストラクチャと、HTTP 処理インフラストラクチャが含まれます。
WAS-WindowsActivationService
- WAS-ProcessModel
- WAS-NetFxEnvironment
- WAS-ConfigurationAPI
IIS-WebServer 更新プログラムの下にグループ化されたすべての機能は WAS 機能に依存します。IIS-WebServer の機能が選択されている場合は、WAS 機能をインストールする必要があります。サーバー マネージャーまたは Vista Windows Features ウィザードから IIS をインストールする場合、WAS を明示的に選択する必要はありません。
更新プログラムの依存関係
「Installing IIS 7.0 on Windows Server 2008」で示されているように、サーバー マネージャーの役割の追加ウィザードを使用して IIS をインストールする場合にも、WAS をインストールする必要があります。
サーバー マネージャーでは、必要な依存関係が通知され、自動的にインストールされます。コマンド ラインまたは unattend.xml を使用してパッケージの更新プログラムをインストールする場合は、これらの依存関係を明示的に指定する必要があります。
WAS に対する IIS の依存関係
更新プログラムのグループ IIS-WebServer の下にあるすべての機能は、WAS 機能に依存します。
WAS-WindowsActivationService
- WAS-ProcessModel
- WAS-NetFxEnvironment
- WAS-ConfigurationAPI
これらの 3 つの WAS 更新プログラムは、IIS-WebServer 更新プログラム グループ内の機能をインストールするための前提条件です。
IIS 7.0 の内部依存関係
IIS 7.0 の一部の機能は、他のバージョンの IIS に依存しています。サーバー マネージャーなどのユーザー インターフェイスを使用して IIS 7.0 をインストールする場合、必要な依存関係は自動的にインストールされます。コマンド ラインまたは unattend.xml を使用してパッケージの更新プログラムをインストールする場合は、これらの依存関係を明示的に指定する必要があります。IIS 7.0 の更新プログラムの内部依存関係について、以下にまとめます。
更新プログラム |
依存先 |
IIS-WebServer |
WAS-ProcessModel : IIS-WebServer の下にあるすべてのリーフ ノードで必要 |
IIS-ASP |
IIS-ISAPIExtensions |
IIS-ASPNET |
IIS-DefaultDocument |
IIS-NetFxExtensibility |
WAS-NetFxEnvironment |
IIS-ManagementService |
IIS-WebServer (少なくとも 1 つの子が選択されていることが必要) |
IIS-ManagementConsole |
WAS-ConfigurationAPI |
IIS-ManagementScriptingTools |
WAS-ConfigurationAPI |
IIS-LegacyScripts |
IIS-Metabase |
IIS 7.0 の親グループの更新プログラムの依存関係
すべての IIS 更新プログラムは、その親グループの更新プログラムに暗黙的に依存します。たとえば、次のようになります。
- IIS-StaticContent は IIS-CommonHttpFeatures に依存します。
- IIS-CommonHttpFeatures は IIS-WebServer に依存します。
- IIS-WebServer は IIS-WebServerRole に依存します。
ここでも、サーバー マネージャーなどのセットップ UI ツールでは、これらの依存関係が自動的に処理されますが、コマンド ライン ツールを使用して更新プログラムをインストールする場合は、親である更新プログラムおよびその他の依存関係もすべて明示的にインストールする必要があります。更新プログラムの依存関係の使用については、「カスタム インストール」のセクションで取り上げます。
IIS 7.0 の既定のインストール
各 IIS 更新プログラムでは、既定のインストール動作が定義されます。これは、セットアップ ユーザー インターフェイスであらかじめ選択された機能を特定するために使用されます。セットアップ ユーザー インターフェイスを使用してインストールする場合は、[次へ] をクリックします。IIS 7.0 の既定のインストールが実行され、次の一覧の更新プログラムがインストールされます。
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 7.0 の既定のインストールでは、ローカル管理と匿名認証を備えた基本的な静的コンテンツ サーバーが提供されます。インストールされた各 IIS 更新プログラムに対して、そのモジュールの既定の構成が ApplicationHost.config に追加されます。
IIS 7.0 のアップグレード
以前のバージョンの IIS から IIS 7.0 へのアップグレードは、以下で詳細に説明するように、Windows Vista と Windows Server 2008 の両方でサポートされています。
Windows Server 2008 へのアップグレードでサポートされている IIS/OS のバージョン
- Windows Server 2003 上の IIS 6.0 (Vista Beta 2 ではサポートされていません)
Windows Vista へのアップグレードでサポートされている IIS/OS のバージョン
- Windows XP 上の IIS 5.1 (Vista Beta 2 でサポートされています)
下位レベルの IIS バージョンから IIS 7.0 へのコンピューター間での移行 (IIS Web を新しいボックスに移動するなど) は、Windows Vista または Windows Server 2008 ではサポートされていません。 IIS チームは、既存の Web サイトを Windows Vista または Windows Server の IIS 7.0 へコンピューター間で移動できるようにする IIS 7.0 移行ツールを提供する見込みです。
アップグレードの手順
Windows Vista および Windows Server 2008 の OS アップグレードは、検出と収集、インストール、および設定の適用の 3 つのフェーズで実行されます。これらの手順は、OS の機能および設定にのみ適用されます。Windows によって作成または所有されていないすべてのファイル システムの内容は、アップグレード プロセスの間もそのまま残ります。そのため、元の OS 上のすべての Web コンテンツは、アップグレード後も存在します。
検出と収集
Windows Vista または Windows Server 2008 への OS アップグレード時には、実際の OS アップグレードが始まる前に、既存の OS 上で IIS の検出コンポーネントが実行されます。既存の Windows OS 上で IIS が検出された場合、すべてのメタベースおよび IIS の状態情報が収集され、保存されます。
インストール
インストール フェーズは、Windows Vista または Server OS のインストールと、元の OS で IIS などのオプション機能が検出された場合はこれらの機能のインストールで構成されます。インストールする IIS 更新プログラムの選択は、元の OS から収集された IIS の状態情報に基づきます。
設定の適用
OS のインストールおよび IIS 7.0 などのオプション機能のインストールが完了したら、元の OS から収集された状態情報が適用されます。 この時点で、元の IIS (5.0 または 6.0) からのメタベース設定が変換および更新され、新しい IIS 7.0 の構成ストア ApplicationHost.config に配置されます。
アップグレード中にインストールされる IIS 7.0 のコンポーネント
検出と収集フェーズの間に、IIS 更新プログラムによって主な IIS サービスおよびファイルの存在がチェックされ、次の表に示すように IIS 7.0 の更新プログラムがインストールされます。
下位レベルの検出ロジック |
インストールされる IIS 7 の更新プログラム |
サービスとしてインストールされる W3SVC |
IIS-ASP |
サービスとしてインストールされる MSFTPSVC |
IIS-FTPServer |
存在する INETMGR.EXE |
IIS-FTPManagement |
サービスとしてインストールされる IISAdmin |
IIS-Metabase |
以前のバージョンの IIS ではコンポーネントの細分性が低かったため、アップグレード時の更新プログラムのインストールは、IIS 7.0 の新規インストールのシナリオで可能なほどきめ細かくは実行できません。したがって、アップグレード時には、ほぼすべての Web サーバー機能がインストールされます。アップグレード後に IIS 機能に対するアプリケーションの依存関係を確認し、IIS の不要な更新プログラムをアンインストールすることをお勧めします。
IIS 7.0 のインストール方法
IIS 7.0 をインストールする主な方法には、Windows のオプション機能ユーザー インターフェイス、コマンド ライン ツール、無人ファイル、およびアップグレードの 4 種類あります。アップグレード以外のすべてのシナリオに対して、使用方法に関する記事が提供されています。
使用可能な Windows ユーザー インターフェイスは、Windows Vista と Windows Server 2008 では異なります。
- Windows Server 2008 では、サーバー マネージャー ツールを使用します。
- Windows Vista (クライアント) では、Windows の Add/Remove Windows Features ウィザードを使用します。
コマンド ライン、無人ファイル、およびアップグレードのシナリオは、Vista エディションと Windows Server 2008 エディションの両方で使用できます。
サーバー マネージャー ツール
サーバー マネージャー ツールは、Windows Sever 2008 でセットアップ ユーザー インターフェイスを提供し、Windows Server 2003 のサーバーの役割管理を置き換えるものです。また、サーバー マネージャーはインストールされた各役割に対して、インストール状態、現在の状態、および管理とタスクを示すサーバーの役割管理ダッシュボードも提供します。
記事「Windows Server 2008 への IIS 7.0 のインストール」には、新しいサーバー マネージャー ツールを使用して Windows Server 2008 に IIS 7.0 をインストールするための手順を示すチュートリアルが用意されています。
Add/Remove Windows Features ウィザード
Windows Vista OS では、オプション機能は Add/Remove Windows Features ウィザードを通じてインストールされます。このウィザードは、機能面で Windows XP の Windows コンポーネントの追加と削除ウィザードと似ています。Windows の機能ウィザードでは、サーバー マネージャー ツールで示されるものと同じ選択可能な IIS 7.0 機能が提供されます。
記事「Installing IIS 7.0 on Windows Vista」(英語) には、Windows Vista に IIS 7.0 をインストールするための手順を示すチュートリアルが用意されています。
図 2 : Add/Remove Windows Features ウィザード
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 7.0 をインストールするための手順を示すチュートリアルが用意されています。
カスタム インストール
前のセクションで紹介した 4 つのチュートリアルでは、それぞれ IIS 7.0 のすべての機能をインストールするための手順が示されていました。IIS 7.0 のすべての機能をインストールすることは、https://www.iis.net にある他の IIS 7.0 機能のチュートリアルを試す場合には必要ですが、実際の開発または展開シナリオではお勧めしません。
開発または展開環境への IIS 7.0 のインストールを計画する際には、アプリケーションで必要な機能のみをインストールするように努めます。このようにインストールする IIS 7.0 コンポーネントを最小限に抑えることには、次のような利点があります。
- メモリに読み込まれるパイプライン モジュールの数が減ることにより、パフォーマンスが向上します。
- 管理が必要な IIS コンポーネントの数が減ることにより、セキュリティが強化されます。
- 悪用される可能性のあるコンポーネントの数が減ることにより、セキュリティが強化されます。
- IIS モジュールに対するアプリケーションの依存関係についての理解が向上します。
カスタム インストールの計画に関する考慮事項
IIS 7.0 の展開の計画は、必要な機能を IIS 6.0 と互換性のある管理、Web 管理、FTP サーバー、および Web サーバーの 4 つの主な領域に分類することから始めます。これら 4 つそれぞれについて、以下のセクションで説明します。
IIS 6.0 と互換性のある管理
以前のバージョンの IIS では、API と WMI プロバイダーを使用して、メタベース設定の読み取りと書き込みを行っていました。これらの API は IIS 7.0 の既定のインストールには含まれていないため、インストールするには明示的に選択する必要があります。
ABO、ADSI などの IIS API または 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 Web サーバーを管理することはできません。IIS 6.0 管理コンソールは、Windows Server 2003 でホストされている IIS 6.0 Web サーバーを管理できるように提供されています。
Web 管理
IIS 7.0 では、Web サーバーの管理方法について、いくつかの選択肢があります。リモート管理のみまたはローカル管理のみを選択するか、両方のサポートをインストールできます。ローカル管理コンソールは、IIS パッケージの更新プログラム IIS-ManagementConsole によってインストールされます。リモート管理の場合は、IIS-ManagementService 更新プログラムをインストールする必要があります。管理サービスでは、サーバーとは別のコンピューターにインストールされた管理コンソールから IIS 7.0 Web サーバーに接続できます。
FTP サーバー
FTP サーバーに関する考慮事項は、以前のバージョンの IIS から変わっていません。ローカル管理なしで FTP サービスのみをインストールするには、IIS-FTPServer 更新プログラムを使用します。FTP サーバーのローカル管理コンソールをインストールするには、IIS-FTPManagement 更新プログラムを使用します。
Web サーバー
ここでは、より興味深い内容について説明します。IIS 7.0 の Web サーバー機能は、インストールに関して非常に高度な細分性を備えています。IIS パッケージの更新プログラムに関するこれまでの説明からわかるように、Web サーバーの機能領域内には、5 つの主な機能グループがあります。
- IIS-CommonHttpFeatures : HTTP 静的コンテンツおよびエラー メッセージに対して基本的なサポートを提供します。
- IIS-ApplicationDevelopment : IIS Web サーバーのアプリケーション拡張をサポートします。
- IIS-HealthAndDiagnostics : ログ、ランタイムの状態、および要求トレースをサポートします。
- IIS-Security : 匿名認証を超えて、追加の認証および承認機能を提供します。
- IIS-Performance : 静的および動的なコンテンツの圧縮を提供します。
これらの各グループに含まれる IIS 7.0 機能については、「パッケージの更新プログラム」セクションで説明されています。サーバー アプリケーションのニーズを確認して、必要な Web サーバー機能のみを選択します。
カスタム インストールの例
この例では、次の属性を持つ仮定の Web サーバーを構成することを検討します。
- 静的コンテンツのサポートは必要だが、ディレクトリの参照は許可しない。
- ログおよびランタイムの状態のサポートが必要。
- ASP.NET のサポートが必要。
- リモート管理のサポートが必要。
- Windows 認証のサポートが必要。
- 静的および動的なコンテンツの圧縮のサポートが必要。
また、インストールを複数のサーバーにスクリプトとして展開可能であるという要件も追加します。
この必要な機能の一覧を使用し、「パッケージの更新プログラム」セクションの更新プログラムの説明に基づいて、必要な IIS 7.0 パッケージの更新プログラムを選択します。
手順 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 サーバー構成を複数のサーバーに展開するためには、必要なパッケージ構成を示すスクリプトを作成する必要があります。「パッケージの更新プログラム」セクションで説明されているように、スクリプトでは、インストールする機能更新プログラムについて、親や機能更新プログラムの依存関係を明示的に宣言する必要があります。
以下で、1 項目ずつ依存関係を見ていきます。
手順 2 : 親および依存関係の特定
項目 1 に対しては、次の親である更新プログラムが必要です。
- IIS-WebServerRole
- IIS-WebServer
- IIS-CommonHttpFeatures
注 : Web サーバーのすべてのリーフ機能更新プログラムでは、IIS-WebServer および IIS-WebServerRole が共通の親となっています。
項目 1 については、「WAS に対する IIS の依存関係」セクションからもわかるように、次の WAS 更新プログラムを追加する必要があります。
- WAS-WindowsActivationService
- WAS-ProcessModel
注 : IIS-WebServer の下にあるすべての更新プログラムは、これらの WAS 更新プログラムに対する依存関係を共有します。
項目 2 の親である更新プログラムは IIS-HealthAndDiagnostics です。上記の注がどちらも当てはまります。
項目 3 の親である更新プログラムは IIS-ApplicationDevelopment です。上記の注がどちらも当てはまります。「IIS 7.0 の内部依存関係」セクションを見ると、IIS-ASPNET が次の更新プログラムに依存することがわかります。
- IIS-DefaultDocument
- IIS-NetFxExtensibility
- WAS-NetFxEnvironment
- IIS-ISAPIExtensions
- IIS-ISAPIFilter
- IIS-RequestFiltering
項目 4 の親の更新プログラムは IIS-WebServerManagementTools です。上記の注はいずれも当てはまりません。「IIS 7.0 の内部依存関係」セクションを見ると、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 7.0 のすべての機能をインストールする代わりに、演習に必要な機能のみをインストールし、通常は既定でインストールされる更新プログラムに対してはタグ属性 state="false" を設定します。結果の unattend.xml ファイルを以下に示します。
<
xmlns:wcm="https://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 で置き換えられました。
- Windows Vista エディションと Windows Server 2008 エディションの両方で、同じバージョンの IIS 7.0 が提供されます。
- セットアップを通じてサーバーのセキュリティ保護が可能になります。IIS 7.0 では、不要なコンポーネントは無効にされるだけでなく、インストールもされません。
IIS 7.0 の複数のインストール方法
- Server : 役割管理ツール
- Vista : Add/Remove Windows Features
- 無人 : IIS 7.0 のマニフェストを参照する unattend.xml ファイル
- アップグレード : IIS 7.0 へのインプレース OS アップグレード
IIS 7.0 のコンポーネント ベースのセットアップ
- IIS 7.0 では、Windows コンポーネントを使用して必要なモジュールのみをインストールします。
- インストールされたモジュールはセキュリティで保護された既定の設定を使用し、ロック ダウンされます。
- 攻撃対象領域が削減され、サービスの提供が簡略化されました。
関連リンク
詳細については、次のリソースを参照してください。
- Windows Server 2008 への IIS 7.0 のインストール
- Installing IIS 7.0 on Windows Vista
- コマンド ラインからの IIS 7.0 のインストール
- 無人セットアップを使用した IIS 7.0 のインストール