信仰 A による
このガイドでは、ホストされているサーバーで Web 展開ハンドラーを構成し、ユーザーが Web サイトにアプリケーションを展開できることをテストする手順の基本的な概要について説明します。 このセットアップでは、このドキュメントの情報を使用して Web 展開ツールを新しいサーバーにインストールし、推奨設定を構成します。
前提条件
このガイドでは、次の前提条件が必要です。
- .NET Framework 2.0 SP1 以降
- Web 配置ツール 1.0 または 1.1
- Web 管理サービス (WMSvc) がインストールされている IIS 7 以降
注: Web 配置ツールをまだインストールしていない場合は、Web 配置ツールを参照してください。
Web デプロイメント ハンドラーについて
ハンドラーは、Windows Server 2008 の IIS 7.0 と Windows 2008 R2 の IIS 7.5 に付属する Web 管理サービス (WMSVC) と統合されています。
まず、ユーザーのアカウント (IIS マネージャー ユーザーまたは Windows アカウント) を作成する必要があります。 IIS マネージャー ユーザー アカウントの作成の詳細については、「参照してください。
第 2 に、ユーザーは WMSVC を使用して自分の Web サイトに接続する権限を持っている必要があります。 IIS マネージャーの IIS マネージャーのアクセス許可機能を使用して、ユーザーに自分の Web サイトにリモート接続する権限を付与できます。
3 番目に、ユーザーは Web 配置ツールを使用してデプロイを実行する権限も必要です。 IIS マネージャーの 管理サービス委任 機能を使用すると、ユーザーが自分の Web サイトへの展開を実行したり、他のユーザーに展開したりできないようにするための委任規則を作成できます。
次の図は、展開要求がハンドラーにルーティングされ、ハンドラー独自のルールに対して承認される前に、ユーザーが WMSVC に最初に接続され、承認される方法を示しています。 このクイック ガイドは、ユーザーがコンテンツを使用して IIS アプリケーションを展開したり、ファイルのアクセス許可を設定したり、データベースを配置したりできるようにするために必要なルールを設定するのに役立ちます。
パート 1 - WMSVC と IIS マネージャーのアクセス許可を構成する
- WINDOWS Server 2008 サーバーに IIS と Web 管理サービスをインストールします。
- リモート接続が許可されるように WMSVC を構成します。
a. IIS マネージャーを開きます。
b。 [サーバー] ノードを選択します。
c. サーバーの 機能ビュー で、[ 管理サービス ] アイコンをダブルクリックします。
d. [ リモート接続を有効にする] チェック ボックスがオンになっていることを確認します。 チェック ボックスがオフでグレー表示されていない場合は、[ 操作] ウィンドウを使用して WMSvc サービスを停止します。 これにより、チェック ボックスをオンにできます。
e. 右側の [操作] ウィンドウで、[ スタート] をクリックします。 [ リモート接続を有効にする ] チェック ボックスがオンになり、淡色表示されます。 - WMSvc が実行されているアカウント (ローカル サービスなど) に、顧客のディレクトリに対するフル コントロールアクセス許可を付与します。
- ユーザーの Web サイトを作成した後、ユーザーに自分の Web サイトへのアクセスを許可します。
a. IIS マネージャーを開きます。 b。 ユーザーがリモートで管理する Web サイト を選択します。
c. [機能] ビューで、[IIS マネージャーのアクセス許可] アイコンをダブルクリックします。 d. [IIS マネージャーのアクセス許可] ページの [操作] ウィンドウで、[ユーザーの許可] をクリックします。
e. [ ユーザーの許可 ] ダイアログ ボックスで、ユーザーの種類 (Windows または IIS マネージャー) を選択し、[ 選択 ] をクリックしてユーザーのアカウントを選択します。
f. [ OK] を クリックして 、[ ユーザーの許可 ] ダイアログ ボックスを閉じます。
IIS マネージャー ユーザー アカウントの詳細については、「 マネージャー ユーザー アカウントによるサイトまたはアプリケーションへの接続を許可する (IIS 7)」を参照してください。
パート 2 – Web 配置ユーザーの委任規則を作成する
- まだ行っていない場合は、Web 配置ツールをダウンロードして Web サーバーにインストールします。
- ユーザーに許可する Web 配置機能 (プロバイダー) の委任規則を作成します。 ユーザーが自分の Web サイトにアプリケーションとコンテンツを展開できるようにするには:
a. IIS マネージャーを開きます。
b。 [サーバー] ノードを選択します。
c. サーバーの 機能ビュー で、 管理サービス委任 アイコンをダブルクリックします。
d. 右側の [操作] ウィンドウで、[ルールの追加]をクリックします。![[管理サービスの委任] ページの [操作] ウィンドウのスクリーンショット。[ルール テンプレートの選択] が強調表示されています。](configure-the-web-deployment-handler/_static/image6.png)
e. [Deploy Applications with Content]\(コンテンツを含むアプリケーションのデプロイ\) ルール テンプレートを選択します。 このテンプレートでは、WMSVC 承認ユーザーが Web 配置 contentPath および iisApp プロバイダーを使用して、ユーザー スコープにアプリケーションをデプロイできるようにするルールが作成されます。
f. [ OK] を クリックしてテンプレートを開きます。
g. [ OK] を クリックしてルールを作成します。
h. [ ルールへのユーザーの追加 ] ダイアログ ボックスで、アスタリスク (*) を入力します。 これにより、各ユーザーは自分のユーザー スコープにアプリケーションをデプロイできます。
注: 管理者専用同期を実行する場合は、[ 管理サービスの委任 ] ページに移動します。 [操作] ウィンドウで、[機能設定の編集] をクリックし、[管理者にルールのバイパスを許可する] を選択します。
[アプリケーションとしてフォルダーをマークする] ルール
各ユーザーが自分の Web サイト内にアプリケーションを作成できるようにするには:
a. [ルールの追加]をクリックします。.. b. [ アプリケーションとしてフォルダーをマークする] ルール テンプレートを選択します。 このテンプレートを使用すると、すべての WMSVC 承認ユーザーが Web Deploy createApp プロバイダーを使用して、ユーザー スコープ内にアプリケーションを作成できます。 アプリケーションは、アプリケーション プールを含め、親からすべての設定を継承します。 c. [ OK] を クリックしてテンプレートを開きます。
d. [RunAs]\(実行\) セクションで、[Identity Type] に SpecificUser を選択し、[Set...] ボタンをクリックして、この操作を実行するユーザー アカウントを指定します。 このルールを機能させるには、applicationHost.config ファイルへの書き込みアクセス権を持つユーザーとしてルールを実行する必要があります。 Administrators グループに含まれていないアカウント ("CreateAppUser" など) を作成し、必要な最小限のアクセス許可のみを付与することをお勧めします。 これを行うには:- ユーザー アカウントを作成する
-
%windir%\system32\inetsrv\configに読み取りアクセス許可を付与します。 -
%windir%\system32\inetsrv\config\applicationHost.configに変更アクセス許可を付与します。
[ ルールへのユーザーの追加 ] ダイアログ ボックスで、アスタリスク (*) を入力します。 これにより、各ユーザーは自分の Web サイト内にアプリケーションを作成できます。
データベースの配置規則
- ユーザーが自分の Web サイトにデータベースを展開できるようにするには:
a. [ ルールの追加] をクリックします 。.. b. [ データベースの配置 ] ルール テンプレートを選択します。 このテンプレートを使用すると、WMSVC 承認ユーザー (パート 1 で設定) でデータベースを SQL データベース サーバーにデプロイできます。 c. [ OK] を クリックしてテンプレートを開きます。
d. 承認用のパスを追加します。たとえば、「Server=Server1」と設定すると、SQL 資格情報を使用してだれでもこのサーバーにデプロイできます。また、「Server=Server1;Database={userName}_db1」と設定することで、ユーザー名と一致する特定のデータベースにデプロイする場合に制限できます。
e. [ OK] を クリックしてルールを作成します。 - [ ルールへのユーザーの追加 ] ダイアログ ボックスで、アスタリスク (*) を入力します。 これにより、各ユーザーは自分の Web サイトにデータベースを展開できます。
アクセス許可の設定規則
- 各ユーザーが自分の Web サイトにアプリケーションとコンテンツを展開できるようにするには:
a. [ ルール テンプレートの選択]をクリックします。.. b. [アクセス許可の設定] 規則テンプレートを選択します。 このテンプレートを使用すると、WMSVC 承認ユーザーはファイル システムに ACL を設定できます。 c. [ OK] を クリックしてテンプレートを開きます。
d. [ OK] を クリックしてルールを作成します。 - [ ルールへのユーザーの追加 ] ダイアログ ボックスで、アスタリスク (*) を入力します。 これにより、各ユーザーは自分の Web サイト内にアプリケーションとコンテンツを展開できます。
必要に応じて、WMSvc のトレースを有効にする
WMSvc のトレースを有効にする場合は、「 Web 管理サービストレースの構成」を参照してください。 トレース ログは %systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1に格納されます。
パート 3 - Web サイトへのユーザーの接続をテストする
- IIS リモート マネージャーがインストールされているクライアント コンピューターに Web 展開ツールをダウンロードしてインストールするか、ローカル サーバーを使用します。 まずローカル サーバーをテストして、ネットワーク、ファイアウォール、またはプロキシの設定によって発生する可能性のある問題を特定することをお勧めします。
- ユーザー用に作成した資格情報を使用して、ユーザーの Web サイトへの接続をテストします。
a. IIS マネージャーを開きます。
b。 [スタート ページ] ノードを右クリックします。
c. [サイトへの接続]を選択します (注: [サーバーに接続] を選択しないでください)
d. [ サーバー名 ] テキスト ボックスに「 localhost」と入力します。
e. [ サイト名 ] テキスト ボックスに、リモート管理を有効にしたユーザーの Web サイトの名前を入力します。
f. [次へ] をクリックします。
g. [ ユーザー名 ] テキスト ボックスに、Web サイトに対して承認したユーザーを入力します。
h. [ パスワード ] テキスト ボックスに、ユーザーのパスワードを入力します。
一. [ 次へ ] をクリックして接続を完了します。 信頼されていない証明書または自己署名証明書を使用している場合は、証明書を信頼するように求められる場合があります。 IIS マネージャーの右下隅には、新しい接続状態 (例: localhost 8172 as SampleUser) が表示されます。 - 承認規則が機能していることを確認するクイック アプリケーション パッケージを作成します。
a. 右側の [操作] ウィンドウで、[アプリケーションのエクスポート...] をクリックします。
b。 これにより、アプリケーションの エクスポート ウィザードが起動し、すべての画面で [次へ ] をクリックして既定値をそのまま使用し、パッケージを作成します。 - パッケージを作成したら、インストールできることを確認します。
a. [操作] ウィンドウで、[アプリケーションのインポート]をクリックします。..
b。 [次へ] をクリックします。 c. [ パラメーター ] ページで、アプリケーション名を Web サイトにまだ存在しない名前に変更して、ユーザーがアプリケーションを作成できることを確認します。
d. ウィザードを完了させてください。 - 最後に、アプリケーション パッケージをダウンロードしてこの Web サイトにアプリケーションをインストールし、データベースやその他のオプションが動作していることを確認する必要があります。
Troubleshooting
デプロイ中に発生する可能性がある一般的な問題がいくつかあります。
ユーザーは、Web サイトへの接続中に 401 の未承認エラーを受け取ります。
- 原因: このエラーは WMSVC に由来し、通常はユーザー名/パスワードのエラーか、ユーザーが Web サイトにアクセスできないためです。
- 解決策: ユーザー名/パスワードを確認し、ユーザーが Web サイトにアクセスできます。
ユーザーは、アプリケーションのインポートまたはエクスポート中にサーバー エラーを受け取ります。
原因: このエラーは Web デプロイ ハンドラーに由来し、通常はデプロイ規則に問題があります。 ユーザーは正常に接続されているため、WMSVC の問題ではありません。 展開規則に入力ミスがある場合、デプロイを実行しているユーザーが承認されていないか、runAs ID にアクセスできない可能性があります。
解決策:
%systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1でトレース ログを開き、承認に失敗しているルールを確認します。- "詳細: ユーザー 'server1\siteowner'、プロバイダー 'appPoolConfig'、操作 'Read'、パス 'DefaultAppPool' を承認できるルールが見つかりませんでした" などのエラーが含まれているログを探します。 この場合、プロバイダー appPoolConfig は承認されておらず、ユーザーはプロバイダーの追加を許可されていないプロバイダーを追加しようとしました。
- もう 1 つの一般的なエラーは、アプリの作成に使用されている RunAs ユーザーが構成に適切にアクセスできない場合です。 この場合、Procmon は、アクセス拒否エラーの発生元を特定するのに便利なツールです。
まとめ
このガイドでは、ユーザーが Web アプリケーションを管理できるように WMSVC と展開ハンドラーを構成する方法と、IIS マネージャーを使用してパッケージを作成してインストールし、委任規則が機能していることを確認する手順について説明します。