特集:PHP on Windows Azure PHP開発者もクラウド開発を始めよう! デジタルアドバンテージ 一色 政彦2009/07/28 |
![]() |
|
|
|
■PHPアプリをWindows Azureに乗せるコツ
●PHPアプリをWindows Azureに乗せた例
セッションでは、開発手順の紹介の後、世の中に広く普及しているPukiWikiをWindows Azureに乗せた例がデモされた。次の写真はそのときの様子である。
![]() |
| Windows Azure上で動作するPukiWikiの例 |
●PHPアプリをWindows Azureに乗せるコツ
亀本氏いわく、「先ほどの開発手順の内容に加え、次の2つのポイントをしっかりと押さえれば、ほとんどのPHPアプリはWindows Azure上に配置可能」である。
(1).htaccessファイルからWeb.configファイルへの移行
(2)php.iniファイル(PHP設定ファイル)のCGI設定
それぞれについて簡単に説明しよう。
●(1).htaccessファイルからWeb.configファイルへの移行
Apacheで使われる.htaccessファイル(=ディレクトリ単位のWebサーバ構成ファイル)は、Windows Azure上ではIISで使われるWeb.configファイルに置き換える必要がある。特にオープンソースのPHPアプリは、Linux/Apache環境を前提としているため、(そのPHPアプリが.htaccessファイルを使用していれば)移行しようとすると、この移行作業が発生する。
例えば、.htaccessファイルの「mod_rewriteルール」(例:RewriteRuleディレクティブなど)は、Web.configファイルの「URL書き換えモジュール」(例:<rewrite>/<rules>/<rule>タグなど)に書き換える必要がある。具体的な、置き換え方法は次のサイトをご覧いただきたい。
●(2)php.iniファイル(PHP設定ファイル)のCGI設定
IIS向けのFastCGIを使ってPHPアプリを動かす場合、(基本的に)次の3つの項目の設定が必要になる。
|
|
| php.iniファイルで必要な3つのCGI設定 | |
| 「cgi.force_redirect」ディレクティブは、CGIとしてPHPを実行する際のセキュリティを確保するためのもの。IISでは、セキュリティがすでに確保されているので、このディレクティブは「0」(=オフ)に設定する必要がある。デフォルト値は「1」。 「cgi.fix_pathinfo」ディレクティブは、PATH_INFOの本来の仕様に沿った動作にするためのもの(昔のPHPはPATH_INFOの仕様を誤って解釈しており、PATH_TRANSLATEDの代わりに、SCRIPT_FILENAMEを使用していた)。このディレクティブは「1」(=オン)に設定する必要がある。デフォルト値は「1」。 「fastcgi.impersonate」ディレクティブは、呼び出し元クライアントのセキュリティ・トークンを偽装して、リクエスト処理を行うセキュリティ・コンテキストをIIS側で定義できるようにする。IIS向けのFastCGI環境では、「1」(=オン)に設定する必要がある。デフォルト値は「0」。 |
■
以上がセッションのほぼ全内容だ。Windows Azure自体がまだ正式リリースされておらず、ましてやPHP開発となると実例がほとんどない。しかしながら、今回のPukiWikiの動作などを見ると、ほとんどのPHPアプリはWindows Azure上でも動作しそうである。
Windows Azureは、インスタンス数の数値を変えるだけで簡単にスケールを調整できるので、「格安な料金でスモール・スタートして、人気のあるサイトになれば、臨機応変にスケールアウトする」という運用形態が可能である。サーバOSのパッチ管理などは、自動的に面倒を見てくれる。この点では、Amazon EC2などではなく、Windows Azureをクラウド・プラットフォームとして使用する理由になるだろう。
開発環境も無償で使えるものがある。Windows Azure自体も2009年11月中旬までは無償だ。「百聞は一見にしかず」で、まずは一度、どんなものか試してみてはいかがだろうか。![]()
| INDEX | ||
| [特集] PHP on Windows Azure | ||
| PHP開発者もクラウド開発を始めよう! | ||
| 1.PHP開発でWindows Azureを利用する理由 | ||
| 2.PHPによるWindows Azureクラウド・サービスの開発(1) | ||
| 3.PHPによるWindows Azureクラウド・サービスの開発(2) | ||
| 4.PHPアプリをWindows Azureに乗せるコツ | ||
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
未来展望台コーナースポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



