Web Deployの整理
ASP.NET MVC 5 の Web Deploy について自分用にまとめたメモ。
2018/12/11 追記
作業手順の順番を変更しました。
旧)Web Deploy 3.6のインストール→管理サービスのインストール
新)管理サービスのインストール→Web Deploy 3.6のインストール
対象環境
Web Deployment Agent Service と Web Management Service どちらを使う?(サーバー側)
Web Deployment Agent Service=Remote Agent Service
- 日本語では「Web 配置エージェントサービス」とか「リモート エージェント サービス」と呼ばれる。
- Windows Server 2003/IIS 6 は、これ一択。
- Web Deployのインストール時に、選択する必要あり。
- 管理者のみ使用可能。
参照URL:Introduction to Web Deploy | Microsoft Docs
Web Management Service(WMSVC)=IISの管理サービス
- 日本語では「Web 管理サービス」「IIS 管理サービス」と呼ばれる。
- Windows Server 2008/IIS 7 から登場した。
- サーバーOSに搭載されている。(参照URLより。最新OSは確認していない)
- 設定を行うことで、管理者以外も使用可能。
参照URL:Visual Studio 2010 [発行]機能で配置可能とするためのサーバー設定 – monoe's blog
Visual Studio と WebMatrix どちらを使う?(クライアント側)
Visual Studioで公開する場合
Visual Studioの公開(発行)は、Web Deployment Agent Service、Web Management Service の両方を使用可能。
WebMatrixで公開する場合
WebMatrixのWeb Deployは、Web Management Serviceを使用する。
Web Deployを行うユーザーは、Windowsユーザー(ドメインユーザー)とIISの内部ユーザー(IISマネージャー ユーザー)どちらを使う?
Windows ユーザーを使用する場合
特に追加の設定なし
IIS 内で完結するユーザー(IISマネージャー ユーザー)を使用する場合
「IIS マネージャー ユーザー」を選択して、ユーザーを追加する。
参照URL:IIS 7の新しい運用形態 | Think IT(シンクイット)
実際に選択したのは?
サーバー側:Web Management Service
Web Management Serviceの方が新しく、機能も充実しているので、使わない手はない。
クライアント側:Visual Studio
Visual Studioを使用して開発しているため。
Web Deployを行うユーザー:Windowsユーザー(ドメインユーザー)
ドメインユーザー以外は、Web Deployを行わないため。
作業手順
上記条件でWeb Deployを行う場合のサーバー側の作業手順を以下にまとめる。
.NET Framework 4.6のインストール
サーバーマネージャーを起動し、[サーバーの役割] で [Web サーバー(IIS)] > [管理ツール] > [管理サービス] をインストール
Web Deploy 3.6のインストール
セットアップの種類で「完全」を選択する。
もしくは、リモート エージェント サービスは不要なのでインストールしない。それ以外はインストールする。IIS マネージャーを起動し、[管理サービス] で [リモート接続を有効にする] をチェックする。
Web Deployに必要。有効にしないとローカルコンピューターからしか管理サービスに接続できない。Web Deploy対象のサイトを右クリックし、[展開] > [Web 配置による発行の有効化] を行う。
- ユーザーを入力する。プルダウンに無い場合は右側のボタンを押下して選択する。
- 保存先を指定する。
保存された設定ファイルは、開発環境でインポート出来る。
「管理サービスの委任」の設定が行われる。(一部の設定は、「接続の検証」時に行われているかもしれない)
ユーザーのアクセス許可を設定する必要はあるか?
[Web 配置による発行の有効化] で選択したユーザーは設定されているので、新たに設定する必要はない。
管理サービスの委任を設定する必要はあるか?
[Web 配置による発行の有効化] で選択したユーザーは設定されているので、新たに設定する必要はない。
フォルダのアクセス権限を編集する必要はあるか?
[Web 配置による発行の有効化] を行ったサイトのフォルダ(Default Web Siteならば、wwwrootフォルダ)に対して、選択したユーザーにはフルコントロールが与えられるので、新たに設定する必要はない。
参照URL:
Visual StudioのWeb発行がどうしても上手くいきません
https://officeyuai.net/%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E9%96%8B%E7%99%BA/net-mvc/mvc_trable1/
その他・関連用語
Windows Process Activation Service(Windows プロセス アクティブ化サービス:WAS)
WCFでHTTPだけでなく、他プロトコルの通信もサポートするためのもの。Web Deployment Agent Serviceと勘違いしやすい。ポート80をリッスンしている。
World Wide Web Publishing Service(World Wide Web 発行サービス:W3SVC)
IISを起動・停止するためのサービス。Web Management Serviceと勘違いしやすい。