重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

test.cgiの内容↓
#!/usr/bin/perl
print "Content-type: text/html\n\n";
PRINT "<HTML>";
PRINT "<BODY>";
PRINT "おはよう";
PRINT "</BODY>";
PRINT "<HTML>";


500 Internal Server Error
というメッセージが出ます。
どうしてですか?

A 回答 (12件中1~10件)

>実行権限はどうやって設定、確認すればいいんですか?



とのこと・・・
aibibuさんは、FTPソフトは何を使っているのでしょうか?
もし、Windowsで有名なFFFTPであれば、サーバーにアップロード後
そのファイルを右クリックし「属性の変更」をクリック
そして通常なら「755」でOKです。

755にしてもだめな場合は777にしてみてください。

以下、参考のURLをはっておきます。
σ(^_^)の持っている環境では

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "<HTML>";
print "<BODY>";
print "おはよう";
print "</BODY>";
print "

で、「755」にしてちゃんと動きます。

参考URL:http://tohoho.wakusei.ne.jp/wwwcgi6.htm
    • good
    • 0
この回答へのお礼

ありがとうございます。
動きました。
RootFTPを使ってんですが、属性の変更をしたら、動きました。

お礼日時:2002/11/26 17:18

とくと句のヘルプを見るとパーミッションは700にしてほしいという風に書いてあるので、755や777では実行できないのでは?



間違いがありましたらご指摘ください。
ではでは☆

参考URL:http://tok2.com/study/bbs/bbs-02.html
    • good
    • 0

サーバーがトクトクらしいので、UNIX系OSでのパーミッションの確認方法を挙げます。


tok2はtelnetログインが許可されていたはずです。
1、「Windowsのファイル名を指定して実行」から「telnet」と入力し、起動する。
2、Windows2000の場合ですが、「telnet> opne www??.tok2.com」と入力する
(??は自分の登録しているサーバーの番号)
3、tok2の自分のアカウントを入力
4、FTPでアップロードするときのパスワードを入力(*などは表示されません)
5、左側が「tok2$」になっていたらとりあえずOKです。
6、[tok2$ cd CGIをアップしているフォルダー名]を入力します。
7、「tok2$ ls -la」を入力します。
-rw-r--r-- 1 lio member 38 Nov 20 06:52 test.cgi
のような表示がいっぱい出てくると思います。
このときの-rw-r--r--がパーミッションを表します。
CGIの実行には通常
-rwxr-xr-xになっている必要が有ります。
もしなって居ないようであれば、
[chmod 755 test.cgi」と打ち込んでください。

CGIの方ですが、
私の家のUNIXマシンでは下記の見本では動きませんでした。
これだと動きます。

#!/usr/bin/perl
print "Content-type: text/html\n\n";

print "<HTML>\n";
print "<BODY>\n";
print "<p>おはよう</p>\n";
print "</BODY>\n";
print "<HTML>\n";
exit();
です。printは小文字で、
;の前に\nを入れてください
print "Content-type: text/html\n\n";
の後には改行をいれるのが慣例となってるそうです
    • good
    • 0

しばらくCGIさわってないので、すっかり忘れているので、


もしかしたら、まだ抜けていることがあるかもしれません。

CGIのファイルを置くディレクトリは自分で自由にできるんでしょうか。
もしそうだとしたら、そのディレクトリのパーミッションを
何とかしています?数値、忘れました。(^ ^;;

奮闘しているパソコンのOSは?
Windowsだと思うのですが、まさかまさかLinuxなんかじゃないです?
配布されているCGIのほとんどはWindowsで作られているようで、
Linuxでいくらがんばってもうまくいかなかったことがあります。
文字の改行コードがsjis-dosになっていたんです。
Linux上だとこれをeuc-jpにしたらうまくいったことがあります。
たぶん、関係ないと思いますが。
    • good
    • 0

#5です。



>よく意味がわかりません
>どうやってかくにんするんですか?

「よく意味がわかりません」ということは何も設定していないと判断しました。

aibibuさんがtest.cgiをWEBサーバにアップロードするソフトの機能に、ファイルの属性を変更する機能があるはずです。

たとえばFFFTPなら「コマンド」->「属性変更」でtest.cgiの属性をCGI用に変更できます。

どんな属性を設定するかは、各ホームページのCGI利用方法等に書かれているはずです。

属性に問題がなければ、test.cgiのperl文法ミスという事になります。
ひとつずつ解決していってください。
    • good
    • 0

#5です。



前回のあなたの質問に回答しましたが、むずかしいですか?

------------------------------------
http://www.okweb.ne.jp/kotaeru.php3?q=412018

ここに解説のページがあります。

トクトクサポートコーナー
http://tok2.com/study/index.html

TripodCGI
http://home.tripod.co.jp/help/tool/tripodcgi.html
------------------------------------
    • good
    • 0
この回答へのお礼

すみません
前回の質問のことを今の質問の所にしないでください。
せっかく回答してもらったのに本当にすみません。

お礼日時:2002/11/25 18:19

実行権限がないとかじゃないですか?



ついでにですが、ご自分のサイトのURLを書くことは、規約にて禁じられているはずですが・・・

それと、#!/usr/bin/perlと次の行の間に改行を入れなくても、動作はしているみたいですが・・・
#コマンドラインでの話ですが・・・

間違いがありましたらご指摘ください。
ではでは☆

この回答への補足

実行権限はどうやって設定、確認すればいいんですか?

補足日時:2002/11/25 17:28
    • good
    • 0

test.cgi の属性(パーミッション・オーナ)はどうなっていますか?



WEBサーバがCGIとして認識できる属性になっていますか?

この回答への補足

よく意味がわかりません

どうやってかくにんするんですか?

補足日時:2002/11/25 17:26
    • good
    • 0

一行空けてみる。



#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<HTML>";
print "<BODY>";
print "おはよう";
print "</BODY>";
print "</HTML>";
    • good
    • 0

全然自信なしです。



>#!/usr/bin/perl
>print "Content-type: text/html\n\n";

この1行目と2行目のあいだ、空白行、いりませんでした?

この回答への補足

#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<HTML>";
print "<BODY>";
print "おはよう";
print "</BODY>";
print "</HTML>";
exit;

にしました
しかしなりません
それと

1.パーミッションはあっていますか?
トクトクでは各ユーザーの権限でCGIが動作します。
CGIのパーミッションは700です。
CGIを設置するディレクトリーのパーミッションは701で動作します。
パーミッションについての詳しい説明をお読みください。
それ以外の場合はFTPソフトなどでCGIファイルのパーミッションを正しく設定してください。

2.CGIで使用されるファイルのパスはあっていますか?
あなたのディレクトリー(フォルダ)のフルパスは
/home/member/あなたのアカウント/です。

3.sendmailを使用しようとしていませんか?
sendmailは使用できません。

4.配布されているCGIを設置する場合
配布されているままの状態(改造をしない)で設置してみてください。

● Perlで作成されている場合

1.Perlのパスはあっていますか?


#!/usr/bin/perl

2.文法の間違いはありませんか?
もう一度ソースをチェックしましょう。
細かいミスはありませんか。
例えば、「;」「"」 「'」 は抜けていませんか。

という注意がありました

補足日時:2002/11/25 17:23
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!