CGI を動かそうと思ったが動かない原因は
1)CGI の動作が許可されていない directory にある。
2).cgi 文書の先頭行に書く perl の場所の指定が間違えている。
#!/usr/local/bin/perl #!/usr/bin/perl のどちらかの場合が多いが、もちろんサーバによって異なる。macOSX10.8サーバでは後者だ。
3).cgi 文書の改行コードがUNIX になっていない。ネットで拾ってきたサンプルcgi はWinで作っているので改行コードがCR+LF になっていることが多い。Mac は CR だけ、UNIX はLF だけなのだ。エディタで変換する。Mac では mi が便利だ。
4)アクセス権が正しくない。FTPソフトで変更できるから755 にする。すべてのユーザが実行できるとしないと動かない。
5)CGI 文書の文法等が誤り。
#!/usr/bin/perl
print “Content-Type: text/html¥n¥n”;
print “Your_IP=$ENV{‘REMOTE_ADDR’}¥n”;
これはサンプルとして、アクセス元のip address を提示するスクリプト。これをaccess.cgi とか拡張子を.cgi にして好きな名前でアップロードする。