• ベストアンサー

レンタルCGIが動きません。アドバイスお願いします!

CGI初心者です。 レンタルのCGIをテキストモードでCGI可のサーバーにアップしました。 Internal Server Errorと表示され、動いてくれません。 パスは#!/usr/bin/perl パーミッションはスクリプトが755でその他が644です。 何でも結構ですのでアドバイスをお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#56882
noname#56882
回答No.4

#1~#3です。 試しに「DesignForm - Version 3.8 -」をダウンロードしてみました。 CGIなどのファイルは何で開けていらっしゃいますか? Wordやメモ帳で開くのはCGIのスクリプト構造上よくありませんので 「EmEditor Free」http://www.vector.co.jp/soft/dl/winnt/writing/se047993.html などを利用されることをお薦めします。 他のテキストエディタソフトを使用なさりたい場合はは下記よりどうぞ。 http://www.forest.impress.co.jp/lib/offc/document/txteditor/ 「index.cgi」ファイルは特に触ることが無いのでこのままでいいと思います。 Parlのパスは「#!/usr/bin/perl」でしたので変更する必要はありません。 「jcode.pl」はダウンロードされたものは「v 2.0」ですので古いものです。 今では「v 2.13」が出ていますので下記のページにアクセスして下さい。 http://srekcah.org/jcode/jcode.pl-2.13 その後ソースを表示して「jcode.plという名前で保存」されると良いです。 sendmailのパス設定は「preset.cgi」を開くと $sendmail = '/usr/sbin/sendmail'; # sendmailのパス という部分があります。さくらインターネットさんでは変更なく使えるようです。 @mailtos = ('test@xx.xx.xx','etc@xx.xx.xx'); を一つメールのみで受信される場合は例として('a@mail.goo.ne.jp');としてください。 後は解凍した「designform」の中にもうひとつ「designform」がありますので その中のファイルを下記の例を参考になさってアップロードしてください。 CGIの設置場所例:/home/アカウント名/​www/designform/ パーミッションはGNBさんの説明通りになさってください。 個人的な意見で恐縮ですが、KENT WEBさんの「PostMail」がかなり簡単に設置できます。 チェックモードで起動しエラーが出ているかどうかが判りますし サイトでの解説もかなり詳しく書かれていらっしゃいます。

impressa
質問者

お礼

最後までしっかりフォローしていただきありがとうございました! 締め切りも忘れないように致します。

その他の回答 (5)

noname#56882
noname#56882
回答No.6

無事に解決なさって、きちんと動作しましたこと良かったですね。 お疲れ様でした。CGIは慣れてくると設置も簡単に出来るようになると思いますよ。 当方も以前は全くの初心者でしたが、今では楽に設置できるようになりました。 そして、大変差し出がましいことを申しまして申し訳ないのですが…。 無事に問題解決なさったようですので「回答受付の締め切り」をされた方がよろしいかと思います。 未だ受付中というのも他回答者様(または質問者様)を困惑させてしまうかもしれませんので。 差し出がましいことを申しまして本当に申し訳ございません。

noname#56882
noname#56882
回答No.5

追記です。 CGIの設置場所例:/home/アカウント名/​www/designform/ が文字化けしているようですの「​」を取って設置してください。

impressa
質問者

お礼

回答者様のおかげで試行錯誤の末しっかり動きました! 問題解決に尽力してくださりありがとうございます。 心より御礼申し上げます。

noname#56882
noname#56882
回答No.3

#1、#2です。 > 直下のサブドメインフォルダ→bin→perl内にCGI一式を置いています。 とのことですが、 ・フォルダ /home/アカウント名/ の直下に設置してもCGIは動作しません ・/home/アカウント名/www/ へ任意のフォルダを作ることができます ・cgi-bin といった特別なフォルダの必要はありません ・フォルダのパーミッションは 755 (または 705)と設定してください http://faq.sakura.ad.jp/faq/1032/app/servlet/qadoc?000180 とありました。この辺りの確認もお願い致します。 パスは「#!/usr/bin/perl」または「#!/usr/local/bin/perl」のどちらでも可とありました。 sendmailのぱすは「/usr/sbin/sendmail」になります。 http://support.sakura.ad.jp/support/manual/rs/tech_cgi.shtml 設置方法は下記を読まれてみてください。 http://www.gnbnet.com/cgi/readme/designform.html

impressa
質問者

補足

ご丁寧に教えていただきありがとうございました。 レンタルのCGIでsendmailのパス設定をどうやってするか等理解していなかったのでご存知でしたら教えていただければ嬉しいですが、頂いた情報を元に頑張って調べてみます。

noname#56882
noname#56882
回答No.2

#1です。 さくらインターネットさんのFAQ「CGIやPHPを設置すると 「500 Internal Server Error」 が表示されます」 http://faq.sakura.ad.jp/faq/1032/app/qadoc_body.jsp ・CGIプログラムをFTP転送するときにアスキーモード(テキストモード)で転送していない ・CGIファイルの位置関係が指定された構造になっていない、ファイルが足りない ・jcode.plなどのファイルのバージョンが古すぎる などに該当項目はありませんでしょうか? またGNBさんのCGIとのことですが、数多く種類がありますので詳細を教えて頂けませんか? 例:日記の「UpLoadDiary」 例にあげたものですと「logs(フォルダ)」「updata(フォルダ)」のパーミッションは[777] になりますし 「count.txt」「tsukkomi.txt」のパーミッションは [666]になります。 ひとつひとつ確認さてみてはいかがでしょうか。

impressa
質問者

補足

お早い回答ありがとうございます。 メールフォームを設置しようとしています。 ・CGIファイルの位置関係が指定された構造になっていない これがアヤシイです。 最初はブラウザのエラーが出たのですが位置を変えて解決したため場所は合っていると判断しましたが、問題があるかもしれません。 サブドメインを使用しており、パスは#!/usr/bin/perlで合っているか不安です。 直下のサブドメインフォルダ→bin→perl内にCGI一式を置いています。 回答参考にさせていただきます。

noname#56882
noname#56882
回答No.1

CGIはどちらからレンタルされたものでしょうか?またサーバーはどちらになりますか? まずはダウンロードされたものを「Perlへのパスのみ変更」してアップされてみてはどうでしょう。 ようするに自分でカスタマイズをしない状態で動くかどうか試してみるという意味です。 どこに問題があるのか切り分けをしてみるということになります。 それで動くようでしたら、カスタマイズをされている部分に間違いが発生しているということになります。

impressa
質問者

補足

その操作のみでアップしたのですが、動作しないようです。 サーバはさくらインターネット、CGIはGNB様からお借りしました。 CGI設置のサポートはされていないようです。 http://www.gnbnet.com/ どうぞよろしくお願い致します。

関連するQ&A