2008/07/18(金)アクセスカウンタ

アクセスカウンタを設置してみました。

別にSEO対策とか、統計を取るとか、そういうのではなく付けてみたかっただけです。画面も少しさみしいですしね。当然のことながら自分で作る元気はない*1ので、ぐーぐる先生にお願いして探してもらいます。カウンタがアニメーションするのがいいな、と思いながら探してると、RevoCounter CGIなるものを発見shine うーん、これいいですね。大昔にC言語でアニメーションなカウンタをごにょごにょしてた時代*2を思い出しました。

早速ダウンロードしてきて展開、configファイルを直そうとしたら、日本語の説明が化けてる。どうやらファイルがSJISなようです。うちのPCはubuntuなので基本UTF-8です。このCGIはアクセスカウンタで日本語表示などはありませんので、文字コードは関係ないのですが、一応説明を読みながら設定していきたいのでemcasで編集*3しました。直すところもあまりないので、ササッと編集して、テスト環境で実行。

-bash: ./revocount.cgi: /usr/bin/perl^M: bad interpreter: No such file or directory

お約束のエラーが出ました。たしか改行コードだったっけな*4、とか思い出しながら*5、いつものようにぐーぐる先生に相談。Windowsの改行コードがCR+LFで、CRが^Mと表示されるからそれを削除してね、ということらしい。なんとなく思い出してきたよ。viで編集して、以下のコマンドを入力。^Mの入力はCtrl+vのあとEnterです。
$ vi revocount.cgi
:%s/^M//

今度はきちんと表示されました。ついでなので文字コートもUTF-8に変換しておくことに。いろいろやり方はあるみたいだけど、昔ながらの定番nkfを使いました。そういえばnkfでも改行コードの変更できますね。nkfが入ってなかったので、apt-getしてそのまま変換しておしまい。
$ sudo apt-get install nkf
$ nkf -w revocount.cgi > revocount.cgiu
$ mv -f revocount.cgiu revocount.cgi
$ nkf -w revoconfig.cgi > revoconfig.cgiu
$ mv -f revoconfig.cgiu revoconfig.cgi

*1 : 昔ならたぶん自作した、ってか作ったけどソース不明

*2 : C言語なCGIなので、環境ごとにコンパイルしてた、今思うとめんどくさい

*3 : geditでも大丈夫ですが、emcasだとterminalで使える

*4 : ^Mって表示されてるのに気づけよ俺

*5 : 最近はcgiなんてまったくいぢってません