Web 配置ツールを使用する
作成者: Tali Smith
はじめに
Microsoft® Web 配置ツールを使用すると、インターネット インフォメーション サービス (IIS) Web サーバー、Web アプリケーション、Web サイトの移行、管理、配置が簡略化されます。 管理者は、コマンド ライン スクリプトと Web 配置ツールを組み合わせることにより、IIS 6.0 サーバーと IIS 7 以降のサーバーの同期化や、IIS 6.0 サーバーから IIS 7 以降への移行を実行できます。 Web 配置ツールを使用すると、管理者と委任されたユーザーが IIS マネージャーを使用して、Microsoft® ASP.NET および PHP アプリケーションを IIS 7 以降のサーバーに展開することもできます。
Web 配置ツールを使用すると、次のことができます。
- Web アプリケーションを IIS 6.0 から IIS 7 以降に移行する - IIS 6.0 から IIS 7 以降への移行プロセスの開始前に、両バージョン間の非互換性を特定し、推奨される変更を提示することで、移行の計画を簡略化します。 発生する可能性のある問題をあらかじめ知っておくことで、是正措置を準備し、移行を簡略化することができます。
- サーバー ファームを同期化する - Web 配置ツールを使用すると、ソースと配置先のコンテンツの相違点を検出して、同期化する必要のある変更のみを転送できるので、IIS サーバー ファーム全体でサイト、アプリケーション、またはサーバーを効率的に同期化できます。 このツールでは、特定のサイトについて同期化対象となる構成、コンテンツ、および証明書を自動的に特定することにより、同期化プロセスが簡略化されます。 既定の動作に加えて、データベース、コンポーネント オブジェクト モデル (COM) オブジェクト、グローバル アセンブリ キャッシュ (GAC) アセンブリ、レジストリ設定など、同期用の追加プロバイダーを指定することもできます。
- Web アプリケーションをパッケージ化、保存、および展開する - Web 配置ツールを使用すると、インストール済み Web アプリケーション (データベースを含む) の構成とコンテンツをパッケージ化して、そのパッケージを保存と再展開に使用できます。 このパッケージは、管理者権限がなくても、IIS マネージャーを使用して展開できます。 このツールは Microsoft® Visual Studio® 2010 と統合して、開発者が Web アプリケーションを Web サーバーに展開することを効率化することができます。
Web 配置ツールをダウンロードしてインストールする
Web 配置ツールは、パブリック アプリケーション プログラミング インターフェイス (API) および基になるエンジンを含むマネージド コード フレームワークです。 (これは最上位ノードであり、削除できません)。
- IIS マネージャー UI モジュール – UI モジュールを使用すると、ユーザーは展開タスクのサブセット (主に Web サイトまたはアプリのパッケージ化または展開) を実行できます。 このモジュールでは、IIS 7 以降、または IIS リモート マネージャーをインストールする必要があります。
- リモート エージェント サービス – サーバー管理者がリモート操作に接続して実行できるようにする HTTP/HTTPS に基づく管理者専用サービス。
- IIS 配置ハンドラー – Web 管理サービス (WMSvc) と統合し、管理者または管理者以外のユーザーがリモート操作を実行できるようにするハンドラー。 このハンドラーには、 IIS と WMSvc のインストールが必要です。
インストール オプションを選択する
Web 配置ツールをインストールする前に、リモート サービスを使用して 2 つのサーバー間でライブ操作を実行するか、オフライン モードを使用するかを決定します。
- リモート サービスは既定では開始されず、[手動] スタートアップに設定されています。 これは操作中にのみ実行する必要があり、使用されていない場合は停止できます。
- オフライン モードは単純に、サービスを使用しないでツールをインストールすることです。 サイトまたはサーバーのローカル コピーを作成し、この "スナップショット" またはアーカイブをコピー先に手動でコピーする必要があります。
リモート サービスは、ソースまたは配置先のいずれかにインストールされる必要があることに注意してください。 たとえば、サーバーからクライアントにすべてのコンテンツを "プッシュ" するには、すべてのクライアント コンピューターにリモート サービスをインストールして、ソースからコンテンツをプッシュできるようにすることができます。 または、各クライアントにサーバーから "プル" させ、リモート サービスをソースにのみインストールすることもできます。
既定のリモート サービス URL を使用してツールをインストールするには
Web 配置ツールをダウンロードします。
Windows® インストーラー ファイルを実行してツールをインストールします。
カスタム インストールを選択します。
リモート サービス ノードをクリックして、リモート サービスをインストールします。
インストールを完了します。
次のコマンドを実行して、 サービスを手動で開始します。
net start msdepsvc
ファイアウォールでポート 80 が開かれていることを確認します。
カスタム リモート サービス URL を使用してツールをインストールするには
Web 配置ツールをダウンロードします。
Windows Server® 2008 で管理コマンド プロンプトを開くか、Windows Server® 2003 でコマンド プロンプトを開きます。
セットアップ ファイルが置かれているディレクトリに移動します。
次のコマンドを実行します (ポートと URL の仕様をカスタマイズします)。
msiexec /i <msi_filename> /passive ADDLOCAL=ALL LISTENURL=http://+:8080/MSDEPLOY2/
次のコマンドを実行して、 サービスを手動で開始します。
net start msdepsvc
選択したポートがファイアウォールで開かれていることを確認します。
ツールは %programfiles%\IIS\Microsoft Web Deploy にインストールされます。 これは変更できません。
インストール後のリモート サービスの開始
リモート サービスは、既定で http://+/msdeployagentservice/ をリッスンするか、カスタム インストールを実行した場合に指定した URL でリッスンします。
ここで、リモート サービスを開始する必要があります。 これを行うには、[スタート]>[ファイル名を指定して実行] に移動し、「services.msc」と入力します。 このサービスは、Microsoft Web Deployment Agent Service として一覧表示されます。
既定では、サービスのスタートアップは [手動] です。Services.msc でスタートアップを [自動] に設定できます。 また、コマンド ライン ツール Sc.exe を使用して、スタートアップを [自動] に設定することもできます。
Sc.exe の詳細については、サポート技術情報の記事を参照してください。
Web ファーム用に Web 配置ツールを使用する
Web 配置ツールを使用すると、新しいアプリケーションを Web ファームに展開したり、Web ファーム サーバー間で変更を同期させることができます。 Web 配置ツールは現在、ファーム内のサーバーの一覧に対する中央 UI または構成ストアをサポートしていませんが (複数のマシンを一度に同期するなど)、単にこのサーバーの一覧を格納し、各サーバーに対して同期操作を実行できます。 これらの同期操作は、Microsoft® System Center またはその他のスケジュールメカニズムを使用して簡単にスケジュールできます。 同期できるリソースには、Web サイトまたはアプリケーション、コンテンツ フォルダーとファイル、データベース、レジストリ キー、GAC 内のアセンブリなどがあります。 サポートされていない他の種類のリソースを理解するカスタムの "プロバイダー" を構築することもできます。 詳細については、「Web ファームのための Web 配置ツールの使用」を参照してください。
Web 配置ツールを使用したアプリケーションのパッケージ化とデプロイ
Web 配置ツールを使用したアプリケーションのパッケージ化とデプロイの詳細については、次の記事を参照してください。
- IIS マネージャーを使用してパッケージをエクスポートする。
- IIS マネージャーを使用してパッケージをインポートする。
- Web 配置ハンドラーを構成する。
- Visual Studio で発行設定をインポートする
IIS 6.0 から IIS 7 以降に移行する
Web 配置ツールを使用して、次の移行を行うことができます。
- IIS 6.0 から IIS 7 以降への 1 つまたは 1,000 個の Web サイトの移行 (すべての構成設定、コンテンツ、証明書を含む)。
- 単一のアプリケーション。
- IIS 6.0 から IIS 7 以降へのサーバー全体の移行 (すべての Web サイトとアプリケーション プールを含む)。
- サイト、アプリケーション プール、アセンブリ、COM オブジェクト、レジストリ キー、コンテンツで構成されるカスタム マニフェストの IIS 6.0 から IIS 7 以降への移行。
手順については、「IIS 6.0 から IIS 7 以降に移行する」を参照してください。
Web サーバーを同期する
Web 配置ツールを使用すると、IIS 6.0 または IIS 7 以降のソースから宛先に Web サイトを同期できます。 これは、リモートの配置先にデータを "プッシュ" するか、リモートの配置元からデータを "プル" することによって行うことができます。 パッケージ (圧縮ファイル) を使用して、リモート サービスのインストールを回避することもできます。 詳細については、次の記事をご覧ください。
Web 配置ツールの機能
次の情報は、Web 配置ツールの機能の広範な一覧です。
IIS マネージャーと Visual Studio 2010 インターフェイスとのシームレスな統合により、パッケージを作成し、ローカルとリモートの両方でコンピューターに展開できます。
Web アプリケーション パッケージ:
- 関連付けられたデータベースを含め、Web アプリケーションまたはサイト全体をパッケージ化できます。
- アクセス制御リスト (ACL)、COM、GAC、レジストリ設定をパッケージ化できます。
- ライブ サーバーと zip 形式のパッケージの両方を、ソースまたは宛先としてサポートします。
Web アプリケーションの展開:
- Web アプリケーションを展開するために管理特権は必要ありません。
- 展開時にファイル内のテキストを変更するための強力なパラメーターを追加できます (品質保証からステージング環境に展開するときに接続文字列を置き換えるプロンプトなど)。
- 管理者以外によるリモート展開用の IIS Web 管理サービス (WMSvc) との統合。
- サーバー管理者は、実行できる操作をきめ細かく制御でき、管理者以外にタスクを委任できます。
Web サーバーの移行と同期:
- Web サーバー全体、Web サイト、またはアプリケーションを同期または移行できます。
- 変更されたデータのみを同期します。
- 同期中に不足している依存関係を検出できます。
- Web サイトを同期すると、コンテンツ、IIS 構成、Secure Sockets Layer (SSL) 証明書、および ASP.NET 構成が自動的に収集されます。
IIS マネージャーと Visual Studio 10 の使用に加えて、コマンド ライン、Windows PowerShell™ コマンドレット、またはパブリック API を使用してタスクを実行できます。
Note
この記事は、2009 年 9 月 1 日に公開されたフェイス アリントンの「Web 展開ツールのインストール」の資料に基づいています。