500 Internal Server Error
インストール作業過程で、パスやパーミッションなど調べてみたのですが、どうしても
500 Internal Server Errorが表示されてしまいます。
解決策教えてください。
メルマガ・ステップメール配信ソフトMilkyStep利用者のコミュニティです。
インストール作業過程で、パスやパーミッションなど調べてみたのですが、どうしても
500 Internal Server Errorが表示されてしまいます。
解決策教えてください。
月, 11月 8 2010 » 初期設定関連
500エラーが出るのは、インストール用のファイル(install.cgi)にアクセスしたときでしょうか?
それともモジュールのインストール状況が表示されて「次へ」をクリックしたときでしょうか?
具体的にお願いいたします。
最初のinstall.cgiへアクセスするとそう表示されてしまいます。
よろしくお願いします。
kaze 様
サーバの指定するCGIのパーミッションになっているでしょうか?
たいていは700、705、755などです。
今一度お確かめください。
install.cgiのパーミッション
700・705・755すべて試してみました。
ASCIIモードのアップロードもやってみてもエラーでした。
>ASCIIモードのアップロードもやってみてもエラーでした
CGIファイルは基本的にアスキーモードでのアップロードです。
拡張子が「.cgi」のファイル、および「lib」内の拡張子が「.pl」になっているファイルを誤ってバイナリモードで転送してないでしょうか?
FFFTPを使っていれば、この辺は自動的に判別してくれるはずですが・・・
それと、説明書にもある通り、「ext_lib」内の「Unicode/Japanese.pm」はバイナリモードで転送する必要があります。
すべてのファイルをASCIIモードでアップロードして
バイナリの1ファイルだけ上書きしました。
kaze 様
お使いの製品はLight版でしょうか、それともProfessional版でしょうか?
またバージョンはいくつでしょうか?
ご利用中のサーバはどちらでしょうか?
Light版を設置した際は問題なくインストールできましたでしょうか?
FTP転送はFFFTPを利用したのでしょうか?
Professional版 Ver 1.41です。
先日5日に購入して本日install作業しました。
FFFTPを利用してチカッパとお名前.COMで使用している
サーバーが2個あるので両方で試しているのですが両方とも
同じ結果になってしまいます。
ひょっとして、すべてのCGIのパーミッションも変更しないといけないのでしょうか?
kaze 様
いえ、perlのパスとパーミッションを変更するのは「install.cgi」だけで大丈夫です。
「install.cgi」ではない、他の誤ったファイルにアクセスしていないでしょうか?
説明書通りにやっているので間違っていないと思います。
パスもサーバー側に確認してみました。
install.cgiにしかアクセスしていません。
Xサーバー借りないと無理なのでしょうかね?
kaze 様
>Xサーバー借りないと無理なのでしょうかね?
いえ。実際にチカッパやお名前.comで利用している方もいらっしゃるので問題ないはずです。
以下は大丈夫でしょうか?
・「install.cgi」1行目のperlのパスに本当に間違いが無いか。余計な文字列を入力していないか。必要な文字を削除していないか。
・「install.cgi」を保存するとき、文字コードを「utf8」以外で保存してしまっていないか。
(ファイルのデフォルトの文字コードはUTF8です。)
もう1度問い合わせてやってみます。
ひょっとしてパスの変更は、すべてのCGIファイルを変更しないといけないですか?
cgi .pl などの直接実行されないライブラリファイル: 600
これにそうとうするファイルはどれになるんでしょうか?
kaze 様
>ひょっとしてパスの変更は、すべてのCGIファイルを変更しないといけないですか?
いえいえ。パスの変更もパーミッションの変更も「install.cgi」以外は必要ありません。
その他のファイルの設定は、インストール作業の一環で自動的に行われます。
>cgi .pl などの直接実行されないライブラリファイル: 600
>これにそうとうするファイルはどれになるんでしょうか?
直接実行されるファイルは拡張子が「.cgi」のものだけです。
それ以外は全て、直接実行されないライブラリファイルか、画像ファイルです。
「.cgi」のファイルはMilkyStepディレクトリの直下にしか配置していません。
まず、第一に「install.cgi」で500エラーが出ているので、その他のファイルは関係ないと思います。
「install.cgi」に問題があるはずです。
念のため聞きますが、1行目の
「/usr/bin/perl」の前の「#!」は消してないですよね?
はい、消していません。
【適切なパーミッション設定】
ディレクトリ: 755
.cgi .pl .php などの CGI 実行ファイル: 700 ( .phpは644でも可能です )
.cgi .pl などの直接実行されないライブラリファイル: 600
.txt .dat .log などのファイル: 600
Perl /usr/local/bin/perl
お名前ドットコムではこのようになっていました。
なので、install.cgiのパーミッションを700にしてやっているんですけどうまくいかないんです。
調べているとcgi-binというものを入れるといいとか?
だんだん訳がわからなくなってきています。
手間をかけて申し訳ありません。
kaze 様
ドキュメントルート以下のどこでもCGIが動作するサーバで「cgi-bin」フォルダを作成してもあまり意味はないと思います。
MilkyStepではない、他のCGIファイルは正常に動作しますでしょうか?
もし試すようなファイルが無い場合は以下をお試しください。
1.新規のファイルを作成し、以下の内容を記載し、名前を「test.cgi」としてutf8で保存
——ここから—————————–
#!/usr/local/bin/perl
print “Content-type: text/html\n\n”;
print “CGIは動作しています。”;
exit;
——ここまで—————————–
※このサイトから上記をコピペすると、ダブルコーテーション(”)が
全角になって貼り付けられることがありますので、その場合は
半角に修正してください
2.そのファイルをお名前.comのサーバにアスキーモードでアップロードし、パーミッションを700に変更
3.ブラウザからお名前.comのそのファイルにアクセスする。
4.「CGIは動作しています。」と表示されたらサーバに問題はないかと思います。
ありがとうございます。
お名前ドットコムとチカッパ両方試しましたが
500 Internal Server Errorになりました。
つまり、CGIが動作しないということなんですよね?
UTF-8にきっちり間違いないように変換もしなおしたり
色々やってみましたが動作しないようです。
原因不明でもうかなり落ち込んでます。
このようなことは私だけなんでしょうかね?
でも、諦めず原因究明してツールを使いたいです。
よろしくお願いします。
kaze 様
アップロード後、パーミッションを変更するとき「700」などと全角で指定していないでしょうか?
パーミッション変更後、そのファイルの「属性」の項目が「rwx — —」となっているでしょうか?
はい、なっています。
kaze 様
そのCGIファイルは、サーバのどこ(何という名前のディレクトリか?)にアップロードしていますか?
http://dekomail.info/ms/install.cgiというパスになります。
これはお名前ドットコムの方です。
チカッパは現在ファイル削除しています。
よろしくお願いします。
kaze 様
ということは、ドキュメントルートの直下に「ms」ディレクトリを設置しているわけですね。
「ms」ディレクトリのパーミッションはお名前.comの指定するパーミッション(755)になっていますか?
また、ドキュメントルートのディレクトリ(public_htmlなど)は755になっていますか?
はい、なっています。
ドキュメントルートも755にパーミッション設定なっております。
よろしくお願いします。
kaze 様
では、先日の「test.cgi」はどこに設置して確認しましたか?
下記になります。
チカッパ
http://cuorerosso.net/test.cgi
お名前ドットコム
http://dekomail.info/test.cgi
というふうにセットしております。
よろしくお願いします。
お名前.comの方は、milkystepに同梱されている.htaccessの影響かなと思ったのですが、test.cgiを設置しているのはmsディレクトリの外だし、チカッパでもだめなので、現段階ではとりあえず打つ手がありません。
もしかしたら、webサーバの設定がおかしいのかもしれません。(可能性は低いですが)
一度サーバ側に問い合わせてみてはいかがでしょうか?
追記:
サーバのエラーログは見れますか?
見れれば原因が分かるかもしれません。
共用サーバだと見れないかもしれませんが。
探しましたが、見当たりませんでした。
すいません。
CGIの設置ってこんなに難しいのですね。
お手数ですがなんとかお願いします。
よろしくお願いします。
kaze 様
FFFTPでアクセスしたとき、サーバ側に「log」とか「error_log」とか「http_log」などと名前b\が付いた、最初から設置されているフォルダはありませんか?
あればその中にエラーログが記載されているファイルがあるかもしれません。
チカッパもお名前ドットコムもそのようなフォルフダは見当たりませんでした。
FFFTPがおかしいのかなんなのか色々調べてるんですが
まったくわからないです。
よろしくお願いします。
kaze 様
その後いかがでしょうか?
問題が解決されていれば、ご報告いただければ幸いです。
書き込みメールが届いていなかったので返信が大分送れてすいません。
その後の状況ですが、500エラーは改善されずxサーバーを新たに借りなければいけないのかな?と思い放置状態でした。
使いたいけど使えないせっかく買ったのにというやるせない思いを残している現状でメルマガ配信をxサーバー借りるまで据え置きしています。
やり方が悪いなら、どこをどうすればよいのかまったく分からない状況でしたので・・・
設置方法うまく出来ると幸いです。
kaze 様
Xサーバでなければ動かないということはないはずなのですが・・・
ちなみにtest.cgiのPerlのパスを「#!/usr/bin/perl」にするとどうでしょう?
それで駄目な場合、msディレクトリ直下にある「.htaccess」を「bak_htaccess」などと名前を変更してみるとどうでしょう?
kaze 様
時間がかかってしまいましたが、動作して良かったですね。
ただ、「bak_htaccess」に名前を変えて動作したということは、今までの「.htaccess」が無効になっているということですので、MilkyStepディレクトリの内部のファイル(libの中など)が、他人から見られてしまう危険もあります。
おそらくそういったサーバでは、拡張子が、「.cgi」や「.pl」「.pm」のファイルを、他人から見られないようにする設定ができると思いますので、なるべく対策しておかれることをお勧めいたします。
同じ「500 Internal Server Error」になってしまいます。
書いてあることは一通り試しましたが、出来ません。
サーバは「ファーストサーバ」です。
何か分かりますでしょうか?
utsumi 様
こちらのスレッドにコメントいただきますようお願いいたします。
http://milkystep.com/ms_poc/?p=520
Internal Server Error関連で質問です。
パーミッション関連も全て試してtest.cgiも試しました。
結果、
○○.com/test.cgiは稼動しますが
○○.com/ms/test.cgiだと
Internal Server Errorになってしまいます。
なので○○.com/install.cgiにしたら稼動するかと思ってアップロードしてみましたが同じくInternal Server Errorになってしまいました。
.htaccessも
Options -Indexes +ExecCGI
AddHandler cgi-script .cgi
AddHandler cgi-script .pl
としてみたりしたのですがダメで
手詰まりになってしまいました。
何か対応策があればと思いコメントさせていただきます。
よろしくお願い致します。
追記です。
○○.com/test.cgiは
稼動していませんでした。
cgiが動作していたのではなくて
テキストが表示されているだけでした。
その状態で
700でForbidden
You do not have permission to access this document.
705でテキストが表示されます。
win4834 様
本スレッドに書き込みを行うと、スレッドを建てたユーザにメールが行ってしまうので、ご本人のみの問題の場合は書き込みはご遠慮ください。
下記にスレッドを移動させていただきました。
http://milkystep.com/ms_poc/?p=2516