MacからCGI(Perl)でAPIを叩く - APIを使って遊ぶ2

「携帯さーちあしすと」の裏側を公開 - APIを使って遊ぶ1で書いたように、APIいじりのwebサービスを作っていたりして遊んでみている。

しかし、編集したファイルをいちいちサーバにアップしてpermission変えたりするのがめんどくさいという、非常に重大で深刻な問題が持ち上がった。

ふと気付くと、MacOSXにはapacheが入っていて(Leopardではapache2)、システム環境設定の「共有」で「Web共有」をonにするだけでwebサーバが立ち上がる。 じゃあ、Macのapacheを動かせば、ファイル転送しなくて済むし、少し楽じゃない?

ということで、環境整備、というほどのものでもないが、簡単にやり方を書いておく。 今どきCGI?という話もあるが、気にしない。いいじゃない。Perlで。

apacheの設定

以下のサイトにわかりやすくまとめられているので、参照されたい。
Mint's log: LeopardでApacheを使う・お手軽入門編

かんたんにまとめると

  1. システム環境設定の「共有」で「Web共有」をonに
  2. /Library/WebServer/Documents/ にファイルを置く
  3. ブラウザで http://localhost/ にアクセス

以上。簡単でしょ?

次にCGIを使えるようにする。

/Library/WebServer/Documents/ に.htaccessというファイルを置いて、以下のように書く。

Options Includes ExecCGI
AddType text/html cgi
AddType cgi-script cgi
AddType cgi-script pl
AddHandler cgi-script-debug .cgiline
AddHandler server-parsed htm
AddHandler server-parsed html
order allow,deny
allow from all

.htaccessの作り方は、あまり丁寧に説明していないが、以下を参照するとわかるかもしれない。
管理者権限でのファイル編集 (うむらうす)

また、.htaccessの内容についてはミケネコさんのサイトを参照されたい。
ミケネコの htaccess リファレンス

これで「.cgi」または「.pl」という拡張子でCGIやSSIが使えるようになる。 SSIは正直使わないかもしらないが、なんかクセで。

エラーログの見方

書いたコードはエラーを生む運命にあり、エラーログはコードのどこが悪いのか教えてくれる貴重なご神託なので、以下のコマンドでありがたく拝む必要がある。

% tail /var/log/apache2/error_log

FinderでShift+Command+Gでディレクトリを表示して、エディターで見てもいいが、ログファイルの容量が大きくなってきた場合、上のコマンドの方がずっと速い。


これで、PerlでAPIを叩く下準備ができた。 (なぜか知らないが、「API」は「叩く」ものらしい。 硬くて表面が平らなんだろうか。API。)

ということで、次からは再び実際にAPIをいじくっていく。