出たエラーは下記。
[Sun Mar 15 21:28:03 2015] [error] [client 220.219.14.21] Premature end of script headers: foo.cgi [Sun Mar 15 21:28:04 2015] [error] [client 220.219.14.21] suexec policy violation: see suexec log for more details
この場合、当該ファイル(ここではfoo.cgi)のパーミッションが不正になっているケースが多いそうな。
具体的には705か755でないといけないらしい。
ところが今回のケースではファイルのパーミッションは755になっていた。試しに705にしても動かない。
$ chmod 705 foo.cgi
何が違うのか小一時間ほど頭をひねらせることになったが、ディレクトリのパーミッションが777だったという残念なオチにたどり着いた。
cgiを動かす場合、ディレクトリについても755である必要があるらしい。