CGI-BBS > 電子掲示板 > Trees > サーバーエラー


カレッヂ
カレッヂ


質問者 ちょろ  投稿日 8/16(木) 16:14:59
はじめまして。皆様のお知恵をお借りしたいのですが、
最近サーバーを変えたのですが(同一レンタルサーバー業者内)、
treesや、他のbbsに関して動作が出来なくなってしまいました。
(パーミッションはきちんと設定してあります)
エラー内容は毎回一緒で、下記の通りです。
初心者のため、誤配置によるエラーなのか、サーバー内部のエラーなのかの
判断が、下記の内容では読めません。
サーバーはUNIXとのことです。
是非皆様のお知恵を拝借したいのですが。
宜しくお願い致します。

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
回答者 しあわせのツボ  [削除]  投稿日 8/16(木) 17:32:10
このメッセージは「エラーが起きた」ことしかわかりません。
ファイルをどのように配置したか、それぞれのパーミッションはどうなっているか、移転時にどのような手順をとったか、等の情報がないと、誰にも答えられません。
質問者 ちょろ  [削除]  投稿日 8/16(木) 18:24:54
大変申し訳けございません。
下記のような配置&パーミッションです。
移転時には旧サーバーから、全てのファイルを配置をそのままでダウンロードし、配置&パーミッション設定をしましたが、前記のようなエラーが出たので、ネットサーフレスキューさんからダウンロードし直して配置&パーミッションの設定をしました。

丨-dataフォルダ(777)
丨-jcode.pl(644)
丨-password.cgi(666)
丨-trees.cgi(755)

どうぞ、宜しくお願い致します。

なお、上記の配置URLは下記の通りです。
http://www.target-j.com/bbs/trees.cgi
回答者 まさ  [削除]  投稿日 8/17(金) 09:40:22
Internal Server Errorが出る原因は、いろいろと考えられますので一概には言えません
が、とにかくスクリプトが何らかの異常で強制終了させられたことが原因です。

以下の点を確認すれば、エラーの9割以上は解決できるでしょう。

1.CGIとして実行させたいPerlスクリプトに文法的なエラーが無く、妥当であるか?
  `perl -wc hoge.cgi`などとしてエラーを吐かないか。

2.スクリプト自体に実行時にエラーを起こすようなコードを含んでないか?
  `perl hoge.cgi`などとしてエラーをはかないか。

3.スクリプトの保存されているファイルのパーミッションは適切か?
  HTTPdが実行できるようになっているか。

4.スクリプトの保存されているディレクトリー(その親も含む)のパーミッションは適切か?
  HTTPdが読めるようになっているか。

5.スクリプトの保存されているディレクトリーは、HTTPdによるアクセス制限がされていないか?

6.スクリプト単独で実行させるのと同じ環境変数でCGIが起動されると思いこんでいないか?

7.最初の方に(必ず)あるはずの"#!"で始まる行にperlのパスが正しく記述されているか?

8.スクリプト中でPerlに組み込まれていないコマンドなどを``やsystem()(open()でパイ
 プを呼び出すときも含む)で実行しようとしていて、コマンド名だけしか書いていないと
 言うことはないか。

9.CGIアプリケーションが最初に標準出力に出力する行に"Content-Type"で始まるお約束の
  文字列があるか?

10.HTTPdの設定で、CGIが実行できるようになっているか?

11.HTTPdの設定で、スクリプトを置いたディレクトリーでCGIアプリケーションは許されて
 いるか?


以上確認してみて下さい。


回答者 まさ  [削除]  投稿日 8/17(金) 09:52:23
もうひとつ書き忘れましたが、エラーが出るとApacheはerror_logにその詳細を記録します。
それが見れたら、解決は非常に早いのですが。

それとCGIは特定のディレクトリーでしか動かないように設定されているということはない
ですか?(cgi-bin等)

あるいはPerlのパスが間違っているとか。

質問者 ちょろ  [削除]  投稿日 8/17(金) 13:00:35
まささん早速の導き有難うございました。
エラーログを見てみましたら、下記の内容のエラーでした。

Premature end of script headers

このエラー内容から各種パスを確認をしてみたのですが、
問題はないようでした。
その他確認することがありましたら、お教え下さい。
よろしくお願い致します。
回答者 まさ  [削除]  投稿日 8/17(金) 16:16:19
わたしの書いた1~11を試してみて下さい。
きっとどれかに当てはまります。

質問者 ちょろ  [削除]  投稿日 9/10(月) 02:29:00
ご無沙汰しております。
最近仕事に追われてなかなか確認ができませんでした。
まささんにお教えいただいた11項目を調べて特別に問題がなく、
サーバーの会社と話し合いをしたところ、.htaccess内部の記述が
合わなく内部の記述を下記の通りに修正したら、ファイルを認識する
ところまではいきました。
Options +ExecCGI Includes
AddType text/x-server-parsed-html .html
AddType text/x-server-parsed-html .htm
AddType application/x-httpd-cgi .cgi
AddType application/x-httpd-cgi .pl
AddType audio/x-pn-realaudio .ra
という記述を
Options ExecCGI +Includes -Indexes
AddType text/x-server-parsed-html .html
AddType text/x-server-parsed-html .htm
AddType application/x-httpd-cgi .cgi
AddType audio/x-pn-realaudio .ra
Addhandler cgi-script .cgi
の様に変更。
しかし、今度はパーミッションエラーが出てしまい、
他の掲示板等でも試してみましたがやはりパーミッションエラーが
発生してしまいました。
この先どうしたらよろしいでしょうか?
本当に途方にくれてしまってます。
どうか、お教え下さい。
宜しくお願い致します。

返信(回答)する


Web裏技