この掲示板の左上のような簡単テキストカウンターを設置したいですが。
探してみたら、http://www.misskita.com/cgi/counter/ はおやじさんの
ものと外貌がおなじです。
設置ガイドにしたがって、いろいろと設定して、
<!--#include virtual="../ssicount.cgi?dataname"-->
をホームページに挿入しましたが、アクセスしたら、何の反応もありません。
普通のHTMLの<body> </body>の間にこのまま、cgiプログラムを上のような
フォーマットで挿入するだけでよいのでしょうか。
できれば、おやじさんはどうのように設定したのか、を教えていただければ、と
思います。CGIに関する知識はほぼありません。
> <!--#include virtual="../ssicount.cgi?dataname"-->
これはSSIの設定をすれば使用できます。(httpd.conf)
Apache2.0.48の設定ですが
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
を
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
と修正します(コメント#を取るだけです)
なお、shtmlと設定していますので、htmlではSSIは認識しません。
htmlに修正するのも良いと思います
Tonさんがある程度書いてくれていますが、補足します。
まず、入間さんがやりたいことと、おやじのここのカウンタの件は全く似て非なるものです。
ここのカウンタは、CGI上で動かしているものであり、KENTさんのCGIをおやじがチョットだけ改造したものです。
一方、入間さんがやりたいことは、HTML本文でテキストカウンタを動かしたいというもので、リンク先のものはSSIが使える環境でないと動かないと書いてあります。
以下、これを前提にし、且つデーモンとしてはApacheを使用しているとすると、動作しない原因としては、
1. サーバがSSIを使えるようになっていないか?
2. 使い方を間違えているか?
3. リンク先のカウンタCGIのperlパスが/usr/local/bin/perlとなっているので単にperlのパスミス?
のいずれか、或いは全てが考えられます。
1. デーモンの設定ミス
Tonさんが書いている個所が一箇所と、SSIを動かしたいDirectoryディレクティブのOptionでIncludesを追記しないと駄目。
また、Tonさんの例では、拡張子が.shtmlのものしか動作しないが、.htmlでも動かしたければ、
AddOutputFilter INCLUDES .shtml .html
と、.htmlを追加する。但し、htmlでも常にSSIが起動されるのでCPU負荷が重くなるので、注意が必要。
また、.shtmlをトップページ等で使うなら、補完対策として、
DirectoryIndex index.html index.shtml index.html.var
とindex.shtmlを追加する。
2. 使用方法のミス
そもそもCGIが動くようになっているのかが問題。FAQのCGI関係を参考にしてください。CGIまでのパスミスにも注意。
3. CGIのperlへのパスミス。
こちらも、FAQのCGI関係を参考にしてください。