しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Windows Azure Web サイトで Perl を動かそうとしたらリバースプロキシでエラーになる件

そろそろ Ruby と Rails を動かすのもマンネリかなと思ったので、今回は Perl をインストールして動かしてみることにしました。

Windows 向けの Perl 実行環境は ActivePerl が有名ですが、今回は Strawberry Perl を使ってみました。こっちの方がポータブル版があるので Web サイトへのインストールが楽でした。

f:id:shiba-yan:20140207011719p:plain

Strawberry Perl for Windows

今回インストールを目論んだアプリケーションは YukiWiki です。インストールマニアックスの課題 OSS として挙がっていたので選択してみました。

http://www.hyuki.com/yukiwiki/

とりあえずいつも通り Perl の必要なファイルを zip にしてからアップロードし、unzip コマンドを使って展開すれば Perl のインストール完了です。特に説明は要りませんよね?

今回は Perl を CGI で動かすので、Web.config でハンドラーマッピングの追加と、Site Extension を使って applicationHost.config の修正が必要ですが、これは Ruby を CGI で動かした時と手順はほぼ同じです。

Windows Azure Web サイトで Ruby を動かしてみた(CGI 編) - しばやん雑記

用意した Web.config は以下の通りです。

<?xml version="1.0"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="CGI"
           path="*.cgi" verb="*"
           modules="CgiModule" scriptProcessor='D:\home\perl\bin\perl.exe "%s" %s'
           resourceType="Unspecified" />
    </handlers>
    <cgi createProcessAsUser="false" />
  </system.webServer>
</configuration>

これでランタイムの準備が出来たので YukiWiki 本体を Web サイトにアップロードして、wiki.cgi を叩くだけなんですが残念ながらエラーになりました。

f:id:shiba-yan:20140207005319p:plain

しかし、IIS ログを確認すると 200 を返しているので、Web サイトの ARR 部分で 502 になるみたいです。

最低限の Hello, world や YukiWikiMini は動いたのですが、少し規模が大きくなると 502 になってしまいました。エラーログも出ないし、ちょっとよくわからないので未完記事にしておきます…。