id:NeoCat:20080723 で動かしたiPod上のlighttpd上で、CGIを動かせるようにする方法です。
手順
2. 拡張子に応じて実行するバイナリを登録。空欄にしておけばCGIがそのまま実行される。
cgi.assign = ( ".cgi" => "", ".rb" => "/usr/bin/ruby", )
3. indexを追加
index-file.names = ( "index.html", "index.htm", "index.cgi" )
とか、お好みで。
4. lighttpdを再起動する(rootで)
# killall lighttpd # lighttpd -f /etc/lighttpd.conf
5. 何かCGIを書いてみる。とりあえずシェルスクリプトで。要実行権限。
% cd ~/Sites/ % cat > test.cgi #!/bin/sh echo Content-type: text/plain echo ls -l (ctrl-Dで入力終了) % chmod 755 test.cgi
6. http://localhost/test.cgi にアクセスしてみる。
ls -lの実行結果が出れば成功です。
あとはperl入れるなりruby入れるなりして、CGIスクリプトを書けばOKかな。
と思ったらperlのパッケージはまだない!? orz rubyが動けば個人的には良いけど。。
試しにrubyを入れて、以下のrubyスクリプト(ディレクトリ一覧を大きめ表示)を置いてみたら、普通に動きました。
viewportについては http://do-gugan.com/~furuta/archives/2008/01/ipod_touchiphon.html より。
#!/usr/bin/ruby print "Content-type: text/html\n\n" puts '<html><head><meta name="viewport" content="width=200"></head><body>' Dir::foreach('.') {|f| puts "<a href=\"#{f}\">#{f}</a><br>" } puts "</body></html>"