アズルトラベルのWebサイトリニューアルを手がけているAMWソフトウェアの二人。開発効率の高さやツールの充実度、AjaxやMVCパターンの最新Web技術のいち早い導入などの理由から、Webサイト開発のフレームワークがASP.NETに決定した。しかし、オープンソース系を過去に使ってきた開発者坂本は、IISに疑問符を持ち、PHPへの未練もあるようだ。さあ、どうなる?
登場人物
岩崎課長:Web技術課長。今回のWebサイトのリニューアルを統括する。プログラマーあがりだが、知識がやや古いかも。
坂本:別のシステム会社から転職してきたプログラマーで、技術チームの現場をまとめている。個人でサイトも運営しているため、Web技術に明るい
オープニングトーク
坂本:ブログを入れろかあ。困ったなあ……。
岩崎課長:坂本!なにを悩んでいるんだ。開発フレームワークもASP.NETでばっちり決まったわけだし、Visual Studio 2010もMSDNのサブスクリプション付でお手頃に手に入ったわけだし、あとは人材配置と線表だろう。
坂本:いやあ、そうなんですけど。実はアズルトラベルの仕様書にトラベルジャーナリストのブログを入れてくれって書いてあって、どうしようかと思っていたんです。
岩崎課長:そういえば、そうだったな。なんかWindows上で動くブログサーバーとかいいのないのかな?
坂本:はい。いろいろ探したんですけど、機能面で充実している分、値段が高いんですよね。どうせだったらWordPressが使えたら、楽なんだけどなあ。
岩崎課長:WordPressって確か、以前受注した会社でも使っていたブログサーバーだよな。あれってWindows上で動かないのか?
坂本:ん?そういえば、WindowsでもWordPressが動くって、マイクロソフトののサイトで載っていたような気がするなあ。
岩崎課長:だめもとで調べてみたらどうだ? やはり使い慣れたブログエンジンのほうがいいんだろう。
坂本:そうですね。さっそく知り合いのPHP開発者に訊いてみまーす。
PHPアプリもWindowsで
WordPressも動くIIS
Webサイトを構築するためのマイクロソフトのWebテクノロジーといえば、IIS+ASP.NETの組み合わせといわれていた。現在でもこの組み合わせには多くの新しい技術が投入され、Webサイトを構築するための選択肢の1つとして、大きな位置を占めている。
しかし、IISはASP.NETを動かすためだけの機能を持っているわけではない。IISはWebサーバーとして非常に充実した機能を持ち、またパフォーマンスやセキュリティに関しても優れた環境を提供している。このすぐれた環境をASP.NETだけではなく、PHPなどのCGIアプリケーションでも利用できる仕組みが用意されている。
PHPアプリケーションがWindowsで動作するIISで動かすことができるといっても、Windows用に新しくPHPアプリケーションを開発する必要があるのではない。公式サイトであるPHP.netで配布されているPHPのライブラリが動作し、WordPressといったPHPで開発されているパッケージをIISで動作させることができるのだ。
既存のASP.NETのアプリケーションとPHPを同居できるってわけ
PHPをIISで使うって、どういうこと?
IISでPHPを動作させる仕組みは、基本は一般的なCGIアプリケーションを動作させることと変わりがない。PHPアプリケーションは、PHPで記述されたソースコードをPHPインタープリタ(コンパイラ)が読み取り、ソースコードのスクリプトを解析してプログラムを実行している。PHPのインタープリタが動く環境であれば、PHPの設定ファイルに記載するファイルパス等を正確に指定していれば、基本的にスクリプトを同じように実行することができるようになっている。つまり、IISでPHPを動かすということは、PHPで記述されたソースコードをPHPのスクリプトエンジンに入力し、その出力を利用するということとなる。
WindowsでPHPを使うために、PHPの公式サイトであるPHP.netでWindows向けインストーラーが提供されている。このWindows向けのPHPインストーラーを使えば、Windows環境でPHPのスクリプトエンジンを利用するために必要なソフトウェアがインストールされる。インストール後、PHPのソースコードがPHPのスクリプトエンジンに入力されるよう、IISにしかるべき設定を行なうとPHPで作られたプログラムの出力がIISのWebサイトとして利用できる。
WebPIを使って超簡単インストール
しかしここからがマイクロソフト的な世界である。マイクロソフトはPHPを使うユーザー向けにWeb Platform Installer (Web PI) という統合インストーラーを提供している。このインストーラーを利用すると、PHPのダウンロードからIISの設定までを、自動で行なってくれるのである。PHPを使いたいユーザーをマウスのボタンをクリックするだけだ。
また、Web PIを利用すると、IISやASP.NETのインストールや構成を自動的に行なえるだけでなく、オープンソースで提供されているCMSやブログアプリケーションまでも、動作に必要な環境をまるごとインストールと構成が行なわれる。これまで、個別に必要なランタイムを特定し、インストールを行なったうえで動作のための構成を設定していた一覧の作業をすべて飛ばし、マウスクリックのみでさまざまなサードパーティが提供するWebアプリケーションを導入できる。
そして、Web PIによる統合インストールが提供されている代表的なアプリケーションとしてWordPressがある。Web PIでWordPressのインストールを指示すると、IISやPHPおよびFastCGIはもちろんのこと、データを格納するためのWindows版MySQLのインストールまで、自動的に行なってくれるのである。
このような統合インストールに対応しているアプリケーションは日々増えており、現在でもSugarCRMやXOOPS Cube Legacyといった、人気のあるオープンソースWebアプリケーション を、IISに簡単に導入できる環境が提供されている。
(次ページ、IISってセキュリティが心配じゃないの?)
この連載の記事
-
最終回
データセンター
スクウェア・エニックスがコマースでASP.NETを採用する理由 -
第6回
データセンター
ヤフーが「GyaO!」でSilverlightを採用する理由 -
第5回
データセンター
PHP on Windowsで速攻Web開発を実現 -
第3回
データセンター
習うより慣れろ!ASP.NETでWebアプリを作る -
第2回
データセンター
最新ASP.NETを知るための3つのキーワード -
第1回
データセンター
Webアプリケーションをカイゼンせよ! -
クラウド
マイクロソフトのWeb開発ツールで中身も見た目もクールに - この連載の一覧へ