IIS 7 のセットアップについて

作成者: Saad Ladki

この記事について

この記事では、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 の Web サーバー (IIS) の役割と、Windows Vista の Web サーバーです。

IIS 7.5 は、Windows Server 2008 R2 の Web サーバー (IIS) の役割であり、Windows 7 の Web サーバーです。

IIS セットアップの概要

IIS 7 以降は、Web サーバーのフットプリントを制御できる完全にモジュール式のセットアップ設計になっています。 IIS で使用できる GUI、コマンド ライン、無人セットアップ オプションを使用すると、IIS Web サーバーのセキュリティとサービス フットプリントを簡単に管理できます。

新しい IIS サーバー パイプライン アーキテクチャでは、コンポーネントが高度に細分化されています。 この細分化により、IIS をインストールするときに、ユーザーが選択できるインストール可能なコンポーネントにこの細分性を反映できます。 IIS セットアップを使用して、40 を超える IIS 機能から選択してインストールをカスタマイズすることもできます。 IIS セットアップの新機能は、必要な機能モジュールのみをインストールする機能です。これにより、非常に軽量な、タスクに特化したサーバーを展開したり、これまでできなかった方法で機能をロックアウトしたりできます。

Windows Server 2008 および Windows Vista コンポーネント ベースのセットアップ

Windows Vista および Windows Server 2008 の OS およびオプション機能のインストールは、まったく新しいテクノロジに基づいています。 新しいセットアップ テクノロジは宣言型モデルによって駆動されるようになりました。オペレーティング システムの各機能は、機能とその依存関係を構成するコンポーネントの独自のセットを定義します。

Windows Vista と Windows Server 2008 の場合、新しいインストール インフラストラクチャは、いくつかの重要な点でメリットがあります。

  • Windows Server 2008 のすべてのバージョンに対して単一のバイナリ ベース

    • OS バージョンは宣言によってアセンブルされます。
    • クライアントとサーバーのバージョンは、同じコード ベースを共有します。
  • サービス

    • すべての機能で認識される依存関係。
    • コンポーネントのサービスの影響が完全に認識されるようになりました。
    • より小さいサービス パック。
  • セキュリティ

    • 攻撃を受ける可能性の低減。
    • OS バージョンごとにすべてのバイナリがインストールされるわけではありません。

オプション機能のための Windows Server 2008 および Windows Vista セットアップ

Windows Vista および Windows Server 2008 では、OS のインストールに使用されるコンポーネント ベースのセットアップ テクノロジと同じテクノロジを使用して、IIS などのオプション機能をインストールすることもできます。 Windows Vista および Windows Server 2008 より前は、Windows セットアップ インフラストラクチャには、OS のアップグレード、サービス提供、オプション機能の追加を行う前に必要な複数のテクノロジがありました。 たとえば次のようなものがあります。

  • OS をインストールする Setup.exe。
  • オプション機能をインストールする Sysocmgr.exe。
  • オプション機能をインストールするための応答ファイル。
  • サービス パックをインストールする Update.exe。
  • MSI インストーラー パッケージ。

Windows Vista および Windows Server 2008 では、OS のクリーン インストール、OS のサービス提供、オプション機能のインストールを統合する単一コンポーネント ベースのセットアップ インフラストラクチャが用意されました。 オプション機能に関しては、このテクノロジが Sysocmgr.exe を置き換るものになりました。

Note

定期的に Sysocmgr.exe を直接使用して IIS をインストールしている場合は、それらのスクリプトを Windows Vista および Windows Server 2008 用に変更する必要があります。

セキュリティ、サービス、IIS 7.0 以降のセットアップ コンポーネント

IIS 6.0 で、IIS チームは既定で Web サーバーをセキュリティで保護するという思い切った方法を取りました。 これは、管理者がサーバー上でそれらの機能を明示的に有効にするまで、ISAPI 拡張機能と CGI コンポーネントの実行を無効にすることを意味しました。 これにより、潜在的な攻撃対象領域は、IIS 5.0 (すべての機能が既定でインストールされ、有効になる) と IIS 6.0 の間で大幅に変わりました。この場合、Web サーバーのクリーン インストールでは静的ファイル サービスのみが既定で許可されていました。

この基本方針の変更により、Web サーバー上の既定の攻撃対象領域は小さくなりましたが、完璧とは言えませんでした。 IIS 6.0 は、それ以前よりもセキュリティ、信頼性、パフォーマンスにおいて多くの点で改善されましたが、依然として比較的モノリシックな方法で設計されていました。 つまり、多くのオプション機能はインストール時に無効になっているものの、それでもインストールされ、Web サーバーに読み込まれていました。 また、これらの機能は、無効になっているにもかかわらず、CPU とメモリを消費し続け、修正プログラムとソフトウェア更新プログラムが必要でした。 たとえば、IIS 6.0 の CGI 機能は、以前に使用されたかどうかにかかわらず、常にインストールされていました。 CGI のソフトウェア更新プログラムが利用可能になった場合、IIS のすべてのお客様は、それを使用しているかどうかに関係なく、インストールする必要があります。

IIS 7.0 以降では、IIS チームは IIS を完全にモジュール化された Web サーバーとし、この高度なモジュール性を最大限に活用するようにセットアップを設計することで、この状況に対処しました。 IIS 7.0 以降では、必要ないコンポーネントが無効になるだけでなく、インストールもされません。 そのため、必要な IIS 機能のモジュールのみをインストールでき、使用する一連のコンポーネントのサービス提供についてのみ心配すればよいことになります。 これにより、非常に軽量な、タスクに特化したサーバーを展開し、使用していない機能をこれまでできなかった方法でロックアウトすることができます。

IIS 7.0 以降のコンポーネントの概要

次の表は、IIS 7.0 以降のすべてのインストール可能なコンポーネント機能をまとめたものです。 また、この表で機能を機能領域にグループ化しています。 これらの機能領域は、サーバー マネージャーなどのセットアップ ユーザー インターフェイスと、新しいコマンド ラインおよびスクリプト ツールによって使用されます。 機能領域と機能コンポーネントのそれぞれについて、次のセクションで詳しく説明します。

セットアップ メニュー項目

説明

%

Web サーバー

IIS Web サーバーをインストールします。 HTML Web サイトのサポートと、ASP.NET、Classic ASP、Web サーバー拡張機能のオプションとしてのサポートを提供します。

 

?

一般的な HTTP 機能

HTML および画像ファイル、カスタム エラー、リダイレクトなどの静的 Web サーバー コンテンツのサポートをインストールします。

       

?

静的コンテンツ

Web サイトから .htm、.html、画像ファイルを提供します。

       

?

既定のドキュメント

ユーザーが要求 URL にファイルを指定しなかった場合に読み込む既定のファイルを指定できます。

       

?

ディレクトリ参照

クライアントが Web サーバー上のディレクトリの内容を表示できるようにします。

       

?

HTTP エラー

HTTP エラー ファイルをインストールします。 クライアントに返されるエラー メッセージをカスタマイズできます。

         

HTTP リダイレクト

クライアント要求を特定の宛先へリダイレクトする機能をサポートします。

     

アプリケーション開発

ASP.NET、Classic ASP、CGI、ISAPI 拡張機能など、アプリケーション開発のためのサポートをインストールします。

         

ASP.NET

Web サーバーが ASP.NET アプリケーションをホストできるようにします。

         

.NET 拡張機能

Web サーバーが .NET framework マネージド モジュール拡張機能をホストできるようにします。

         

ASP

Web サーバーが Classic ASP アプリケーションをホストできるようにします。

         

CGI

CGI 実行可能ファイルのサポートを有効にします。

         

ISAPI 拡張

ISAPI 拡張機能がクライアント要求を処理できるようにします。

         

ISAPI フィルター

ISAPI フィルターが Web サーバーの動作を変更できるようにします。

         

サーバー側インクルード

.stm、.sthtm、.shtml インクルード ファイルをサポートします。

   

%

正常性と診断

サーバー、サイト、アプリケーションの正常性を監視および管理できます。

       

?

HTTP ログ

このサーバーの Web サイトのアクティビティを記録できるようにします。

         

ログ ツール

IIS ログ ツールとスクリプトをインストールします。

       

?

要求監視

サーバー、サイト、アプリケーションの正常性を監視します。

         

トレース

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 サーバーを管理します。

     

Management Service

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 Publishing Service

ファイル転送プロトコル (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 つの主要な機能領域がグループ化されます。 次のとおりです。

  • 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 アプリケーション、Classic 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

Note

ABO または ADSI API を使用するスクリプトまたはアプリケーションを使う場合は、IIS-IIS 6.0 ManagementCompatibility グループから機能をインストールして、それらの管理ツールに対して IIS 7.0 以降との互換性を確保することを選択します。 少なくとも、IIS メタベース更新プログラムをインストールする必要があります。スクリプトで IIS WMI プロバイダーも使用している場合は、IIS-WMICompatibility 更新プログラムもインストールします。

FTP Publishing Service の更新プログラム

この更新プログラムには、FTP サーバーと FTP 管理コンソールがグループ化されます。

  • IIS-FTPPublishingService

    • IIS-FTPServer
    • IIS-FTPManagement

Windows プロセス アクティブ化サービスの更新プログラム

Windows プロセス アクティブ化サービス (WAS) には、基本レベルのプロセス アクティブ化および管理を提供するために必要なすべてのインフラストラクチャと、HTTP 処理インフラストラクチャが含まれています。

  • WAS-WindowsActivationService

    • WAS-ProcessModel
    • WAS-NetFxEnvironment
    • WAS-ConfigurationAPI

IIS-WebServer 更新プログラムの下にグループ化されたすべての機能は、IIS-WebServer の機能が選択された場合は常にインストールする必要がある WAS 機能に依存します。 サーバー マネージャーまたは 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

これら 3 つの 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 (少なくとも 1 つの子が選択されている必要があります) 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 以降のアップグレード

以前のバージョンの 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 のバージョン

    • Win 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 移行ツールを提供することを予定しています。

Upgrade Steps

Windows Vista および Windows Server 2008 OS のアップグレードは、検出と収集、インストール、設定の適用という 3 つの異なるフェーズで事前構成されています。 これらのステップは、OS の機能と設定にのみ適用されます。 Windows によって作成または所有されていないファイル システムの内容は、アップグレード プロセスを通じてそのまま残ります。 したがって、元の OS 上のすべての Web コンテンツはアップグレード後も存在します。

検出と収集

Windows Vista または Windows Server 2008 への OS アップグレード時、実際の OS アップグレードが始まる前に、IIS 検出コンポーネントが既存の OS 上で実行されます。 既存の Windows OS で IIS が検出された場合、すべてのメタベースと IIS の状態情報が収集され、保持されます。

インストール

インストール フェーズでは、Windows Vista または Server OS をインストールしてから、IIS などのオプション機能 (元の OS で検出された場合) をインストールします。 インストールする IIS 更新プログラムの選択は、元の OS から収集された IIS 状態情報に基づいています。

設定の適用

OS のインストールと IIS などのオプション機能のインストールが完了すると、元の OS から収集された状態情報が適用されます。 この時点で、元の IIS (5.0 または 6.0) のメタベース設定が変換され、新しい IIS 7.0 以降の構成ストア 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-ManagementService IIS-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
IISAdmin がサービスとしてインストールされている IIS-Metabase

以前のバージョンの IIS ではコンポーネントの細分性が非常に制限されていたため、アップグレード時の更新プログラムのインストールは、IIS クリーン インストールのシナリオほどには細分化できません。 その結果、ほぼすべての Web サーバー機能がアップグレード時にインストールされます。 そのため、IIS の機能に対するアプリケーションの依存関係を見直し、アップグレード後に不要な IIS 更新プログラムをアンインストールする必要があります。

IIS 7.0 以降のインストール方法

IIS のインストールには、主に 4 つの方法があります。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 をインストールするための詳細なチュートリアルが記載されています。

[Windows の機能] ダイアログのスクリーンショット。
図 2: Windows 機能の追加と削除ウィザード

IIS のコマンド ライン インストール

Pkgmgr.exe コマンド ライン ツールは、Windows Vista および Windows Server 2008 の新機能です。 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 をインストールする手順について説明しています。

カスタム インストール

前のセクションで説明した 4 つのチュートリアルのそれぞれでは、すべての IIS 機能をインストールする手順について説明しています。 https://www.iis.net にある他の IIS 機能のチュートリアルをいくつか試す場合は、すべての IIS 機能をインストールする必要がありますが、そうすることは実際の開発や展開のシナリオでは推奨されません。

開発または展開環境用に IIS のインストールを計画するときは、アプリケーションに必要な機能のみをインストールする必要があります。 インストールする IIS コンポーネントをこの方法で最小限に抑えることには、いくつかの利点があります。

  • メモリに読み込まれるパイプライン モジュールの数を減らすことで、パフォーマンスが向上します。
  • 管理が必要な IIS コンポーネントの数を減らすことで、セキュリティが向上します。
  • 悪用される可能性があるコンポーネントの数を減らすことで、セキュリティが強化されます。
  • IIS モジュールに対するアプリケーションの依存関係を把握しやすくなります。

カスタム インストールの計画に関する考慮事項

IIS の展開計画を始めるときは、まず、必要な機能を 3 つの主要な領域に分割します: IIS 6.0 管理互換性、Web 管理、FTP サーバー、Web サーバー。 これらのそれぞれについて以下のセクションで確認します。

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

Note

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 では、Web サーバーの管理方法についていくつかの選択肢があります。 リモート管理のみ、ローカル管理のみを選ぶか、両方のサポートをインストールできます。 ローカル管理コンソールは、IIS パッケージ更新プログラム IIS-ManagementConsole によってインストールされます。 リモート管理の場合は、IIS-ManagementService 更新プログラムをインストールする必要があります。 管理サービスを使用すると、サーバーとは別のコンピューターにインストールされている管理コンソールから IIS Web サーバーに接続できます。

FTP サーバー

FTP サーバーに関する考慮事項は、以前のバージョンの IIS と変わっていません。 ローカル管理なしで FTP サービスのみをインストールするには、IIS-FTPServer 更新プログラムを使用します。 FTP サーバーのローカル管理コンソールをインストールするには、IIS-FTPManagement 更新プログラムを使用します。

Web サーバー

ここで、事態はさらに興味深いものになります。IIS Web サーバー機能は、すべての IIS 機能の中でインストール可能な細分性が最高レベルです。 IIS パッケージの更新プログラムに関する前の説明で説明したように、Web サーバー機能領域には、次の 5 つの主要な機能グループがあります。

  • IIS-CommonHttpFeatures – HTTP 静的コンテンツとエラー メッセージの基本的なサポートを提供します。
  • IIS-ApplicationDevelopment – IIS Web サーバーのアプリケーション拡張機能をサポートします。
  • IIS-HealthAndDiagnostics – ログ記録、ランタイム状態、要求トレースのサポートを提供します。
  • IIS-Security – 匿名認証以外の追加の認証および承認機能を提供します。
  • IIS-Performance – 静的および動的なコンテンツ圧縮を提供します。

これらの各グループ内の IIS 機能については、"IIS パッケージの更新プログラム" に関するセクションで前述しました。サーバー アプリケーションのニーズを確認し、必要な Web サーバー機能のみを選択する必要があります。

カスタム インストール例

この例では、次の属性を使用して架空の Web サーバーを構成することを検討します。

  1. 静的コンテンツのサポートが必要ですが、ディレクトリの参照は許可しません。
  2. ログ記録とランタイム状態のサポートが必要です。
  3. ASP.NET のサポートが必要です。
  4. リモート管理をサポートする必要があります。
  5. Windows 認証のサポートが必要です。
  6. 静的および動的コンテンツ圧縮のサポートが必要です。

また、インストールをスクリプトとして複数のサーバーに展開できるという要件も追加します。

次に、必要な機能を示すこのリストと、"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 パッケージの更新プログラム"に関するセクションで説明したように、スクリプトでは、 インストールする機能更新プログラムの親または機能更新プログラムの依存関係を明示的に宣言する必要があります。

次のセクションでは、依存関係を一度に 1 項目ずつ取得し、このプロセスに必要なアクションについて説明します。

ステップ 2: 親と依存関係を決定する

項目 1 には、次の親更新プログラムが必要です。

  • IIS-WebServerRole
  • IIS-WebServer
  • IIS-CommonHttpFeatures

Note

Web サーバーのすべてのリーフ機能更新プログラムには、IIS-WebServer と IIS-WebServerRole の親が共通しています。

項目 1 については、「WAS に対する IIS の依存関係」のセクションから、次の WAS 更新プログラムを追加する必要があることもわかります。

  • WAS-WindowsActivationService
  • WAS-ProcessModel

Note

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 機能をインストールするのではなく、演習に必要なものだけをインストールし、既定で通常インストールされる更新プログラムに対してタグ属性 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 以降をインストールする複数の方法:

  • Server – 役割管理ツール
  • Vista – Windows 機能の追加と削除
  • 無人 – IIS マニフェストを参照する Unattend.xml ファイル
  • アップグレード – IIS へのインプレース OS アップグレード

IIS のコンポーネント ベース セットアップの重要な新しい利点:

  • IIS は Windows コンポーネントを使用して、必要なモジュールのみをインストールします。
  • インストールされるモジュールでは、セキュリティで保護された既定値が使用され、ロックダウンされます。
  • IIS で攻撃対象領域が減少し、サービスが簡素化されます。

詳細については、次のリンクを参照してください。