mash up award や google ガジェットコンテストなんかの準備のため、ちょっとした cgi を書くことに。
これまでは Perl で書いていたんですが(といっても、Webサービスに接続した結果をそのまま出力するだけの proxy 君的な cgi だけでしたが)、ちょっと Python で書いてみようかと思い立ちました。
ローカルでスクリプトを作成し、ローカルPCのapache 上で動作させるとうまく動きました。
お、やった、簡単簡単なんて浮かれて、サーバへアップロードしたら動作しないんですね。
なんでだろ、と思って調べてみたら、私 mod_python で動くスクリプトを作ってました。あー恥ずかしい。
ローカルPC 上のapache では Trac が動作しているので、それ用に apache + mod_python の環境を作っていたのでした。
僕の借りているサーバは python は cgi モードでしか動作しないってことをすっかり忘れていましたよ。
ってことで、やりなおし。
cgi を配置するディレクトリに、以下のような記述を書いた .htaccess を作成。
AddHandler cgi-script .py
でもって、スクリプトの頭にpython へのコマンドパスを書いて、権限を755 にして、これでOKと思って実行したところ、またしてもエラー。
今度は改行コードが問題でした。
\r\n じゃだめで、\n になっている必要があったんですね。
これを修正して再度アップで、なんとか動作しました。
いやはや、基本が分かってないと色々苦労することが多いですね。