今回はウェブサイトに欠かせないCGIの話です。CGIは主にカウンターや掲示板、Webチャットに利用されています。設置そのものは、サイト作成と同じ様にやってみると意外に簡単だと思いますし、各CGIのマニュアルを参考に進めていけば、特に問題はないでしょう。よってここでは設置に一癖ある、@Niftyのサーバースペースでの設置について話を進めていきます。
かく言う私自身も設置に苦心した覚えがあります。これから@NiftyでCGIを動かす人に対して、この文章が少しでもお力になれば幸いです。
それでは、まず簡単な説明から。
何故@NiftyのサーバーにCGIを導入し難いのかと言うと、これはサーバーの各個人のウェブサイト用スペースが、CGI用(cgi-binディレクトリ)とそれ以外(homepageディレクトリ)に分かれているからです。そしてCGI用のスペースには一部の例外を除いて画像やHTMLファイルは置けず、また置いたとしても正しく表示できません。
例えば、私のサイトで使用しているBBSの「家の画像」は、@Niftyの場合、CGI用のスペースに置いても表示されません。これを正しく表示させるためには「家の画像」をhomepageディレクトリに入れ、更にCGI側の画像を呼び出す命令を行う文章を書き換えてやらねばなりません。
各CGIの設定欄には「画像があるディレクトリ」という部分があるはずです。その部分の指定を「./img/」等の相対パス*1表記から、「http://homepage(以下略」の様な絶対パス*2表記に変更すれば、画像は見えるようになるはずです。
追加して話すと、@Niftyでは掲示板等に「HOME」表示があっても、そのままではトップページに戻れません。これもCGIの設定から「戻り先のURL」という欄を探し、相対パスから絶対パスへと変更すれば戻れるようになります。
……最後になりますが、残念ながらここでは詳細に踏み込むことができません。端折った部分や簡単に説明するために意図的に無視等した部分も、沢山あります。より正しく詳しい解説は、以下のサイト(※裏話)を参照して下さい。