Windows Azure SDK のインストール

以前のWindows Azure SDKはいろいろ面倒な手順を踏む必要がありました。

例えばIISの機能を入れたりSQL Server入れたり、SDKを入れたり…

どれぐらい手間かは「ハマらない&安心な Windows Azure SDK 1.3 のセットアップ方法(waりとnaはてな日記)」「Windows Azure SDKのインストールについて(waりとnaはてな日記)」を参照頂ければよくわかるかと思います。

※設定もれがあるとちゃんと動作しなかったりも痛いですね。

うえー面倒くせーという、そんなあなたもおいらも朗報。

Web Platform Installer を使えば簡単に解決です。
※但しOSのバージョンやエディション等の要件はクリアしておく必要があります。

一発で全部入ります!!(※全部無償でやる場合)

Windows Azure SDK 1.4 Refresh

MIXでアナウンスされていたWindows Azure SDK 1.4のRefresh(SDK 1.4.1)がリリースされました。

このアップデートでは、IIS環境に対し簡単にWebアプリを発行できるWeb Deployment Tool (Web配置ツール)が統合され、簡単にWindows Azure上のWeb RoleにWebアプリケーションを配置できるようになりました。

但しいくつか制限があります。

  • Web配置はシングルインスタンス(1インスタンス)のみ対応できます。
  • このツールを使用したシナリオはテストや開発時を想定しています。
  • Web配置ツールを使用した際の更新ファイル等はサービスパッケージデプロイ後のロールインスタンス上のファイルを直接更新するので永続化されません。最終的にはサービスパッケージを作成し、Windows Azure上へデプロイする必要があります。
  • Web配置用にInputEndpointを1つ消費します(リモートデスクトップ接続も必須です)

あくまで開発者がテストや開発の際のWindows Azure上へのデプロイの手間を軽減させるための機能と考えたほうがいいでしょう。でも便利ですね。

続きを読む

Windows Azure + PHP

Windows Azure上でPHPを動作させる場合、以前ならphp-cgi.exeも一緒にアプリケーションに含めたりしてたと思います。

でもWindows Azure SDK 1.3以降ではスタートアップタスクも利用できるし、Full IIS機能が使えるのでPHPも含めてIIS+FastCGI+PHPな環境にしたいですよね。

ということでおなじみのWebPICmdLineを利用してPHPをインストールするスタートアップタスクです。

@echo off
sc config wuauserv start= demand
md "%~dp0appdata"
reg add  "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d "%~dp0appdata" /f
webpicmdline /Products: PHP53 /AcceptEula
webpicmdline /Products: wincache53 /AcceptEula
reg add "hku\.default\software\microsoft\windows\currentversion\explorer\user shell folders" /v "Local AppData" /t REG_EXPAND_SZ /d %%USERPROFILE%%\AppData\Local /f
net start w3svc

ついでにPHPのアクセラレータとしても利用できるWincacheも入れてます。
※WincacheをインストールするとどうもIISが止まるようなのでサービス開始のコマンドも入れてます。

後は以下のようにサービス定義ファイル(.csdef)でタスクを呼び出すようにします。
<Startup>
    <Task commandLine="InstallPHP.cmd"  executionContext="elevated" taskType="simple" />
</Startup>

これでアプリケーションの開発者は純粋にPHP部分だけに注力できますね。

ロールのエントリポイントも別途起こせるのと、CSPackを利用すれば大分Windows Azure固有の部分を減らせる=PHP開発者がすぐにWindows Azure アプリケーションを開発できるんじゃないかなーと思います。

参考: How to Configure IIS Components in Windows Azure (MSDN)

追記。Windows Azure Command-line Tools for PHPなるものがあるので、こんな苦労しなくてもいいかも知れませんね。\(^o^)/