• ベストアンサー

CGIの設置について。

自分のホームページにCGIを設置したいと 考えております。 レンタルしたCGIを設置するのですが その説明書きに CGIをテキストモードでアップしたあとに パーミッションを変更してください。 とありました。 まず、データの転送はホームページビルダーの ついています、ファイル転送ツールを使っています 転送後パーミッションも指定の通りに 変えました。 http://www.自分ドメイン/cgiが動作するディレクトリ/ファイル名.cgi で、直接呼び出してください とありましたので、呼び出してみました。 でません。 散々わからないながら、いろいろ読んでみて ためしたのですが できません。 どこらへんをいじれば直接よびだせるように なるのでしょうか? よろしくお願いします。

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

  • ベストアンサー
noname#8420
noname#8420
回答No.5

#2のyuninekoです。 なるほど、サーバその他には問題が無いみたいですね。 パーミッションの設定もされていますが、エラーメッセージはどんなエラーメッセージでしょうか? 「500エラー」が出ているのであれば、cgiの設定ミスかもしれません。 もし、差し支えないようでしたら、レンタルしたcgiがフリーで配布されているものであれば、配布先を教えていただければ、私のほうでも私のサーバで設置して再現してみます。 フリーではなく、私のほうで設置が無理な場合はcgiの説明文でパーミッションの説明がありますので、それを教えてください。 サーバによってはパーミッションの設定値が異なる場合があります。 例えばcgiの説明書(readme)で「cgiを格納するディレクトリは755、cgiファイルは755、htmlやjpgやdatは644」等の指示がありますが、これがサーバによっては受け付けず、「ディレクトリは777、cgiは700」など、readmeと違う設定になっている場合があります。 サーバのcgi設置の際のパーミッション推奨値を調べてみてくださいね。

syousyou
質問者

補足

エラーメッセージですが HTTP 404 - ファイル未検出 となっております。 おっとすみません、下でサイトを 掲示したのですが、フリーではないので だめですね、、、すみません。 では、案内いただきましたとおりに CGIのレンタルの方からの案内です。 パーミッションを下記の通り変更して下さい。 /cgi-local/cat.cgi[755] | item.cgi[755] | item_search.cgi[755] | jcode.pl[755] | (※PERLのpath変更を除いて修正しないで下さい。) | +--- /data/cat.dat[644] | footer.dat[644] | header.dat[644] | item.dat[644] | shop.dat[644] | (※ショップ様で設定変更が可能です。) | +--- /img/00.jpg[644]  01.jpg[644] サーバーの方の案内です。 ・cgiは,「xxxx.cgi」のように,拡張子を「.cgi」として下さい. ・cgiに実行属性を付けて下さい.→[755]  実行属性は,FTPソフトにて付与することが出来ます.  [777]等,ユーザー以外の書き換えを許すと弊社サーバーはcgiの実行を  禁止します.(実行ファイルの編集を他のユーザに解放しないで下さい) ・また,Webchat(再読み込みを自動で行なうもの)のご利用は許可しており  ません.ご了承下さい. と以上のような感じになっております。

その他の回答 (8)

noname#8420
noname#8420
回答No.9

#2のyuninekoです 404エラーの場合、「そのファイルはこのサーバにはありませんよ」のメッセージです。 正常にサーバにアップロード出来ているのであれば、そのメッセージは出ることはありません。 と、言うことは、syousyouさんがブラウザに打ち込んだURLに記述ミスがある可能性が大きいです。 今一度、syousyouさんのサーバのアドレスとディレクトリの名称と、cgiのファイル名を確認してください。 その上で http://syousyouさんのサーバのアドレス/cgi格納ディレクトリ/cgiファイル名.cgi でアクセスしてみてください。 正常にアップロードされている場合は、きちんとURLを打ち込めば404エラーは出ず、また、cgiにミスがある場合は500エラーが出るはずです、 ご確認をお願いいたします。

syousyou
質問者

補足

も、申し訳ない。 本当に申し訳ないです(涙) サーバーのほうに フォルダが5つありまして そのうちの使ってはいけない フォルダがありますので ホームページのデータを入れている ファイルがありました。 それが htcods でして そのなかにレンタルのフォルダをいれました それが cgilocal としました。 で、いままで http://www.ドメイン/htcods/cgilocal/cgi名.cgi でやってました。 htcodsはいらなかったんですね。。。 http://www.ドメイン/cgilocal/cgi名.cgi と入れましたら反応しました。 本当に申し訳ない。 でも、助かりました。 本当に助かりました。 まだ、これからの作業が残っていますので 安心できませんが、なんとか第一段階を クリアーできました。 みなさまにいろいろとアドバイスいただいて ありがとうございました。

  • benny12
  • ベストアンサー率46% (27/58)
回答No.8

ファイルを転送する際、説明書きにあった通り、テキストモードで転送しましたか? 普通のホームページファイルはバイナリーモードで転送しますが、 CGIファイルはテキストモード(ASCIIモードとも言います)で転送しないと正常に表示されません。 転送ツールは大体バイナリーモードが標準になっていますので、テキストモードに変える必要があります。

syousyou
質問者

補足

返信ありがとうございます。 転送ツールから ただいま再度確認しまして 再度 ”常に、テキストモードで転送します” を選択して転送をこころみました。 ダメでした。 う~ん、、、 もう一度基本にもどって考えます。

  • gura_
  • ベストアンサー率44% (749/1683)
回答No.7

 まず、とにかく、プロバイダの説明書をよく読む事だと思います。  また、とほほさんのページをご覧になって、そこのサンプルtest1.cgiで上手くいくかやってみたら如何と思います。↓ http://tohoho.wakusei.ne.jp/wwwcgi2.htm

syousyou
質問者

お礼

返信ありがとうございました。 いろいろやってだめなときは 基本にもどることでした。。。 ありがとうございました。 無事解決ができました。

  • nataruy
  • ベストアンサー率52% (19/36)
回答No.6

#3です 正常にアップロードされていないのかも知れません。とりあえず、そのCGIファイルを例えば cgifile.html 等の名前でアップロードし、 http://domain/dir/cgifile.html としてアクセスし、ファイルがちゃんと読めるか確認してみてはいかがでしょうか? ファイル名は大文字小文字を区別すると思います。

noname#5119
noname#5119
回答No.4

#1です。 よろしかったらCGI配布元のURLとCGI名を教えてください。 (試してみます。)

syousyou
質問者

お礼

ありがとうございました。 無事解決することができました これからは 次の作業に入れます、、、が またアホな自分はひっかかってしまうと 思います。 またお力をお借りしたくなるとおもいますので その時はまた よろしくお願いします。

syousyou
質問者

補足

NTTデータキュピットというサイトの レンタルカート-ショッピングギア のCGIになります。 http://www.cubit.co.jp/ CGI名は すみません、わからないです どこをみたらわかるのでしょうか。

  • nataruy
  • ベストアンサー率52% (19/36)
回答No.3

状況が完全には分からないのですが、どのようにダメだったのでしょうか? エラーメッセージなどは表示されませんでしたか? それと、そのCGIファイルの1行目は環境に合わせて変更しましたか?

syousyou
質問者

補足

返信ありがとうございます。 直で呼び出そうとしましたら ページが見つかりません というメッセージがでてしまいます。 >CGIファイルの1行目は環境に合わせて変更しましたか? はい、 パスについて  perl:   /usr/local/bin/perl と指定がありましたので 書き直させていただきました。 どこに原因があるのか、、、まったく、、、 あと、具体的にどこを補足したらいいのかも わかりませんので、ご指摘下さい。 よろしくお願いします。

noname#8420
noname#8420
回答No.2

こんばんは。 お借りしているサーバの環境はどうなっていますか? ・cgiを利用できるサーバか? ・cgiを利用できる場合、「cgi-bin」フォルダを作らなければならないか? ・サーバの指示でcgiの一行目が「!/usr/local/bin/perl」か「!/usr/bin/perl」のどちらにしなければならないのか? また、利用するcgiの種類は何でしょうか? BBSやチャット、日記などであればいいのですが、cgiゲームであったり、スレッドフロート型BBSの場合、サーバ負荷が掛るため禁止されている場合があります。 もう少しサーバ環境とcgiの設定状況を明記していただくと、回答がしやすくなりますよ。

syousyou
質問者

補足

返信ありがとうございます。 ●CGIは「ホームページにインタラクティブな機能を 追加するために提供されるサービスです」 と言うことで常識範囲ですと OKということでした。 ●、「cgi-bin」フォルダではない 他のフォルダにとの指定がありました ●/usr/local/bin/perl にしなければならないようでした。 ●使用しますcgiはショッピングカートになります。 アドバイスありがとうございます。 ●サーバーの仕様 OS: solaris http: Apache とありました。 ●cgiの設定状況 すみません、どのように書いたらいいのかが わかりません、どのようなことを 書けばよろしいでしょうか? ぜひともよろしくお願いします。

noname#5119
noname#5119
回答No.1

まず,サーバーによっては「cgi-bin」というフォルダじゃないと動かない場合が有ります。 次に,perlのパスが適正か確認してみてください。

syousyou
質問者

補足

さっそくのお返事ありがとうございます。 「/cgi-bin/」フォルダは,アクセスカウンタ等,当社提供のCGI/SSI領域となります. URL直下の /cgi-bin/フォルダをご利用になること は出来ません.他の階層か, または別のフォルダ名にてご利用ください. とサーバーの方からの注意書きがありましたので 自分のホームページの情報をいれている フォルダに新しくフォルダをつくって そのなかにレンタルCGIをおくりました。 perlにつきまして /usr/local/bin/perl に変更してくださいとありましたので レンタルCGIの .cgi ファイルをテキストで 開きましてその一番最初にある ものを上記のように変更しました。

関連するQ&A