たっぴ(パソコン質問掲示板)

ログイン

メニュー
■ トップ
■ 質問する
■ 回答を見る・回答する
■ 参加者のひろば / テーマ別
■ コミュニケーション道場
■ 「たっぴ」の使い方
■ 「たっぴ」のルール・心得

エキスパート トータルランキング
Rank ニックネーム E-Point
1 位 sriver 1372 p
2 位 げんき(^^)/ 810 p
3 位 うにゅ 607 p
4 位 mory 512 p
5 位 saru 510 p
6 位 Clark 481 p
7 位 taknt 474 p
8 位 459 p
9 位 あき◆ 387 p
10 位 おやぢ 366 p
※月間ランキング参加者がありませんでした。



E-Point還元プログラム
E-Point 月間獲得ポイントより回答者様へ現金を還元いたします。

対象還元金額
全員に(E-Point)×20円
支払いは5,000円以上からとなります。
還元金の支払いはご指定銀行口座への振込みとなります。

『マナーの良い質問者』マーク
以下の条件を満たす質問者様には
  『マナーの良い質問者』マーク

が付きます。
  1. 登録していて
  2. 「終了」していない質問がひとつ以下で
  3. 終了した質問で「○○○○○」という言葉の投稿がある
3番目の条件はひらがなです。もうお判りですね。(漢字、カタカナもOKかも。。。)
ぜひマークをGetしてください。









《戻る

No.質問・回答おれい
[110064] CGIが実行できない
OS: CentOS
ソフトウェア名/バージョン:Apache/2.0.52 (CentOS)

CGIについて質問です。
/var/www/cgi-bin/にCGIをいれて、属性も777にしているのですが、500エラーで実行できません。
httpd.confにもExecCGIと書いてあり
Perlのパスも間違っていません。

どうすれば使えるようになるのでしょうか。
よろしくお願いします。

世蹴マナーの良い質問者です。   2008年10月20日19:43


[110066] エラーログには何かありませんでしょうか。標準から変えていなければ
/var/log/httpd/error_log
です。

シャイン (30)    2008年10月20日21:39


[110086] errorログはこんな感じです。

[Tue Oct 21 18:47:32 2008] [error] [client 192.168.11.3]
attempt to invoke directory as script: /var/www/cgi-bin/

[Tue Oct 21 18:47:37 2008] [error] [client 192.168.11.3]
(2)No such file or directory: exec of '/var/www/cgi-bin/index.cgi' failed

[Tue Oct 21 18:47:37 2008] [error] [client 192.168.11.3]
Premature end of script headers: index.cgi

いまいち分かりません…
世蹴マナーの良い質問者です。   2008年10月21日19:12


[110170] SELinuxが原因かもしれません。rootでgetenforceを実行し、EnforcingならSELinuxが効いています。setenforce 0で一時的にSELinuxを無効にしてCGIが実行できるか調べてください。セキュリティのためには、setenforce 1でSELinuxを有効にしておいてください。SELinuxが原因の場合、/var/log/audit/audit.logにログが残ります。

他の原因では、CGIがスクリプトであれば、最初の#!で指定するインタプリタの指定が間違っている、ファイルの改行コードがDOS形式になっている、インタプリタに対応していない漢字コードを使っているなどが考えられます。確認してみてください。

シャイン (30)    2008年10月23日06:41


[110244] SELinuxとSuexecも無効にしましたが500エラーが…
エラーは Premature end of script headers: index.cgi の一行のみが出ますね。

気になる点があるのですが、perl -c 1.cgi とコマンド入れてみると
「Use -S to search $PATH for it.」と出たので
 perl -S 1.cgi といれると
「Can't find 1.cgi on PATH.」と出ましたなぁ…

何がなんだかサッパリ…

#!/usr/bin/perl --
print "Hello world!!\n";
を実行してもエラーがでました…

尚、インタプリタも改行コードも問題なしです。

迷惑掛けますが引き続きお願いします…
世蹴マナーの良い質問者です。   2008年10月24日20:10


[110249] > SELinuxとSuexecも無効にしましたが500エラーが…
原因ではない設定は元に戻しておいてくださいね。

> 「Use -S to search $PATH for it.」と出たので
ファイルが無いときのメッセージにしては、手元のLinuxと違いますし、検索してもヒットしないメッセージですね。まあ、ファイルが無いということだと思いますが。

> 気になる点があるのですが、perl -c 1.cgi とコマンド入れてみると
1.cgi のあるディレクトリをカレントにしていますか?
1.cgi にパスを付けて指定してもだめでしょうか。
と言いますか、これは初歩的な内容ですので、もしすでにされていて実行できないとすると、まったく原因は不明です。

シャイン (30)    2008年10月24日22:53


[110610] 返信が遅れてすみません。

原因不明ということはわかったので、とりあえず弄りまくってどうにかがんばります(汗
ありがとうございました。
世蹴マナーの良い質問者です。   2008年11月3日17:52


( 参照数:9059   日平均:1.6 )
 
〜 回答の受付を終了しました 〜


回答、お礼・報告などメッセージの追加

ニックネーム:

まったく新しい内容の質問、質問者以外の方の質問は、メニューの「質問する」から新たに質問してください。

詳細: 内容を詳しく言うと。。。

※「たっぴ」に登録すると質問にポイントが付けられます。 その他便利な機能も使えます!》新規登録 》Help

※http://.....は自動的にハイパーリンクに変換します。
※<pre></pre>が使用できます。     ※引用は行の先頭に「>」を付けてください。自動的に色が付きます。




利用規約 特定商取引に関する法律に基づく表記 プライバシーポリシー 問合せ