このスレッドはクローズされています。記事の閲覧のみとなります。
cgiの実行 |
|
- æ¥æï¼ 2006/11/04 12:37
- ååï¼ とんとん
- こんにちは。
またお邪魔いたします。 本人がよく理解していないために前に質問したことの繰り返しになってしまい申し訳ないのですが よろしくお願いします。 Fedora Core5です。
実は、Movable Type(無料)を過去に何度かダウンロード→インストール→削除を繰り返えしてしまったことが原因なのかわかりませんが mt-check.cgiのファイルをひらくとcgiソースが表示されログインできなくなってしまいました。
apacheの設定ではcgiが実行できるように設定いたしました。
AddHandler cgi-scrpt .cgi←先頭の#を削除 Options FollowSymLinks←ExecCGI追加
以下Movable Typeのインストールと設定は解説書にそってやりました。
/var/www/html/test.cgiでcgiの動作テストをやってみましたところ
クライアントからhttp://サーバのアドレス/test.cgiでは「Internal Server Error」になりました。 そのときのerror_logは下記でした。 略・・・[error][client **.**.***.**] Premature end of script headers:
しかし下記で実行しますとcgiは実行されました。 # /usr/bin/perl /var/www/html/test.cgi
Content-type: text/html
<html> <body>Hello World</body> </html>
なんとかまたMovable Typeを設置したいと思いますのでお力お貸しください。
|
■ コンテンツ関連情報
Re: cgiの実行 ( No.1 ) |
|
- æ¥æï¼ 2006/11/04 13:25
- ååï¼ 匿名さん
- 1)
test.cgi に実行権がない
2) test.cgi の一行目が #!/usr/bin/perl になっていない
3) AddHandler cgi-scrpt .cgi Options FollowSymLinks
を書く場所が間違っている(cgi-scrpt→cgi-scriptは写し間違い?)
4) Content-type: text/html の手前に妙な改行があるのは気のせい?
ぱっと思いつくのはこれくらいです
|
Re: cgiの実行 ( No.2 ) |
|
- æ¥æï¼ 2006/11/04 15:41
- ååï¼ とんとん
- 匿名さん,
ありがとうございます。
>1)test.cgi に実行権がない
chmod 755 test.cgiでよいのでしょうか? それともどのようにすればよいのでしょうか?(初心者ですみません)
>2)test.cgi の一行目が #!/usr/bin/perl になっていない #!/usr/bin/perl になっておりました Perlのシンボリックリンクを貼ってあります。
>3) AddHandler cgi-scrpt .cgi >Options FollowSymLink >を書く場所が間違っている(cgi-scrpt→cgi-scriptは写し間違い?)
すみませんscriptの写しまちがいです。 書いた場所は下記になります。
# AddHandler cgi-script .cgi
# # For files that include their own HTTP headers: # #AddHandler send-as-is asis
# # For type maps (negotiated resources):
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. # Options FollowSymLinks ExecCGI
# # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit
>4)Content-type: text/html の手前に妙な改行があるのは気のせい?
手書きでしので変な改行が入りました、実際は下記になります。 #!/usr/bin/perl print "Content-type: text/html\n\n"; print "<html>\n"; print "<body>\n"; print "Hello World"; print "</body>\n"; print "</html>\n";
>しかし下記で実行しますとcgiは実行されました。 ># /usr/bin/perl /var/www/html/test.cgi >Content-type: text/html
><html> ><body>Hello World</body> ></html>
これはcgiが実行されてはいないのですか?
|
Re: cgiの実行 ( No.3 ) |
|
- æ¥æï¼ 2006/11/04 16:30
- ååï¼ 匿名さん
- じゃああとは一行目をこうしてみる。
#!/usr/bin/perl --
それからココも参考に。
ttp://it-revolution.seesaa.net/article/13687310.html
これでダメだったら私にはわかりません。あと、コマンドラインからの実行テストは
#/usr/bin/perl /var/www/html/test.cgi
ではなくて、
#cd /var/www/html #./test.cgi
とするようにしてください。それからエラーメッセージの
"Premature end of script headers"
をgoogleでそのまま検索すると色々情報が得られますよ。
|
Re: cgiの実行 ( No.4 ) |
|
- æ¥æï¼ 2006/11/04 16:43
- ååï¼ とんとん
- ありがとうございます。
>#!/usr/bin/perl -- やってみたのですがだめでした
>あと、コマンドラインからの実行テストは >#cd /var/www/html >#./test.cgi
下記のようにやってみましたら「そのようなファイルやデレクトリはありません」となってしまいました。 なぜ??
[root@miserver html]# ./test.cgi
>それからエラーメッセージの >"Premature end of script headers" >をgoogleでそのまま検索すると色々情報が得られますよ。
はい、検索して調べてみましたがよく理解できません(困りました) 引き続き検索中です。
|
Re: cgiの実行 ( No.5 ) |
|
- æ¥æï¼ 2006/11/04 17:19
- ååï¼ とんとん
- 参照: http://miserver.dvrdns.org:8080/test6.cgi
- おせわになります。
匿名さん、ごめんなさい。
>#!/usr/bin/perl --
やり方かまちがっていたようでこのようにしたらcgiが実行されました。
ではapacheはcgiの実行には問題ないのですね。
>mt-check.cgiのファイルをひらくとcgiソースが表示されログインできなくなってしまいました
原因がわかりません。
|
■ その他