YahooジオシティーズのCGIがやっと動いた

HP本編の人工知能(を狙った)CGIのためにYahooジオシティーズCGIを申し込んだものの、なかなかうまく行かなかったが、やっとその原因がわかってきた。最も時間を食ったのはパーミッションだったが、これも含め3点メモしておく。AI-COM BLUE & ORANGE が復活したらまたブログに書きます。

  1. CGIディレクト
    • Yahooジオシティーズでは、CGIファイルはディレクトリ内のどこに置いても良いように説明されているが、いろいろ試してみた。結果、
      • トップページはこれのまま。(これのみco.jpの旧urlから新urlへは未移行)
      • 今回追加したCGI構成はこれ。(aicomディレクトリ下に全てupload)
      • 注意
        • (最上位ディレクトリにindex.cgiがデフォルトで設定(ダミーファイル)されているが、これもフルパスで呼び出し可)
        • 結局、とにかくディレクトリのどこに有ってもフルパスで呼び出し可能で、ただし、CGIファイルの呼び出しにはwww.〜ではなくcgi.〜とする必要が有る。(さらにCGIファイル以外ならば、co.jpの旧urlでも直接呼び出し可能。)
  2. フルパス
    • ディレクトリが同じなのにurlが異なる場合が有るため、(CGI設置で最後に引っ掛かったのはこれ)
      • 入力フォーム.htmlからxxx.cgiの呼び出しは『フルパス』でなければならない。
        • あああ。ここでつまずいた。普通同じディレクトリ内のファイルどうしだから相対パスでファイル名のみで指定するが、それではダメ。
  3. パーミッション
    • 普通は、CGI: 755、データファイル: 666 と色々な所に書いてある。
    • がYahooジオシティーズでは、uploadすると自動でパーミッションが固定される。
      • 固定パーミッションは、CGI: 774、データファイル: 664。
        • (実際これで、データファイルに書き込みできることを確認済み)
      • yahooジオシティーズはサーバーがchmodに対応していないため、FTPソフトでの変更は不可。upload時のパーミッション設定を変更しても機能しない。←できると書いてあるQ&Aも有ったがNG。
      • 他の利用者にも疑問に思う人はいるかもしれない。当初、実際これで本当に動作するかも分からず、(フルパスのミスで)エラーが出まくった際もかなり時間を掛けた。Q&Aにもお世話になり、664でもデータファイルが動作すると聞き、フルパスのミスに気づいた。
      • 色々検索すると、Yahooジオシティーズではパーミッションが変更できないから「ロクなCGIはできない」などの書き込みも有り苦労している人も多そう。いや利用者が今ではあまり多くないのかも。