はじめての自宅サーバ構築 - Fedora/CentOS -
Last Update 2018/05/30
[ 更新履歴 ] [ サイト マップ ] [ 質問掲示板 ] [ 雑談掲示板 ] [ リンク ]
トップ >> 質問掲示板

 このスレッドはクローズされています。記事の閲覧のみとなります。

 CGIが動かない理由が解らない
日時: 2013/12/15 22:44
名前: yoshida

1.不明点・障害内容:動くCGIと動かないCGIがある
2.ログの有無   :無
  (有:その内容) :
3.Distribution  :Cent
      Version :6.2
4.Service Name  :
      Version :
5.ネットワーク構成:

 お世話になります。さくらインターネットのVPSでホームページを運用しています。
今までは何事もなく動いていたあるCGIが突然動かなくなりました。他のCGIは正常に
動いており、掲示板なども問題なく動作しています。
そこで、こんなCGIをテスト用に書いてみました。

#!/usr/local/bin/perl
print "Content-type: text/html¥n¥n";
print "<HTML>¥n<BODY>¥n<TITLE>CGI Script TEST</TITLE>¥n</BODY>¥n";
print "The CGI script was worked!¥n</HTML>¥n";

これをあちこちのディレクトリに転送して動作を確認しているのですが、
すでに正常動作しているディレクトリに転送しても動作しません。
もちろんperlのパスはあっていますしパーミッションも755にしています。
そのディレクトリに置いている掲示板は正常動作しています。
これまでにもCGIは色々設置した経験があり、いずれも正常動作しています。
なぜなのか、さっぱりわけが解りません。
どなたか、なにか思い当たる理由があれば教えて下さい。

エラーは500 internal server errorです。
メンテ

Page:  [1] [2] [3] [4] [5] [6]

■ コンテンツ関連情報

 Re: CGIが動かない理由が解らない ( No.1 )
日時: 2013/12/16 06:35
名前: stranger
参照: http://ja.528p.com/

#!/usr/bin/perl
print "Content-type: text/html¥n¥n";
print "<HTML>¥n<BODY>¥n<TITLE>CGI Script TEST</TITLE>¥n";
print "The CGI script was worked!¥n</BODY>¥n</HTML>¥n";

perlの位置はCentOSのrpmパッケージの位置
(これは自分の環境に合わせる)
</BODY>の位置が違うと思うよ
メンテ
 Re: CGIが動かない理由が解らない ( No.2 )
日時: 2013/12/16 10:50
名前: アメリカン

いちいち申し訳ありませんが、普通、<title>は<body>の中じゃなくて、<head>というタグの中に入れます。

もっとも、テストするだけならタグ無しで
#!/usr/bin/perl
print "Content-type: text/html¥n¥n";
print "This CGI script is working now.";
とかでも出ます。

VPSならコンソールが使えるだろうから、Perlのパスはコマンドで調べる。
# whereis perl

Internal Server Errorはブラウザー側で出るエラーだろうから、
詳しく見るにはapacheのエラーログを見るのが正解。
メンテ
 Re: CGIが動かない理由が解らない ( No.3 )
日時: 2013/12/16 12:37
名前: stranger
参照: http://ja.528p.com/

そうですね
html文ではなく perlの位置と ファイルのユーザ・グループ・パーミッションの問題ですね

perlは実体を/usr/local/binにシンボリックリンクを作っておけばいちいち書き換えなくてもすむし、
perlの記述法を間違えなければ printで表示されますよね
メンテ
 Re: CGIが動かない理由が解らない ( No.4 )
日時: 2013/12/16 16:24
名前: yoshida

strangerさん、アメリカンさんありがとうございます。
test.cgiは修正しました。
これを現在正常動作している掲示板のCGIがあるディレクトリに置いても
動作しません。
perlのパスはシンボリックリンクを張っているので、

# which perl
/usr/local/bin/perl

となります。
この状態で同じディレクトリにある掲示板が正常動作して、
test.cgiが動かない理由が解らないのです。
メンテ
 Re: CGIが動かない理由が解らない ( No.5 )
日時: 2013/12/16 16:48
名前: stranger
参照: http://ja.528p.com/

その掲示板はCGIスクリプトなんですか
perlで動いていますか
ファイルのユーザ・グループ・パーミッションを調べてみてください

apacheが標準でcgi-binを用意していると思うけど
そこに入れたらどうなりますか
パーミッションは755実行権が必要
メンテ

Page:  [1] [2] [3] [4] [5] [6]

■ その他

ページ先頭へ

Copyright(©)2004-2018 First home server construction. All Right Reserved.