「携帯さーちあしすと」の裏側を公開 - APIを使って遊ぶ1で書いたように、APIいじりのwebサービスを作っていたりして遊んでみている。
しかし、編集したファイルをいちいちサーバにアップしてpermission変えたりするのがめんどくさいという、非常に重大で深刻な問題が持ち上がった。
ふと気付くと、MacOSXにはapacheが入っていて(Leopardではapache2)、システム環境設定の「共有」で「Web共有」をonにするだけでwebサーバが立ち上がる。 じゃあ、Macのapacheを動かせば、ファイル転送しなくて済むし、少し楽じゃない?
ということで、環境整備、というほどのものでもないが、簡単にやり方を書いておく。 今どきCGI?という話もあるが、気にしない。いいじゃない。Perlで。
apacheの設定
以下のサイトにわかりやすくまとめられているので、参照されたい。
→Mint's log: LeopardでApacheを使う・お手軽入門編
かんたんにまとめると
- システム環境設定の「共有」で「Web共有」をonに
- /Library/WebServer/Documents/ にファイルを置く
- ブラウザで 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をいじくっていく。