• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Apache/2.2.13 WebサーバーでCGIが動きません)

Apache/2.2.13 WebサーバーでCGIが動かない?解決方法を教えてください

このQ&Aのポイント
  • Apache/2.2.13 WebサーバーでCGIが正常に動作しない状態です。
  • CGI拡張子が.plの場合は問題なく動作していますが、.cgiの場合には動作しません。
  • ご迷惑をおかけしておりますが、解決方法をご教授いただけると助かります。

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

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

私の環境で試してみました。(fedora11) 結論から云えば、何も特別な設定もしないで、ほとんどデフォルト設定のままで正常に動作しました。 下記のとおりです。 httpd.confのフォルダ設定 Options ExecCGIにしただけで、残りの部分はデフォルトのまま。 AddHandler cgi-script .cgi .pl ScriptAlias /cgi-bin/ "/var/www/cgi-bin/" <Directory "/var/www/cgi-bin"> AllowOverride None Options ExecCGI <--ここを変更しただけ Order allow,deny Allow from all </Directory> 以下の内容で/var/www/cgi-bin/myenv.cgiを作成(実行可能ファイル) #!/usr/bin/perl print "Content-type: text/html\n\n"; foreach $key (keys %ENV) { print "$key --> $ENV{$key}<br>"; } myenv.cgiの所有者変更 # chown apache:apache /var/www/cgi-bin/myenv.cgi 念のためmyenv.cgiを確認 # ls -l /var/www/cgi-bin/myenv.cgi -rwxr-xr-x 1 apache apache 117 2009-09-09 08:00 /var/www/cgi-bin/myenv.cgi ブラウザでmyenv.cgiを実行すると下記の環境変数一覧が表示されました。 SCRIPT_FILENAME は myenv.cgi であることが確認できます。 SERVER_SOFTWARE は Apache/2.2.13 (Fedora) でであることが確認できます。 SCRIPT_NAME --> /cgi-bin/myenv.cgi SERVER_NAME --> 127.0.0.1 SERVER_ADMIN --> root@localhost HTTP_ACCEPT_ENCODING --> gzip,deflate HTTP_CONNECTION --> keep-alive REQUEST_METHOD --> GET HTTP_ACCEPT --> text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 SCRIPT_FILENAME --> /var/www/cgi-bin/myenv.cgi SERVER_SOFTWARE --> Apache/2.2.13 (Fedora) HTTP_ACCEPT_CHARSET --> Shift_JIS,utf-8;q=0.7,*;q=0.7 QUERY_STRING --> REMOTE_PORT --> 40891 HTTP_USER_AGENT --> Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.9.1b4) Gecko/20090427 Fedora/3.5-0.20.beta4.fc11 Firefox/3.5b4 SERVER_PORT --> 80 SERVER_SIGNATURE --> Apache/2.2.13 (Fedora) Server at 127.0.0.1 Port 80 HTTP_ACCEPT_LANGUAGE --> ja,en-us;q=0.7,en;q=0.3 REMOTE_ADDR --> 127.0.0.1 HTTP_KEEP_ALIVE --> 300 SERVER_PROTOCOL --> HTTP/1.1 PATH --> /sbin:/usr/sbin:/bin:/usr/bin REQUEST_URI --> /cgi-bin/myenv.cgi GATEWAY_INTERFACE --> CGI/1.1 SERVER_ADDR --> 127.0.0.1 DOCUMENT_ROOT --> /var/www/html HTTP_HOST --> 127.0.0.1 ※問題なく動作しますので”eiwa-up"さんの原因は解りません。 なお、SSIも正常に動作しました。

eiwa-up
質問者

お礼

adoircus様 すばやい回答ありがとうございます。 いいろいろ検討した結果、OSを再インストールすることにしました。 やはりOSのインストールの失敗か? ハードウエアーの問題か? Fedora 11 バージョン 1.430 と Apache バージョン 2.2.13 の合性の問題か? 分かりませが、致命的な問題のようです。 再インストールして結果が分かりしだいまた報告いたします。 今回は本当にありがとうございました。 本当に心の支えになり助かりました。 これからもよろしくお願いいたします。 ありがとうございました。

eiwa-up
質問者

補足

本当にありがとうございました。 解決いたしました。 結局、OSを再インストールして見たところ正常に動きました。 上の記述で正常に動作確認できました。 原因はDXDロムの不良品だったか、できるPRO Fedora11の出版時のparlのバージョンのバグ、どちらかだと思います。 本当に助けていただいて、ありがとうございました。 感謝しています。 之からも、よろしくおねがいいたします。 ありがとうございました。

その他の回答 (5)

  • aktado
  • ベストアンサー率0% (0/1)
回答No.6

CGI を /var/www/cgi-bin/ に置くと動きませんか? Apache のコンパイル時オプションで suExec が有効になっていると、 特定のディレクトリの下以外では CGI が実行できなくなります。 CGI をどうしても /home/www/cgi-bin/ に 置きたいのなら、 Apache のリビルドが必要かな。 ただこの場合、拡張子が .pl でも動作しないと思うので、外しているかもしれません。

参考URL:
http://httpd.apache.org/docs/2.2/suexec.html
eiwa-up
質問者

お礼

aktado様 本当にありがとうございました。 解決いたしました。 結局、OSを再インストールして見たところ正常に動きました。 OS Redhat Linux Fedora 11 バージョン 1.430 Webサーバー Apache バージョン 2.2.13 perl 5.10.0-68.fc11 上の記述で正常に動作確認できました。 原因はDXDロムの不良品だったか、できるPRO Fedora11の出版時のparlのバージョンのバグ、どちらかだと思います。 本当に助けていただいて、ありがとうございました。 感謝しています。 之からも、よろしくおねがいいたします。 ありがとうございました。

noname#101947
noname#101947
回答No.5

No.3の補足です。 おそらく単純な原因だと思います。 該当のcgiをどこからかコピーして使用しているという場合は、 先頭行の末尾に不正なコードが付いていることも考えられます。 #!/usr/bin/perl をいったん削除して先頭行のみ手入力で作成してみてください。

eiwa-up
質問者

お礼

お忙しい中お教えありがとうございます。 原因はだいたい分かりそうです。 OSを再インストールしているところですが、perlのところで、どうも書き込みがおかしいので、FTPインストールに変更しました。 きっとperlのインストール中にOSとperl関連指示するファイルを壊してしまうようです。? 結論 インストールDVDが問題のようです。 できるPRO Fedora11と言う本の付録DVDなので仕方ないか? wwwwwwww 結果が分かりしだいご報告いたします。 本当にありがとうございます。

eiwa-up
質問者

補足

本当にありがとうございました。 解決いたしました。 結局、OSを再インストールして見たところ正常に動きました。 上の記述で正常に動作確認できました。 原因はDXDロムの不良品だったか、できるPRO Fedora11の出版時のparlのバージョンのバグ、どちらかだと思います。 本当に助けていただいて、ありがとうございました。 感謝しています。 之からも、よろしくおねがいいたします。 ありがとうございました。

  • sabayades
  • ベストアンサー率60% (65/107)
回答No.4

>httpd.confを上記の記述に変更しましたが、やはり解決できませんでした。 Apacheの再起動はしましたよね。???

eiwa-up
質問者

お礼

お忙しい中お教えありがとうございます。 原因はだいたい分かりそうです。 OSを再インストールしているところですが、perlのところで、どうも書き込みがおかしいので、FTPインストールに変更しました。 きっとperlのインストール中にOSとperl関連指示するファイルを壊してしまうようです。? 結論 インストールDVDが問題のようです。 できるPRO Fedora11と言う本の付録DVDなので仕方ないか? wwwwwwww 結果が分かりしだいご報告いたします。 本当にありがとうございます。

eiwa-up
質問者

補足

本当にありがとうございました。 解決いたしました。 結局、OSを再インストールして見たところ正常に動きました。 上の記述で正常に動作確認できました。 原因はDXDロムの不良品だったか、できるPRO Fedora11の出版時のparlのバージョンのバグ、どちらかだと思います。 本当に助けていただいて、ありがとうございました。 感謝しています。 之からも、よろしくおねがいいたします。 ありがとうございました。

回答No.2

Apache2.2.13は最近でたバージョンなので少しバージョンを下げるとよいかもしれません。単なるバグだったり仕様変更の可能性があります。 比較的安定しているといわれているのは2.0あたりですが、2.2.9などでも良いかもしれません。

eiwa-up
質問者

お礼

douteiman様 すばやい回答ありがとうございます。 今回はadoircusさまのアドバイスもありまして。 いいろいろ検討した結果、OSを再インストールすることにしました。 やはりOSのインストールの失敗か? ハードウエアーの問題か? Fedora 11 バージョン 1.430 と Apache バージョン 2.2.13 の合性の問題か? 分かりませが、致命的な問題のようです。 再インストールして結果が分かりしだいまた報告いたします。 今回は本当にありがとうございました。 本当に心の支えになり助かりました。 これからもよろしくお願いいたします。 ありがとうございました。

eiwa-up
質問者

補足

本当にありがとうございました。 解決いたしました。 結局、OSを再インストールして見たところ正常に動きました。 上の記述で正常に動作確認できました。 原因はDXDロムの不良品だったか、できるPRO Fedora11の出版時のparlのバージョンのバグ、どちらかだと思います。 本当に助けていただいて、ありがとうございました。 感謝しています。 之からも、よろしくおねがいいたします。 ありがとうございました。

noname#101947
noname#101947
回答No.1

httpd.confの Options Indexes FollowSymLinks という記述がデフォルトのままならば Options Indexes FollowSymLinks MultiViews ExecCGI のようにMultiViews ExecCGIを追加してみてはどうでしょうか。

eiwa-up
質問者

お礼

すばやい回答ありがとうございます。 ------------------------------- <Directory /> Options Indexes FollowSymLinks AllowOverride None </Directory> <Directory /home/www/cgi-bin> AllowOverride None Options Indexes FollowSymLinks MultiViews ExecCGI Order allow,deny Allow from all </Directory> ------------------------------- httpd.confを上記の記述に変更しましたが、やはり解決できませんでした。 本当に忙しい中お教えありがとうございます。 また何か、分かる事がありましたらお教えください。 本当に感謝しています、ありがとうございます。

関連するQ&A