レンタルサーバーでperlのcgiファイルを実行する手順と注意点

このQ&Aのポイント
  • レンタルサーバーでperlのcgiファイルを実行する手順と注意点について説明します。
  • レンタルサーバーでperlのcgiファイルを実行する際の手順と注意事項について解説します。
  • レンタルサーバーでperlのcgiファイルを実行する方法と注意点をまとめました。
回答を見る
  • ベストアンサー

レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい

レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい。 レンタルサーバー会社からは、「cgi-bin」フォルダにcgiファイルを配置(アップロード)すれば ブラウザで見れると説明を受けました。 用意したcgiファイルは以下の内容です。 _____________________________ #! c:/perl64/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; #さいころを振る。 $n = int(rand 6) + 1; #HTMLの出力 print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0.1//EN\">\n"; print "<html>\n"; print "<head><title>Perlでさいころ</title></html>\n"; print "<body>"; print "<p>さいころの目は<big>$n</big>です。</p>\n"; #御言葉を出力 if($n == 4){ print "<p>ふ、不吉な・・・。4が出ました。</p>\n"; } print "<body></html>"; __________________________________________ 一行目が原因でしょうか。ローカルで作成した、cgiファイルをレンタルサーバーに配置(アップロード)し ブラウザから見たいと考えております。 ご存知の方、教えて頂けないでしょうか。 宜しくお願いします。

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

  • ベストアンサー
回答No.1

何が起こっているのか補足して下さい。 ちなみに1行目はWindows系OSの書き方ですので、 レンタルサーバーで広く使われているUNIX系の書き方ではないので不自然です。 1行目の書き方はレンタルサーバー側から指示されているはずです。 パーミッションも指示があるはずですが、 755を禁止して705でないと500エラーを出す設定にしているサーバ業者もあります。

fthk-2010
質問者

お礼

こんばんわ。 問題、解決しました。 1行目と、パーミッションが違った事が原因でした。 ・1行目→#!/usr/bin/perl ・FFFTPでサーバーに配置した、cgiファイルを右クリックして 属性変更で「755」に変更し、再度ブラウザから アクセスしましたら、表示されました。 ヒントをいただきまして、有難う御座いました。 本当に助かりました。

fthk-2010
質問者

補足

こんばんわ、ご回答いただきまして、有難う御座います。 >何が起こっているのか補足して下さい。 現在、実行すると、「Internal Server Error」が表示されます。 >ちなみに1行目はWindows系OSの書き方ですので、 >レンタルサーバーで広く使われているUNIX系の書き方ではないので不自然です。 >1行目の書き方はレンタルサーバー側から指示されているはずです。 ドメインキングという業者をりようしております。 1行目の書き方は、問い合わせてみます。 ちなみに、通常unix系では、どのように書くのが(1行目)一般的なのでしょうか? >パーミッションも指示があるはずですが、 >755を禁止して705でないと500エラーを出す設定にしているサーバ業者もあります 現在、ドメインキングという業者を利用しております。 業者のよくある質問に、以下の説明がありました。 _________________________ ・CGIの種類によっては、cgi-binで動作しないものがございます。その場合は、/httpdocsディレクトリに下記の内容を記述した .htaccess ファイルをアップロードし、/httpdocsにCGIファイルを再度アップロードしてみてください。 .htaccessファイル記述例 -------------------------------------- Options +ExecCGI AddHandler cgi-script .cgi AddHandler cgi-script .pl -------------------------------------- これは、「.htaccess」というファイルを作り、そのファイルに上記の内容を記述して、アップロードするように という事ですよね? あるフォルダに配置して、起動できたり、他のフォルダ出なければ起動できなかったり色々あるのですね。 一度、試してみたいと思います。 お忙しいところ、有難う御座いました。

関連するQ&A

  • サクラのレンタルサーバーです。CGIが動きません

    サクラのレンタルサーバーを借りました。 早速CGIを試そうと思ったのですが、原因不明のInternal Server Errorが出ます。 cgi-binはいらないとのことですので、wwwにそのまま入れました。 index.htmlも同じ場所にありそれは出ますのでパス間違いではないです。 またパーミッションも777にしてみましたが駄目です。 #!/usr/local/bin/perl print "Content-Type: text/html\n"; print "\n"; print "<html>"; print "<body>"; print "abc"; print "</body>"; print "</html>"; こんな感じで、TELNETでログインして実行も出来ます。 bash-2.05b$ ./index.cgi Content-Type: text/html <html><body>abc</body></html>bash-2.05b$ いろいろ調べたのですが ◆パーミッション→OK ◆TELNETで実行してみる→OK ◆perlへのパスは?→/usr/local/bin と /usr/bin どちらでもいいそうです。験しに変えましたが状況変わらず。 何か気が付いたことがあれば教えてください

    • ベストアンサー
    • CGI
  • perlのcgiが動かない・・・

    cgiを組もうと思い、まずは簡単なもので試そうと思ったのですが、 うまくいかず困っています。 ↓プログラムは、こんな感じです。 ファイル名:index.cgi #!/usr/bin/perl print "<html>"; print "<body>"; print "abc"; print "</body>"; print "</html>"; <やってみたこと> ・Perlのパス「#!/usr/bin/perl」 が間違っていないか? which perl で /usr/bin/perl とでます。 ・Apache の設定が正しく行なわれているか? http://localhost でindex.htmlがきちんと表示できています。 ・「hello.cgi」 の設置場所を間違っていないか? プログラムソースが出るということは、 間違っていないのではないでしょうか? ・ためしに実行してみた TELNETで ./index.cgi <html><body>abc</body></html> とでてきました。 これはちゃんと動いているのでは?? 何か勘違いしていますか? お気づきの点を教えてください。よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • Perlがサーバー上でうごきません

    htmlファイルには <html> <form action="form2.cgi" method="get"> 食品名1<input type="text"name="form1"> <br> 食品名2<input type="text"name="form2"> <input type="submit"value="送信"> </form> </html> cgiファイルには #! /usr/bin/perl require "cgi-lib.pl"; &ReadParse(); print "Content-type:text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>フォーム</title>\n"; print "</head>\n"; print "<body>\n"; print "おいしい$in{'form1'}\n; print "まずい$in{'form2'}\n; print "</body>\n"; print "</html>\n"; exit; cgi-lib.plはサーバーにいれております。 どうしてうごかないのでしょうか。

    • ベストアンサー
    • Perl
  • Perl CGI -入力フォーム-

    Perlを始めたばかりの初心者です。 Perlの中にフォームを入れたいのですが、エラーが出てしまいます。 現在は、ローカルで作動させています。 #! c:/perl/bin/perl print "Content-type: text/html\n\n"; print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n"; print "<head><title>TEST</title></head>\n"; print "<body>\n"; print "<p><input type="text" name="name"></p>\n"; print "</body>\n"; print "</html>"; 【print "<p><input type="text" name="name"></p>\n";】この記述がエラーの対象行となっています。 inputを使用する場合は他にも記述が必要なのでしょうか? 宜しくお願いします。

  • さくらレンタルサーバーのライトプラン。perl使用方法

    htmlやcssの勉強をしていて、そろそろperlに手をつけてみようとしているのですが、設定方法が全くわかりません。かなり調べたのですが、調べ方が悪いのか全然解決できません。具体的に何がわからないのかというと。 ・http://*****.sakura.ne.jp/perltest.plとしてFTPでアップロードしたら、perltest.plの中身がそのまま表示されてしまいました。拡張子をcgiとしてアップロードしたら、ページが表示出来ないエラーとなりました。アップロードするフォルダがいけないのでしょうか?なにか設定があるのでしょうか?ほかのhtmlやcssのファイルは問題なくアップロードできています。 ・コマンドパス/usr/bin/perlなど、なんのことか全くわかりません。 ・DWのCS4を使っているのですが、どうすれば、効率良く.plファイルを編集アップロードできるのでしょうか?(現在.plのファイルをダブルクリックしても編集画面が出てこず、右クリック→エディタを指定して開く→dreamweaverとしないと編集できません。) ちなみに、とりあえずの内容ですがperltest.plの中身は #! /usr/bin/perl print "Content-type : text/html\n\n "; print "<html> <body> \n " ; print "<div>aaa</div> \n " ; print "</html> </body> \n " ; です。 さくらレンタルサーバーのオンラインマニュアルは http://support.sakura.ad.jp/support/manual/rs/tech_cgi.shtml です。 かなり初歩的なこととは思いますが教えてください。いくら調べても全然わからず、本当に困っています。どうかよろしくお願い致します。

    • ベストアンサー
    • Perl
  • CGIファイルの送り方教えて下さい

    はじめまして!超初心者です。 最近CGIを本を見ながら勉強しているんですが ファイルの送信の仕方が分かりません。やはり HTMLファイルとは送信の仕方が違うのでしょ うね?誰か教えて下さい。 (FTPソフトはFetchです。) ちなみに送りたいファイルは --------------------------------- #!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "<HTML>\n"; print "<H1>Hello!</H1>\n"; print "</HTML>\n"; --------------------------------- です。

    • ベストアンサー
    • CGI
  • XサーバーでCGIを使うには??

    質問なのですが、CGIを使いたいなと思い、幾つかのサイトを 見て勉強していたのですが、どうにも上手くいきません。 私はXサーバーを使用しています。XサーバーでCGIちゃんと 使えるよっていう方がいらっしゃれば一層助かります!! サーバーに置いてある自分のCGIのファイルをクリックして 開くと背景が青緑?になってソースがそのまま表示されてしまいます。 ちなみに、CGIファイルは以下です。public_htmlの下のcgiというフォルダの下にtest1.cgiというファイル名で保存しています。 =======-===ここから================= #!/usr/local/bin/perl print "Content-type: text/html\n"; print "\n"; print "<html>\n"; print "<head>\n"; print "<title>テスト</title>\n"; print "</head>\n"; print "<body bgcolor=\"#ffcccc\">\n"; print "これはCGIのテストです。\n"; print "</body>\n"; print "</html>\n"; (文字コードはShift_JISです。) ===========ここまで=============== .htaccessのファイルも、CGIのファイルと同じ階層に入れて います。以下がそのファイルです。public_htmlの下のcgiというフォルダの下に.htaccessというファイル名で保存しています。 ==========ここから================ AddType application/x-httpd-cgi .cgi<CR><LF> (最後の行は改行しています) (文字コードはShift_JISです。) ==========ここまで================ どうすれば良いのでしょうか??ご教授お待ちしております。

    • 締切済み
    • CGI
  • 自作したサーバーでperlが動かない

    この度、centos5.3で自宅サーバーを組んだのですが、どうしてもある記述をしたperlのプログラムが動作しません。 他の記述方法であれば、問題なく動作します。 内容としては、htmlをOPENで読み込んで、出力させるだけの単純な物です。 なにか設定が悪いのでしょうか? なお他のサーバーでは、同じプログラムは動作します。 perlのバージョンは、5.8.8です。 記述の内容は次の通りです。 ********************************* #!/usr/local/bin/perl open(HTML, "test.html"); @log = <HTML>; close(HTML); print "Content-type: text/html\n\n"; print <<"EOF"; @log EOF exit; ********************************* エラーログには、Premature end of script headers: test.cgiとなっています。 もちろん、test.htmlファイルも存在します。 どなたかお教え頂けませんでしょうか? 宜しくお願いします。

  • CGIが文字化けしてしまう。(Perl)

    環境 WinXP    Apache ActivePerl 開くソフトは「Tera pad」      でやっています。ソースは #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML>\n"; print "<HEAD><TITLE>CGI TEST</TITLE></HEAD>\n"; print "<BODY>ああああ。</BODY>\n"; print "</HTML>\n"; __END__ です。「ああああ」部分が「‚ ‚ ‚ ‚ B」 と表示されます。 どなたか解決方法ご存知の方いらっしゃいましたら ご回答お願いします。

    • ベストアンサー
    • CGI
  • htmlからテキストを返すperlを実行する方法

    アクセスカウンターの数字画像を出力するperlのcgiを、<img>タグで、 <img src="./counter.cgi"> と、呼び出す方法があると思いますが、これと同じように、画像ではなくテキストを出力するperlのcgiをhtml中に呼び出して、ブラウザに表示する方法はないでしょうか? 以下のような感じかと漠然と思ったのですが、やはり上手くいくはずはありませんでした。 ■cgiプログラム(test.cgi) #!/usr/bin/perl print "Content-type: text/plain\n\n"; print "TEST TEXT"; exit 0; ■htmlファイル <html><head></head> <body> <br> <hr> <object data="./test.cgi" type="text/plain"></object> <hr> </body> </html> perlもhtmlも独学で学んだ基礎レベルだと自分で思っています。 どなたか突破口となるヒントをお願いします。

    • ベストアンサー
    • Perl

専門家に質問してみよう