• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:階層を変えると動作しないです。)

階層を変えると動作しないです。

このQ&Aのポイント
  • public_html直下にmailmaga.cgiとその動作に必要な全ファイルをUPしてテスト確認で動作しました。
  • 他のCGIはpublic_html/cgi-bin/*****/*****.cgiと言う形で置いているので、同様にpublic_html/cgi-bin/mailmaga/mailmaga.cgiと置き換えたいのですが、public_html直下から移動するとCGIファイルのディレクトリパーミッションに誤りがあるというエラーメッセージが出ます。
  • パーミッションは705でも755でも試してみましたが駄目でした。質問には答えてくれない製作者には聞くのが一番ですが、どのような原因が考えられますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

>そして public_html/***.cgi なら動く。 というのですから、 (ちなみに、public_html/mailmaga.cgiが動くということですよね) とりあえず、cgi-binは特殊なフォルダの可能性があるので、適当なフォルダ、例えばtestを作って、 public_html/test/mailmaga.cgi として動くか調べてみてはどうでしょう。(もちろん関連するファイルもそれに合せて配置して) この時、mailmaga.cgiとtestのパーミッションを705または755に変更してみて動くか調べてみてはどうでしょう。 mailmaga.cgiだけでだめな場合、testのフォルダのパーミッションも変更してみてください。 エラーが出る場合は、エラーメッセージも教えてください。 p.s. 今回のエラーメッセージとは関係ないのですが、 >public_html 直下に mailmaga.cgi とその動作に必要な全ファイルをUPして >テスト確認で動作しました。 と、関連するファイルがあるのにフォルダも作らずpublic_html直下に置くというのは・・・ 関連ファイルの配置とか初期設定は大丈夫なんでしょうか・・・

nomark
質問者

お礼

レスありがとうございます。 cgi-bin は特殊なフォルダ…だったんですね!! 別の名前のフォルダに移行するとあっさり動いてくれました。 と言うか、cgi-binフォルダでも動いている cgiプログラムがあるので mailmaga.cgi が cgi-binフォルダと相性(?)が悪かったのでしょうか? とにかく動いているので助かりました。 ありがとうございました^^

その他の回答 (3)

  • Suzi
  • ベストアンサー率38% (130/334)
回答No.4

cgiをテキストエディタで開き、「パーミッションに誤りがあります。」の文字でエディタ内検索をしてみると該当の辺りがヒットしそうで、そこを抜粋してくれると、分る方がたくさんいると思いますが。

nomark
質問者

お礼

フォルダの名前をcgi-binから他のものに置き換えたら動作しました。 cgi-binフォルダが特殊名だったらしいです。 ありがとうございましたm(__)m

  • Suzi
  • ベストアンサー率38% (130/334)
回答No.2

『CGIファイルが入っているディレクトリ又はCGIファイルのパーミッションに  誤りがあります。CGIファイルが入っているディレクトリまたはCGIファイル  のパーミッションは 705 か 755 にして下さい。』  cgi内に上記が記した箇所があるので、そこの箇所を見てみるのではどうでしょうか。

nomark
質問者

補足

レスありがとうございます。 該当しそうな所を探してみましたが、cgiプログラムは分からないので どこだか見つけられませんでした;; プログラムがわかる人で無いと無理なんでしょうか…

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

『(当方のWEBサーバーでは)CGI設置場所は public_html ディレクトリ配下であればどこにでも設置できます』 と 『このCGIプログラムは、public_html ディレクトリ配下であればどこにでもインストールできます』 は 「まったく意味が違う」 と言う事を理解していますか? 「WEBサーバーに配置場所の制限がないとしても、設置するCGIプログラム内でディレクトリを固定にしているなら、そのCGIは固定のディレクトリにしか置けない」です。 そうそう、「移動先のディレクトリそのもののパーミションを変え忘れてた」ってオチは無しですよ。

nomark
質問者

補足

レスありがとうございます。 サーバー側は public_html/cgi-bin/*****/*****.cgi と言う形で他のcgiが動作しています。 設置するCGIプログラムは public_html/cgi-bin/***.cgi と設置例に書かれていました。 ですが public_html/cgi-bin/***.cgi の階層に置いても動かない そして public_html/***.cgi なら動く。 と言う事は、ディレクトリが固定されていると言う事ですか? cgi製作者の設置例の記載が間違っているのでしょうか? 固定しているプログラムを書き換えないと駄目なんですね? 因みに、移動先のディレクトリのパーミッションは大丈夫です^^;