[MEMO] WebMatrix とポート80 の関係を断つ方法

WebMatrix で使用する Web サーバー 「IIS Express」は、IIS のようにサービスとして起動せず、さらにポート 80 をデフォルトで使用しないようになっています。しかし、WebMatrix インストール時に同時にサービスとして自動的に起動する「Web Deployment Agent Service」が IIS を前提としたサービスで ポート 80 をListen しているため、ポート 80 を使用する Web アプリでWebMatrix と共存不可能と思われるケースが存在しているようです。
そこで、今回は「Web Deployment Agent Service」が WebMatrix のどのタイミングで使用されるのかを紹介した後に、Web Deployment Agent Service の設定方法を説明します。

■Web Deployment Agent Service 概要

通常、Web アプリケーションを IIS / IIS Express 上に展開する時には「Web 配置ツール」を使用しますが、この Web 配置ツールを使用するために必要となるサービスが「Web Deployment Agent Service」となります(Web 配置ツールの概要はこちらをご覧ください)。
WebMatrixでも Web 配置ツールを使用している箇所があるのですが、「Web Deployment Agent Service」の設定が自動開始となっております。このため、WebMatrix を使用していない時でも「Web Deployment Agent Service」が有効になっている = ポート80 を常にListen している状態になっています。

WebMatrix で「Web Deployment Agent Service」が必要となるタイミングは下記の 2 つになります。下記以外の時はこのサービスは使われません。

  • WordPress や EC-CUBE などの CMS を WebMatrix 環境にインストールする時
  • レンタルサーバーなどのリモートサーバーに発行する時

Web Deployment Agent Service の設定方法 *手順は Windows 7 です

「Web Deployment Agent Service」は自動開始(= システム起動時にサービスが起動)設定となっていますので、この設定を変更することで常時 ポート 80 を専有している状態を回避する事ができます。

(1) 画面左下の [スタート] メニューから [コントロールパネル]を起動(もしくは、フォルダーを立ち上げて「コントロール パネル\すべてのコントロール パネル項目」と入力)するとコントロールパネルの項目一覧が表示されので、[管理ツール] をクリックします。

image

(2) ポップアップウインドウが表示されますので、[サービス]をダブルクリックします。

image

(3) サービスのリストが表示されますので、[Web Deployment Agent Service] をダブルクリックします。

image

(4) 「Web Deployment Agent Service」のプロパティが表示されますので、下記2点を変更して、[OK]ボタンをクリックします。

  • スタートアップの種類を「手動」に変更
  • 「停止」ボタンをクリックして「Web Deployment Agent Service」を停止(開始の場合は[開始]ボタンをクリックします)

image

以上になります。
「Web Deployment Agent Service」を起動するには手動での設定が必要になりますので、ポート 80 の常時 Listen 状態は回避されました。
これで、WebMatrix と共存できなかった XAMPP の Web サーバーが起動できるようになります。

 

武田正樹