Web パッケージを手動でインストールする

作成者: Jason Lee

このトピックでは、Web 展開パッケージをインターネット インフォメーション サービス (IIS) に手動でインポートする方法について説明します。

トピック「Web アプリケーション プロジェクトのビルドとパッケージ化」では、IIS Web 配置ツール (Web 配置) と、Microsoft Build Engine (MSBuild) と Web 発行パイプライン (WPP) を組み合わせて、Web アプリケーション プロジェクトを 1 つの zip ファイルにパッケージ化する方法について説明しました。 このファイルは、一般に Web 展開パッケージ (または単に展開パッケージ) と呼ばれ、Web サーバー上で Web アプリケーションを再作成するために IIS が必要とするすべてのコンテンツと構成情報を含みます。

Web 配置パッケージを作成したら、さまざまな方法で IIS サーバーに発行できます。 多くのシナリオでは、MSBuild、WPP、Web 配置間の統合ポイントを利用して、自動化またはシングルステップのビルドとデプロイ プロセスの一環として、Web パッケージをリモートで作成してインストールする必要があります。 このプロセスについては、「 Web パッケージのデプロイ」を参照してください。 ただし、これは常に可能なわけではありません。 Web アプリケーションをインターネットに接続する運用環境にデプロイするとします。 セキュリティ上の理由から、このような運用環境は、境界ネットワーク (DMZ、非武装地帯、スクリーン サブネットとも呼ばれます) 内の、ビルド サーバーとは別のサブネット上のファイアウォールの背後にある可能性が最も低くなります。 多くの場合、運用環境は別のドメインまたは物理的に分離されたネットワーク上にあります。

これらのシナリオでは、Web パッケージを移行先サーバーに移植し、IIS に手動でインポートするオプションが唯一の選択肢になる場合があります。 この方法では自動展開は除外されますが、Web アプリケーションを発行するための非常に効果的な手法です。単に 1 つの zip ファイルを Web サーバーにコピーし、ウィザードを使用してインポート プロセスをガイドします。

このトピックでは、Fabrikam, Inc という架空の会社のエンタープライズ展開要件に基づく一連のチュートリアルの一部を構成します。このチュートリアル シリーズでは、サンプル ソリューションである Contact Manager ソリューションを使用して、ASP.NET MVC 3 アプリケーション、Windows Communication Foundation (WCF) サービス、データベース プロジェクトなど、複雑さの現実的なレベルの Web アプリケーションを表します。

タスクの概要

Web 展開パッケージを IIS にインポートするには、次の大まかなタスクを完了する必要があります。

  • MSBuild コマンド ライン、チーム ビルド、または Visual Studio 2010 を使用して、Web 配置パッケージを作成します。
  • Web パッケージをコピー先の Web サーバーにコピーします。
  • IIS マネージャーのアプリケーション パッケージのインポート ウィザードを使用して、Web パッケージをインストールし、接続文字列やサービス エンドポイントなどの変数の値を指定します。

このトピックでは、これらの手順を実行する方法について説明します。 このトピックのタスクとチュートリアルでは、Web パッケージ、Web 配置、WPP の背後にある概念を既に理解していることを前提としています。 詳細については、「 Web アプリケーション プロジェクトのビルドとパッケージ化」を参照してください。

Note

このトピックは、必要なコンポーネントをインストールし、パッケージのインポート用に IIS Web サイトを準備する方法を説明する、 Web 配置発行用の Web サーバーの構成 (オフライン展開) と組み合わせて使用するのが最適です。

Web 配置パッケージを作成する

最初のタスクは、デプロイする Web アプリケーション プロジェクトの Web 配置パッケージを作成することです。 Web パッケージは、さまざまな方法で作成できます。

方法 1: Visual Studio を使用してビルド プロセスの一部としてパッケージを作成する

Web アプリケーション プロジェクトは、プロジェクト のプロパティ ページの [Web の パッケージ/発行 ] タブを使用して、ビルドのたびに Web 配置パッケージを作成するように構成できます。 このプロセスについては、「 Web アプリケーション プロジェクトのビルドとパッケージ化」を参照してください。

方法 2: MSBuild を使用してビルド プロセスの一部としてパッケージを作成する

カスタム MSBuild プロジェクト ファイルまたはコマンド ラインから MSBuild を直接使用して Web アプリケーション プロジェクトをビルドする場合は、コマンドに DeployOnBuild=true プロパティと DeployTarget=Package プロパティを含めることで、ビルド プロセスの一環として Web 配置パッケージを作成できます。 このプロセスについては、「 ビルド プロセスについて」を参照してください。

方法 3: Visual Studio でオンデマンドでパッケージを作成する

Visual Studio 2010 では、Web アプリケーション プロジェクトの Web 配置パッケージをいつでも作成できます。 これを行うには、[ソリューション エクスプローラー] ウィンドウで Web アプリケーション プロジェクトを右クリックし、[配置パッケージのビルド] をクリックします。

Web アプリケーション プロジェクトの Web 配置パッケージを作成するには、[ソリューション エクスプローラー] ウィンドウで Web アプリケーション プロジェクトを右クリックし、[配置パッケージのビルド] をクリックします。

方法 4: コマンド ラインからオンデマンドでパッケージを作成する

MSBuild を使用して Web アプリケーション プロジェクトで パッケージ ターゲットを呼び出すことで、コマンド ラインから Web 配置パッケージを作成できます。 コマンドは次のようになります。

MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package

どちらの方法を使用する場合でも、最終的な結果は同じです。 WPP は、Web アプリケーション プロジェクトの出力フォルダーに、さまざまなサポート リソースと共に zip ファイルとして Web 配置パッケージを作成します。

W P P は、Web アプリケーション プロジェクトの出力フォルダーに、さまざまなサポート リソースと共に zip ファイルとして Web デプロイ パッケージを作成します。

Web パッケージを手動でインポートする予定の場合は、zip ファイルのみが必要です。 このファイルをターゲット Web サーバーにコピーすると、インポート プロセスを開始できます。

WEB パッケージを IIS にインポートする

次の手順を使用して、ローカル ファイル システムから IIS Web サイトに Web 展開パッケージをインポートできます。 この手順を実行する前に、次のことを確認します。

  • Web 配置パッケージを Web サーバーにコピーしました。
  • アプリケーションをホストするように IIS Web サーバーを構成しました。

Web 展開パッケージをサポートするように IIS Web サーバーを構成する方法の詳細については、「Web 配置発行用の Web サーバーの構成 (オフライン展開)」を参照してください。

IIS マネージャーを使用して Web 展開パッケージをインポートするには

  1. IIS マネージャーの [ 接続 ] ウィンドウで、IIS Web サイトを右クリックし、[ 展開] をポイントして、[ アプリケーションのインポート] をクリックします。

    I I S Manager の [接続] ウィンドウで、IIS Web サイトを右クリックし、[配置] をポイントして、[アプリケーションのインポート] をクリックします。

  2. アプリケーション パッケージのインポート ウィザードの [ パッケージの選択 ] ページで、Web 展開パッケージの場所を参照し、[ 次へ] をクリックします。

  3. [ パッケージの内容の選択 ] ページで、不要なコンテンツをクリアし、[ 次へ] をクリックします。

    [パッケージの内容の選択] ページで、不要なコンテンツをクリアし、[次へ] をクリックします。

    Note

    多くの場合、Web デプロイ パッケージに付属するすべてのものをインポートしたくない場合があります。 たとえば、Web 配置で関連付けられているデータベースを置き換えることを許可しない場合があります。
    [アクセス許可の付与] エントリは、アプリケーション プール ID が Web サイトのコンテンツを格納する物理フォルダーに確実にアクセスできるように、宛先ファイル システムに対するアクセス許可を設定します。 さらに、匿名認証ユーザーには、アプリケーションが多目的インターネット メール拡張機能 (MIME) の種類のファイルを提供できるように、フォルダーに対する読み取りアクセス許可が付与されます。 必要に応じて、これらのエントリを削除し、手動でアクセス許可を構成できます。

  4. [ アプリケーション パッケージ情報の入力 ] ページで、要求された情報を入力します。

    [アプリケーション パッケージ情報の入力] ページで、要求された情報を入力します。

  5. Web パッケージを作成すると、WPP はアプリケーションの構成ファイルを分析し、接続文字列やサービス エンドポイントなどの変数を検出します。 この場合、次のようになります。

    1. アプリケーション パス は、アプリケーションをインストールする IIS パスです。 この設定は、WPP によって作成されるすべての展開パッケージに共通です。

    2. ContactService サービス エンドポイント アドレス は、アプリケーションが展開された WCF サービスとの通信に使用する必要があるアドレスです。 この設定は、 web.config ファイル内のエントリに対応します。

    3. 最初の 接続文字列 設定は、Web Deploy がアプリケーションに関連付けられているデータベース (この場合は ASP.NET メンバーシップ データベース) をデプロイするために使用する接続文字列です。 この設定は、Visual Studio の [ SQL のパッケージ化/発行 ] タブの設定に対応しています。

    4. 2 番目の 接続文字列 設定は、アプリケーションが稼働中にデータベースと通信するために実際に使用する接続文字列です。 これは、 web.config ファイル内の接続文字列エントリに対応します。

      Note

      これらのパラメーターの基になる場所の詳細については、「 Web パッケージ展開のパラメーターの構成」を参照してください。

  6. [次へ] をクリックします。

  7. この Web サイトにアプリケーションを初めて展開しない場合は、インストール前に既存のすべてのコンテンツを削除するかどうかを指定するように求められます。 要件に適したオプションを選択し、[ 次へ] をクリックします。

    要件に適したオプションを選択し、[次へ] をクリックします。

  8. IIS によるパッケージのインストールが完了したら、[完了] をクリック します

    I S がパッケージのインストールを完了したら、[完了] をクリックします。

この時点で、Web アプリケーションが IIS に正常に発行されました。

まとめ

このトピックでは、IIS マネージャーを使用して WEB 展開パッケージを IIS Web サイトにインポートする方法について説明します。 Web アプリケーションの発行に対するこのアプローチは、セキュリティやインフラストラクチャの制約によってリモート展開が不可能または望ましくない場合に適しています。

もっと読む

Web パッケージの手動インポートをサポートするように IIS Web サーバーを構成する方法のガイダンスについては、「Web 配置発行用に Web サーバーを構成する (オフライン展開)」を参照してください。 Web パッケージの展開に関する一般的なガイダンスについては、「 チュートリアル: Web 配置パッケージを使用した Web アプリケーション プロジェクトの配置 (パート 1/4)」を参照してください。