• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Apach2.0 ホームディレクトリでCGIが)

Apach2.0 ホームディレクトリでCGIが

このQ&Aのポイント
  • CGIの勉強をしています。わかる方がいらっしゃいましたら、おしえてください。
  • poderosaでつないでviにて作成したソースを、Apach2.0のホームディレクトリで実行する際に、Helloと表示されることを確認しています。
  • httpd.confにUserDirとDirectoryを追加して、CGIの実行設定を行いました。

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

  • ベストアンサー
  • auty
  • ベストアンサー率58% (284/486)
回答No.1

以下を追加したこともあり↓ <Directory /home/*/public_html/cgi-bin/> AllowOverride None Options ExecCGI SetHandler cgi-script Order allow,deny Allow from all AddHandler cgi-script .cgi </Directory> の    SetHandler cgi-script は、    AddHandler cgi-script ではないでしょうか。

tyunitan
質問者

お礼

ありがとうございました

その他の回答 (5)

  • auty
  • ベストアンサー率58% (284/486)
回答No.6

>>>> AddHandler cgi-script .cgiの部分をコメントアウトすると、 CGIが動作している状態から、上記を実行するとForbiddenがでました。 これは、test.cgiのパミッションが700であることによります。(suEXEC) CGIが動作している状態から、エラー500が出たのは、次の3点でした。  ・ ~/public_html/cgi-binのパミッションを775に変更。  ・ ~/public_html/cgi-bin/test.cgiのパミッションを720に変更。  ・ プログラムの1行目を変更(実行できないように) エラーログは、/log/httpd/error_logにあるようです。 パミッションのOKとダメについて ----------------------------------------------------------- ~                  : 711または755 ~/public_html/          : 755または775 ~/public_html/cgi-bin/      : 755       775はダメ test.cgi              : 700       720はダメ ----------------------------------------------------------- また、これもないと思いますが、改行がDOSの2バイトになっていないこと。 poderosaを知らなくて気になっていたのですが、チェックしたところ 「Windows 用高機能ターミナルエミュレータ」となっているので少し心配になりました。 提案としては、 1.test.cgiを作り直して見るか、他から持ってきて、パミッションの設定 2.httpd.confのオリジナルがあればそれを使って設定をやり直す。   なければ、Apacheの再インストールをしてみる。 なかなか役に立たず申し訳ありません。

  • auty
  • ベストアンサー率58% (284/486)
回答No.5

今確認できないのですが >>> <Directory /home/*/public_html/cgi-bin/> は、よかったですかね。まさか <Directory /home/*/public_html/cgi-bin> では?

tyunitan
質問者

お礼

ご指摘ありがとうございます。 "/"を削除してみたんですが、やはり500エラーのままでした。 色々修正を加え、現在は以下のとおりとなってます。 <Directory /home/*/public_html> AllowOverride FileInfo AuthConfig Limit Options MultiViews SymLinksIfOwnerMatch IncludesNoExec ExecCGI # <Limit GET POST OPTIONS> # Order allow,deny # Allow from all # </Limit> <LimitExcept GET POST OPTIONS> Order deny,allow Deny from all </LimitExcept> </Directory> <Directory /home/*/public_html/cgi-bin> AllowOverride None Order allow,deny Allow from all AddHandler cgi-script .cgi Options ExecCGI </Directory> AddHandler cgi-script .cgiの部分をコメントアウトすると、cgiをブラウザで表示したときに、ソースがそのまま表示されます。 (↑ここから、ソースにリンクは通ってる、<Directory /home/*/public_html/cgi-bin>は有効になっていると考えております)

tyunitan
質問者

補足

コメントアウト部分は、コメントを消して実行もしましたが、うまくいきませんでした。

  • auty
  • ベストアンサー率58% (284/486)
回答No.4

指摘したとおり実行されていると思います。 >>> 以下を追加したこともあり↓ の「も」ですが、今もその設定は有効ですね。

tyunitan
質問者

お礼

ありがとうございました

  • auty
  • ベストアンサー率58% (284/486)
回答No.3

何度もすみません。 ・FedoraでsuEXECモジュールが有効の場合、    ・CGIのディレクトリのパミッション:755    ・cgiプログラムのパミッション    :700 にしてみてください。

tyunitan
質問者

お礼

CentOS4になります。 パミッションを、 cgi-bin755 test.cgiを700 にしましたが、なおりませんでした。 cgiディレクトリとは、cgiがおいてあるフォルダに降りていくまでのすべてのディレクトリのパミッションを変更ということでしょうか?

  • auty
  • ベストアンサー率58% (284/486)
回答No.2

SetHandler cgi-script が不要ではないかというべきでした。

tyunitan
質問者

お礼

ありがとうございます。 SetHandlerとAddHandlerの違いをしらべ、SetHandlerのほうを削除しました。

関連するQ&A