CGIが動かない時に確認したい2つのこと
はらぺこあおむしのページがほとんど無くなってしまい、しょんぼりしてるフジカワです。どうしてウチの娘はすぐ本を破ってしまうのでしょうか。
CGIが動かない
CGIを使いたいという依頼があって、apacheの設定を変更。
AddHandlerのコメントアウトを削除して、
ScriptAliasはデフォルトのままにし、cgiの実行は”/var/www/cgi-bin/”以下のみ。
んでhttpd再起動。
これでオッケー。
と思いきや、テストファイルが動かない。
なんでや。
あ、これか。
ということでうっかりミスが二つありました。
今後久しぶりに同じ作業を行うとき、絶対忘れてる自信があるのでメモしておきます。
perlのパスを確認
ファイルの1行目に記述するperlの場所と、実際のperlの場所が異なる場合があります。
外部から持ってきたcgiファイルを自分が使ってるサーバーにアップロードする時に起こりがちです。
レンサバの場合はしっかりとコマンドパスが適切かどうかを確認しましょう。
SSHで入れる場合は
whereis perl
で確認して、ファイル1行目の記述を併せておきましょう。
パーミッション
特にこっちを忘れそう。
アップロードしたファイルはそのままだと動きません。
アップロード後にパーミッションを「755」に変更する必要があります。
ファイルの上書きだと問題ありませんが、一度削除したファイルを再度上げる場合は
もう一度パーミッションを変更する必要があります、当たり前だけど。
その当たり前を忘れるのが僕クオリティーです。
それにしても
cgiって単語聞いたの数年ぶりでした。
僕がうっかり忘れそうな2つの他にもcgiが上手動かない時に幾つか確認したいことは下記サイトに丁寧に書いてくれています。上記2つの確認をしても問題が解決しない場合はこちらもご覧ください。
▼参照
CGIセッティングの7ヶ条 – futomi’s CGI Cafe