Visual Studio 2010 [発行]機能で配置可能とするためのサーバー設定
以前、お客様から “Visual Studio 2010 の [発行] 機能を使って ASP.NET アプリの配置を行いたいのだけれど、サーバー側の設定がわからない” との質問をいただき、”詳細をブログに書きますよ” とお答えしたものの、うっかり書いてなかったので記述します。
その前に Visual Studio 2010 の持っている発行機能について、簡単にご紹介しておきましょう。
Visual Studio 2010 ASP.NET アプリケーションの 発行 機能
Visual Studio 2010 は ASP.NET アプリケーション向けに 発行 (Deploy) と呼ばれるアプリケーションの配置機能を持っています。
この機能は、単にアプリケーションのファイルを配置先に展開するだけでなく、Web サーバー (IIS) の設定や、使用しているデータベースのスキーマからデータまでをパッケージングして、配置先に反映させることができます。
なお、Visual Studio 2010 は ASP.NET アプリケーション配置のより詳しい説明につきましては、以下のドキュメントをご参照ください。
ASP.NET Web アプリケーション プロジェクトの配置の概要
https://msdn.microsoft.com/ja-jp/library/dd394698.aspx
ASP.NET Web 配置によるインストールを可能にするサーバー設定
サーバー側で Visual Studio 2010 からの Web 配置によるアプリケーションの発行に対応するには、IIS がインストールされていることはもちろん、Web 配置ツール (Microsoft Web Deploy ) がインストールされ、Web Deployment Agent Service が動作している必要があります。
Web 配置ツール
https://technet.microsoft.com/ja-jp/iis/ee854980.aspx
なお、Web Deployment Agent Service は、Web 配置ツールの標準セットアップではインストールされませんので、カスタムインストールで選択してください。
「え、なにそれ。もうインストールしちゃってんだけど」 と、いう方は、Windows のコントロールパネル [プログラムと機能] のリストで [Microsoft Web Deploy 2.0] のところでマウスの右ボタンをクリックし、表示されたコンテキストメニューかせ [変更] を選択してください。機能の追加セットアップが行なえるようになります。
Visual Studio 2010 の ASP.NET 発行による配置が行なわれる際には、必ず事前に Web Deployment Agent Service を起動しておいてください。なお、サービスの起動は Windows の [コントロールパネル] 内 [管理ツール] の [サービス] で行います。
Web Deployment Agent Service が起動したら、あとは心置きなく Visual Studio 2010 から Web 配置していただいて結構です。
Visual Studio 2010 と WebMatrix のサーバー側の配置要件の違い
Visual Studio 2010 と WebMatrix にはともに、Web サーバーへのアプリケーションの配置機能が搭載されています。
いずれも使用するプロトコルとして [Web 配置] ( Web Deploy ) 選択することでがきます (※) が、それを受け入れるサーバー側の設定には、大きな違いがあります。
(※) ただし、まったく同じ機能をサポートしているわけではありません。
たとえば、Visual Studio 2010 は配置先が Windows 7 などのクライアント OS 上の IIS でも構わないのに対し、WebMatrix は Windows Server 2008 R2 などのサーバー OS である必要があります。
これは、クライアントからの Web 配置のリクエストを受信するサービスが異なるからです。
Visual Studio 2010 からの Web 配置は Web Deployment Agent Service が受信し、処理を行いますが、Web Matrix からの Web 配置は、サーバー OS の IIS にのみ搭載されている IIS 管理サービスが受信し、Web Deploy に処理を行わせます。
それぞれ要件が異なりますので、開発ツールからの Web 配置を受け入れるサーバーを構築する場合はご注意ください。
なお、WebMatrix からの Web 配置を可能とするサーバーの設定方法につきましては、このブログの記事に投稿してありますので、合わせてご覧ください。
WebMatrix からの直接アップロードを可能とする IIS Web 配置サービスの設定
https://blogs.msdn.com/b/osamum/archive/2011/02/08/webmatrix-iis-web.aspx
----- ・----- ・ ----- ・----- ・ -----・----- ・ -----・----- ・ -----・----- ・ -----・----- ・ -----・----- ・ -----・----- ・ -----
最近、Windows Azure の Web ロール内のインスタンスへの WebMatrix からの Web 配置を検証してみました。
シングルインスタンスの場合は簡単にできるのですが、複数インスタンスの場合はちょっと難しいですね。
詳細は、情報が出そろってからアップさせていただきたいと思います。