• ベストアンサー

CGI勉強中(初心者です)

#!/usr/bin/perl print "content-type:text/html\n\n"; print "<HTML>\n"; print "<head><title>CGI</title></head>\n"; print "<BODY>\n"; print "<H1><FONT COLOR=\"#FF0000\">こんにちは</FONT></H1>\n"; print "</BODY>\n"; print "</HTML>\n"; というCGIつくりました。 プロバイダの説明には Perlの場所 /usr/bin/perl または /usr/local/bin/perl となっていますが、 どこにどう置いて(ホームディレクトリでしょうか?)、どうやって起動させてよいのかさっぱりわかりません。 ご教授ください。

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

  • ベストアンサー
  • MicroK2O
  • ベストアンサー率53% (33/62)
回答No.1

プロバイダによってはCGI設置箇所まで指定されている場合がありますので 自分の環境に置き換えて考えて下さい。 もしそのスクリプトの名前がhoge.cgiで プロバイダから与えられているホームディレクトリに置いた場合 アクセスの仕方は、web上のあなたのホームディレクトリが http://プロバイダのURL/ユーザーID/ の場合 (これはプロバイダによって違います。ご契約先の書類をお読み下さい。) http://プロバイダのURL/ユーザーID/hoge.cgi にアクセスすればスクリプトが実行され、出力結果が得られます。 また、CGI設置の際は実行許可のパーミッションの設定を する必要があります。(パーミッションは775等に) 詳しい事は下記を参考にして下さい。 ご契約のプロバイダ名が分かればもう少し詳しい回答が 得られると思います。

参考URL:
http://www.tohoho-web.com/wwwcgi2.htm
nagaseru
質問者

お礼

どうやら、契約のサーバは設置箇所如何にかかわらず、動くみたいです。 買ってきた本(サンプル集)より、このHPのがぜんぜんわかりやすいです…。 まず、基本から勉強します。 ありがとうございました。

その他の回答 (2)

  • ryo1977
  • ベストアンサー率41% (5/12)
回答No.3

プロバイダの説明である「Perlの場所」という言葉を誤解されているように感じたので、その点について回答します。 Perlの場所→/usr/bin/perl というのはWindows風に書くと Perlの場所→C:\SFU\Perl\bin\Perl.exe という感じです。perlというプログラムが置いてある場所です。 nagaseruさんが作ったCGIの設置場所という意味ではありません。 もし、誤解していなかったらすいません。

nagaseru
質問者

お礼

その通りです。 設置場所と勘違いしていました…。 うちのプロバイダは 「CGIに関する質問は一切受け付けません。」 という初心者泣かせの警告が書いてあったので、 ここに駆け込みました。 ありがとうございました。 また、なにか訊くかもしれません。

  • Jodie0625
  • ベストアンサー率30% (397/1288)
回答No.2

/usr/local/bin/perlは、あなたが借りているプロバイダのサーバのperlプログラムがある絶対パスを示しています。ユーザがアクセスできない領域です。 ユーザが置き場所を決めることはできませんし、自分でおく必要もありません。cgi内に上記の記述をしておけば、使用できます。

nagaseru
質問者

お礼

「CGI内に書くパス」のことなのですね…。 勘違いしていました。(必死にディレクトリをつくって置いていました…) ありがとうございました。

関連するQ&A