はじめての自宅サーバ構築 - 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.6 )
日時: 2013/12/16 17:37
名前: Johann

すでに指摘されてるけど、apacheのエラーログを見るのが正解。
何かしらヒントが必ず出てる。
メンテ
 Re: CGIが動かない理由が解らない ( No.7 )
日時: 2013/12/16 18:29
名前: yoshida

strangerさん

>    その掲示板はCGIスクリプトなんですか
>    perlで動いていますか


 動いている掲示板はもちろんperlスクリプトです。

>    ファイルのユーザ・グループ・パーミッションを調べてみてください

 ユーザ・グループ・パーミッションとも動いてるCGIもtest.cgiも
同じになっています。

>    apacheが標準でcgi-binを用意していると思うけど
>    そこに入れたらどうなりますか


 現在は/var/www/html/cgi-binを作ってその中に入っています。ほとんどすべての
CGIは正常に動作しています。正常動作しているディレクトリに先のtest.cgiを
置いても動かないのがなぜなのか解りません。
現在はhttp://www.hostname/cgi-bin/directory/test.cgiとして呼んでいますが
www直下のcgi-binにアクセスする方法が解りません。
LINUXの技術とは少し外れているかもしれませんがよろしくお願い致します。
メンテ
 Re: CGIが動かない理由が解らない ( No.8 )
日時: 2013/12/16 18:42
名前: yoshida

Johanさん

>    すでに指摘されてるけど、apacheのエラーログを見るのが正解。
>    何かしらヒントが必ず出てる。


[Sun Dec 08 03:51:15 2013] [notice] Digest: generating secret for digest authent
ication ...
[Sun Dec 08 03:51:15 2013] [notice] Digest: done
[Sun Dec 08 03:51:15 2013] [notice] Apache/2.2.15 (Unix) DAV/2 configured -- res
uming normal operations
[Sun Dec 15 03:52:15 2013] [notice] SIGHUP received.  Attempting to restart

 /etc/httpd/logs/error_log-20131215にはこれしか出ていませんでした。
メンテ
 Re: CGIが動かない理由が解らない ( No.9 )
日時: 2013/12/17 00:27
名前: アメリカン

> 現在は/var/www/html/cgi-binを作ってその中に入っています。ほとんどすべての
>CGIは正常に動作しています。正常動作しているディレクトリに先のtest.cgiを
>置いても動かないのがなぜなのか解りません。
>現在はhttp://www.hostname/cgi-bin/directory/test.cgiとして呼んでいますが
>www直下のcgi-binにアクセスする方法が解りません。


cgi-binというディレクトリはデフォルトでScriptAliasされてます。
(↓httpd.confの抜粋)
#
# ScriptAlias: This controls which directories contain server scripts.
# ScriptAliases are essentially the same as Aliases, except that
# documents in the realname directory are treated as applications and
# run by the server when requested rather than as documents sent to the client.
# The same rules about trailing "/" apply to ScriptAlias directives as to
# Alias.
#
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

だから、http://www.hostname/cgi-bin/directory/test.cgi にアクセスすると
/var/www/cgi-bin/directory/test.cgi を探しに行きます。
(/var/www/html/cgi-bin/directory/test.cgiではありません)

以上が関係しているのかもしれませぬわん。
メンテ
 Re: CGIが動かない理由が解らない ( No.10 )
日時: 2013/12/17 09:59
名前: yoshida

> ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

httpd.confを見ると、この行はコメントアウトになっていました。

> だから、http://www.hostname/cgi-bin/directory/test.cgi にアクセスすると
> /var/www/cgi-bin/directory/test.cgi を探しに行きます。
> (/var/www/html/cgi-bin/directory/test.cgiではありません)

 
var/www直下のcgi-binには何もありません。空のディレクトリです。
呼び出されて動いているのは、/var/www/html/cgi-bin内のスクリプトです。
リンクはhttp://www.hostmname/cgi-bin/directory/*.cgiとしてあります
試しにScriptAliasの行のコメントを外してhttpdを再起動させてみましたが
従来通り正常に動作します。なんだかよけいにわけが解らなくなってきました。
メンテ

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

■ その他

ページ先頭へ

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