Linux で自宅サーバ [ Home Server Techncial ]

>>トップページに戻る

BBS 過去ログ No.0001に戻る

タイトル: apacheのCGI設定
記事No: 57
投稿日: 2003/01/08(Wed) 01:11
投稿者: かず   <cab46670@pop01.odn.ne.jp>
かずです。
はじまして、
VINE2.6r1、Apacheは、apache-1.3.27-0vl2を使用していますが、
CGIを用いてのアクセスカウンターのみが表示されない、
事象に突き当たっています。
因みに、Vine2.1.5では、表示されていました。

error.logが表示されていました。
[Wed Jan 8 00:45:13 2003] [notice] Apache/1.3.27 (Unix) (Vine/Linux) mod_ssl/2.8.12 OpenSSL/0.9.6b
configured -- resuming normal operations
[Wed Jan 8 00:45:13 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Wed Jan 8 00:45:19 2003] [error] (2)No such file or directory: exec of /var/www/html/cgi-bin/tcount.cgi failed
[Wed Jan 8 00:45:19 2003] [error] [client 192.168.1.2] Premature end of script headers: /var/www/html/cgi-bin/tcount.cgi

上記のtcount.cgiは存在していますが、premature end of script headers:の意味が分かりません。
下記が当該ファィルですが、
おまじないのパスもwhich perlで確認OKした。
有識者の方、ご教授お願いします。

#!/usr/bin/perl  
#
######################################################################
###
###
### CGIカウンター TcounT Ver.4.20
### [1/3] 本体 (tcount.cgi)
### (c) 1996-1999 Takahiro Nishida
### http://www.mytools.net/
###
###
######################################################################
#
### 変数設定部 (詳細は上記ページをご覧下さい) ######################

$basedir = "/var/www/html";

### 変数設定部 (ここまで)###########################################

require './gifcat.pl';

$lockfile="$basedir/lockdir/tc.lock";
$compfile="$basedir/tccomp.txt";
$logfile="$basedir/tclog.txt";
$timefile="$basedir/tcmtime.txt";


&main;

タイトル: Re: apacheのCGI設定
記事No: 61
投稿日: 2003/01/08(Wed) 03:06
投稿者: kensuke@管理人   <hst_ken@hotmail.com>
URL: http://technical.zive.net/
> VINE2.6r1、Apacheは、apache-1.3.27-0vl2を使用していますが、
> CGIを用いてのアクセスカウンターのみが表示されない、
> 事象に突き当たっています。

CGIが動作しないのは、アクセスカウンターのみでしょうか?
他のCGIプログラム(掲示板など)は正常に動作しているのですか?


> 上記のtcount.cgiは存在していますが、premature end of script headers:の意味が分かりません。

「premature end of script headers」
の意味は、大まかに「内部エラーが発生しリクエストを完全に完了できない」という事(らしい)です。
(「Internal Server error」の時に吐き出されるメッセージも「premature end of script headers」らしいです。)

もし、他のCGIが動くのであれば、tcount.cgiの動作に必要なログファイルなども含め、パーミッションを確認して下さい。

後、考えられる原因として、「CGIファイルの改行コードの誤り」という事も考えられます。
改行コードを「LF」にして保存し直して見て下さい。

それから、カウンター以外のCGIが動いているのなら不必要ですが、
おまじないパス「#!/usr/bin/perl」の後ろに「--」を付けて
「#!/usr/bin/perl --」としてみて下さい。
動くかもしれません。

タイトル: Re^2: apacheのCGI設定
記事No: 63
投稿日: 2003/01/08(Wed) 21:08
投稿者: かず   <cab46670@pop01.odn.ne.jp>
> > VINE2.6r1、Apacheは、apache-1.3.27-0vl2を使用していますが、
> > CGIを用いてのアクセスカウンターのみが表示されない、
> > 事象に突き当たっています。
>
> CGIが動作しないのは、アクセスカウンターのみでしょうか?
> 他のCGIプログラム(掲示板など)は正常に動作しているのですか?
>
>
> > 上記のtcount.cgiは存在していますが、premature end of script headers:の意味が分かりません。
>
> 「premature end of script headers」
> の意味は、大まかに「内部エラーが発生しリクエストを完全に完了できない」という事(らしい)です。
> (「Internal Server error」の時に吐き出されるメッセージも「premature end of script headers」らしいです。)
>
> もし、他のCGIが動くのであれば、tcount.cgiの動作に必要なログファイルなども含め、パーミッションを確認して下さい。
>
> 後、考えられる原因として、「CGIファイルの改行コードの誤り」という事も考えられます。
> 改行コードを「LF」にして保存し直して見て下さい。
>
> それから、カウンター以外のCGIが動いているのなら不必要ですが、
> おまじないパス「#!/usr/bin/perl」の後ろに「--」を付けて
> 「#!/usr/bin/perl --」としてみて下さい。
> 動くかもしれません。

ご指摘のとうり、
コマンド行の後に余計な文字<CR>が含まれていました。
WIN→LINUXのFTPの際にてのバイナリーモードがペケでした。
よって、mkf --unix XXXX .cgi > newXXX.cgi で変換して解決しました。

ありがとうございました。(^^;)

▲ページの最上部に戻る

Copyright© Home Server Technical. All Right Reserved.
webmaster@miloweb.net