IIS 7.5 でリバースプロキシを構成するための準備

Plone を Windows Web Server 2008 R2 にインストールし、ファイアーウォールの設定を変更して Plone に接続できるようになった。
しかし、Plone に接続する都度 わざわざ「:8080」をつけて、ポート番号を指定するのは煩わしい。
やはり Web の標準である 80/TCP で接続できるようにしたい。

Plone (Zope) の設定を変更してポート番号を 80/TCP にするのは簡単だが、Plone (Zope) 持つ Web サーバーを直接公開するには気が引ける (先の記事ではファイアーウォールの設定を変更して外部から接続できるようにしたが、実際はルーターでインターネットからのアクセスを禁止している)。
やはり、Web アクセスのフロントエンドには実績のある Apache や IIS などを使いたい。

Plone (Zope) の Web アクセスのフロントエンドに、別の Web サーバーを使うときは、PersistentCGI、FastCGI (外部サーバー呼び出し: FastCgiExternalServer)、Proxy のいずれかの方法による Web サーバーとの連携が必要になる。
この三種類の中でもっとも効率的と言われているのは FastCGI だが、残念ながら IIS では FastCGI の外部サーバー呼び出しをサポートしていない。
残る PersistentCGI と Proxy のどちらかの方法から選ぶことになるが、ここでは比較的簡単に設定できる Proxy を使うことにする。

IIS で Proxy を構成するためには、Application Request Routing というモジュールを追加インストールする必要がある。
このモジュールは IISの公式サイトの「Application Request Routing」から入手できる。

このページの右側にある「Install」ボタンをクリックすると、Microsoft Web Platform インストーラーのダウンロードページに移動する。
このページで「Get the Microsoft Web Platform」ボタンをクリックすると、Microsoft Web Platform インストーラーがダウンロードできる。

Web Site of Application Request Routing Web Site of Microsoft Web Platform Installer

ダウンロードしたファイル (wpilauncher_n.exe) をサーバーにコピーして実行すると、最初に「最新情報」タブが開いた状態でウィンドウが表示される。
すぐ下にある「Web プラットフォーム」タブをクリックすると、「Web サーバー」、「フレームワークおよびランタイム」、「データベース」、「ツール」の四つにカテゴリが表示される。
それぞれのカテゴリには「クリックして推奨される製品を含める」と「カスタマイズ」という二つのリンクがある。

Web Platform Installer - News Web Platform Installer - Category

それぞれのカテゴリで「カスタマイズ」リンクをクリックすると、この Microsoft Web platform インストーラーを使ってインストールできるモジュールの一覧が表示される。

Web サーバー カテゴリ
Web Server Category of Web Platform Installar
フレームワークおよびランタイム カテゴリ
Framework Runtime of Web Platform Installar
データベース カテゴリ
Database of Web Platform Installar
ツール カテゴリ
Tools of Web Platform Installar

しかしながら、今回インストールしようとしている Application Request Routing はこの中に含まれていない。
それならば、先の「Application Request Routing」のページで、これ見よがしに Microsoft Web Platform インストーラーに誘導するようなレイアウトになんかするなよ、と小一時間…

そのようなわけで、Microsoft Web Platform インストーラーを使わないことにして、改めて先の「Application Request Routing」のページの「Install」ボタンのすぐ下にある「x64」のリンク (「x86」 のリンクは 32bit 版) をクリックして、Application Request Routing 単体のインストーラーをダウンロードする。
これもまた不親切なことに、一見 正式版がダウンロードできるのかと思いきや、実際にダウンロードできるのは Version 2.0 RC [英語版] である。
このページの下部にも「Download ARR V1.0」、「Download ARR V2.0」とあるが、ここから v2.0 をダウンロードしたとしてもやはり 2.0 RC である。
なお、ページ下部の 「Download ARR V2.0」のところにある「WebPI」(Microsoft Web Platform インストーラー) を使えば、英語版の Microsoft Web Platform インストーラー (多分 v.2.0 RC) で Application Request Routing をインストールできる可能性が示唆されてはいる。(未確認)

さて、「x64」のリンクでダウンロードしたファイル (ARRv2_setup_x64.exe) を、サーバーにコピーして実行する。
最初に英文が書かれたメッセージボックスが表示される。

Infomation of ARR

要約すると、「このパッケージには『URL Rewrite Module v.2』、『Web Farm Framework』、『Application Request Routing v.2』、『External Cache』が含まれており、インストールされる」と書かれている。
この中の「Application Request Routing」がインストールしたいモジュールなので、このメッセージボックスでは「はい」ボタンをクリックする。

続いてライセンス確認のダイアログが表示されるので「Yes」ボタンをクリックすると、インストールが行われる。

Application Request Routing のインストール作業はこれだけで終了だ。
IIS マネージャーを使ってこのサーバーにリモート接続すると、インストールしたモジュールに対応する管理アセンブリのダウンロード・インストールを促す「利用可能な新機能」ダイアログが表示される。

Available Function at IIS Manager

このダイアログはサーバーに新しいモジュールをインストールした後に初めて接続するときに表示され、アセンブリをインストールしてしまえば、この後は表示されることはない。

「利用可能な新機能」ダイアログに表示されたアセンブリが、先ほどインストールしたモジュールのものなので、全てにチェックを入れて「OK」ボタンをクリックする。(「機能」欄が「Web Platform Installer」になっているものは、最初に実行した Web Platform インストーラーのアセンブリ)
チェックを入れた各アセンブリが順にインストールされるが、ひとつのアセンビリに数度程度「セキュリティの警告」ダイアログが表示されるので、毎回「実行する」をクリックしなくてはならない。

全てのアセンブリのインストールが終わると、IIS マネージャーが開き、真ん中のペインに新しい機能のアイコンが追加されているのが分かる (Web ファーム フレームワークの機能もインストールされているはずだが、このサーバーはドメインに参加させていないために、これのアイコンは表示されないのだと思われる)。
なお「Web Platform Install」の機能アイコンをクリックすると、「この機能を使用するには、Microsoft Web 配置ツールがこのコンピューターにインストールされている必要があります。」と表示されるだけで、なんの役にも立たないようだ。

IIS Manager Added New Function Web Platform Function on IIS Manager

関連記事

  • IIS の ARR を使って Plone を呼び出す2010.2.25 (木) IIS の ARR を使って Plone を呼び出す いままでに「Plone を入れてみる」、「Plone のためのセキュリティが強化された Windows Firewall」、「IIS 7.5 でリバースプロキシを構成するための準備」と Plone […]
  • Plone を入れてみる (on Windows Web Server 2008 R2)2010.2.22 (月) Plone を入れてみる (on Windows Web Server 2008 R2) 昨今の PHP 流行に逆らうかのように、Python で作られた CMS のひとつ、Plone を入れてみる。 Plone がどんなものなのかについての詳細は、公式サイト [英語] (日本語版は Plone User’s Group Jpanan) […]
  • Plone のためのセキュリティが強化された Windows Firewall2010.2.23 (火) Plone のためのセキュリティが強化された Windows Firewall 先の記事で Plone を Windows Web Server 2008 R2 にインストールした。 Plone は Zope というアプリケーションプラットフォームの上に構築されており、Zope 自身が Web サーバーの機能を持っている。 […]
  • IIS 7.0 URL リライトモジュール (Rewrite Module)2009.10.9 (金) IIS 7.0 URL リライトモジュール (Rewrite Module) 先日インストールした Drupal を弄っているが、Drupal のサイトにアクセスする時の URI が http://host.domain.dom/index.php?q=aaa/bbb のようにクエリー文字列を使った表現になっている。 これを […]

コメントを残す