SSIカウンタ設置について

[上に] [前に] [次に]
けい [E-Mail] [HomePage] 1997/10/16(木) 07:41:46
「とほほのSSIカウンタ実現」を見てやってみたのですが
どうしても表示してくれません。ページ上では(HPを見てもらえば
分かるのですが<表紙しか作っていません)
[an error occurred while processing this directive]
と出てしまいます。パーミッションの設定、必要ファイルの配置
は確認しました。3webはcgiと他ファイルが別サーバ
なのですが、それは関係あるのでしょうか?
初心者なので、何卒よろしくおねがいします。

飯塚 [E-Mail] [HomePage] 1997/10/16(木) 15:40:32
僕の経験では、メッセージが出る場合はSSIがバグっているのでなく
サーバの設定などがおかしい場合が多かったです。

以下のテストをしてみるとある程度情報が得られると思います。
(1) <!--#echo var="LAST_MODIFIED"-->というSSIを入れてみる。
    ファイル最終更新日が出ればSSI自体は使える。
(2) (UNIXの場合)<!--#exec cmd="/bin/echo aaa "-->
    を入れてみる。これでaaaと表示されればコマンドもOK。

カウンタがSSIならば、SSIスクリプトはホームページと
同じマシンになくてはいけません(CGIの設定とはあまり関係
ないようです)。

けい [E-Mail] [HomePage] 1997/10/17(金) 01:45:29
飯塚さん、書き込みありがとうございます。
(1)のテストでは正常に「ファイル最終更新日」が表示されたので
SSI自体は大丈夫みたいです。
スクリプトを同じcgi-binに置いて、もう一度パーミッションを全部
確認して、コマンドを確認したのですが、どうしても動きません。

ちなみに3webでは.htaccessの設定はいらないようなので、この点では特に問題はないみたいです。

よろしくお願いします。

飯塚 [E-Mail] [HomePage] 1997/10/17(金) 19:42:31
うーん。
こうなるとやはりSSIスクリプトの問題なのだろうか....。難しい。
以下の点確認願います。
(1) SSIの存在するマシンはHTML文書のあるマシンと同一か
  (CGI用のマシンではダメ)
(2) 同一の場合で、たとえば階層が
  /usr/home/www/yourhome/
            +----cgi-bin/yourcounter.cgi
  の場合、SSIの指定は
  <!--#exec cmd="cgi-bin/your_counter.cgi"-->
  または
  <!-#exec cmd="/usr/home/www/yourhome/cgi-bin/your_counter.cgi"-->
  となっているか
(3) SSIは文字しか出力しないようになっているか
  (画像などを出力してないか)

簡単な解決策はいっそのことCGIを利用することだと思います。
「とほほのカウンター設置法」
(http://www.tohoho-web.com/wwwcount.htm)
の末尾に、3Webでの移行事例がのっていましたが、このかたは
CGIにしていました(さっき見てきた)。

けい [E-Mail] [HomePage] 1997/10/17(金) 23:22:07
飯塚さん、返答ありがとうございます。
状況なのですが・・
(1)CGIサーバではなく、普通の文書等と同じサーバに置いています。
(2)絶対パスで(/usr/home/dialup/.../cgi-bin/wwwcount.cgi)と
  記載しています。
(3)文字出力になっていると思います。

(2)で,<!--exec cmd="...>と上では記載されているのに対して私の文書では<!--exec cgi="...>となっていたので、書き換えたところ、
Content-type: text/html OK. You can use CGI script.
OK. /usr/local/bin/nkf exist.
OK. /usr/lib/sendmail exist.
とブラウザでの表示が変わりました。
[error]表示ではなく[OK]表示になっていますが、カウンタは未だ利用できていません。

レンタルCGIなどは昔試したのですが、どうもいまいち・・・だったので自分で設置しようとした(幸いCGI,SSI使用可能なプロバでしたし)のですが、なかなかうまくいかないものですね。
CGIでもいい気はするのですが、グラフィックカウンタはあんまり好きじゃないし、できればこの機会にSSIを少しは使えればとやってみたわけです。

たびたびすみませんが、よろしくお願いします。

飯塚 [E-Mail] [HomePage] 1997/10/18(土) 01:12:59
どうも3WebではSSIのexec文を実行したときに、無理矢理CGIヘッダを出力しているようですね。
そうなると<!--#exec cmd="〜"^-->ではだめかもしれません(ウソ言ってすいません)。
はっきりしたことはわからないのですが、以下のテストをしてみてもらえますか?
不確かなことばかりいってごめんなさい。

(1) <!--#exec cgi="〜"-->にもどす。
(2) "〜"の中身は、"/~keichan/(SSIのあるところ)/wwwcount.cgiにする。
(3) カウンターそのものは今までどおり。

あと、もしかするとカウンターが値を返していないかも知れません(ここのカウンターだから
バグはないと思うのですが...)。

けい [E-Mail] [HomePage] 1997/10/18(土) 02:46:08
<!--#exec cgi="/~keichan/usr/home/dialup..../cgi-bin/wwwcount.cgi">と
<!--#exec cgi="/usr/home/dialup/.../cgi-bin/wwwcount.cgi">
等々試したのですが、どれでもどうしても
[an error occurred while processing this directive]
と出てしまいます。

CGIスクリプトはいじってませんし、perlのある場所も確認しました。
(/usr/local/bin/perl上にあったのでそのままにしました)

いまいち原因わかりません。

飯塚 [E-Mail] [HomePage] 1997/10/18(土) 11:12:53
(1) 階層の件
<!--#exec cgi="/~keichan/usr/home/dialup..../cgi-bin/wwwcount.cgi">
がちょっと気になります。
差し支えなければ、ホームページのトップとSSIの位置関係を
具体的に教えてもらえますか(セキュリティ上の理由から、
本件に限りここに書くのではなく参考資料としてメールして
いただいたほうが安全です)。
(2) SSIの切り分け
サーバがUNIXであれば、前回書いた
<!--#exec cmd="/bin/echo aaa "-->
を試してみてください。これで正しく"aaa"という文字が出れば、
SSIスクリプト(またはその位置など)の問題でしょう。
正しく出ない場合、SSIの使用についてプロバイダに問い合わせる
必要があります。

けい [E-Mail] [HomePage] 1997/10/19(日) 02:13:17
(2)については"aaa"と表示されました。SSIは機能してるようです。
(1)はメールにて送りますのでよろしくお願いします。

飯塚 [E-Mail] [HomePage] 1997/10/21(火) 12:24:41
#!/bin/sh
#
# Copyright(C) 1997 IIZUKA,Shinji.
#
# 何とかしてカウンターを作れるよう、僕が使っている
# カウンタープログラムを掲載します。
# 今回の書き込み全体をコピーしてご使用ください。
# 事前にこのファイルのパーミッションを755に、
# カウンターファイルのパーミッションを666にすることを
# お忘れなく。
#
# 修正個所は1個所だけ。
# CNTFILE=ファイル名 のようにカウンターのファイル名を設定します。
# たとえば、
# あなたのホームディレクトリ:/usr/you
# あなたのhtmlディレクトリ :/usr/you/public_html
# カウンターSSI     :/usr/you/public_html/cgi-bin/count.ssi
# カウンターファイル    :/usr/you/data/counter.txt
# の場合、"CNTFILE=/usr/you/data/counter.txt"とする。

CNTFILE=/usr/you/data/counter.txt # ここを変更

PATH=${PATH}:.:/bin:/usr/bin; export PATH # 要らないかも
ocnt=`cat ${CNTFILE}`
case $ocnt in
[0-9]* ) ncnt=`expr $ocnt + 1` ; echo $ncnt > ${CNTFILE};;
*      ) echo "(ごめんなさい!再読込すれば多分表示します)"
exit 0;;
esac
echo $ncnt

けい [E-Mail] [HomePage] 1997/10/27(月) 01:30:02
[[解決]]
飯塚さん。遅くなりましたが、カウンタ設置できました。
ありがとうございました。

[上に] [前に] [次に]