2008/07/18(金)アクセスカウンタ
別にSEO対策とか、統計を取るとか、そういうのではなく付けてみたかっただけです。画面も少しさみしいですしね。当然のことながら自分で作る元気はない*1ので、ぐーぐる先生にお願いして探してもらいます。カウンタがアニメーションするのがいいな、と思いながら探してると、RevoCounter CGIなるものを発見 うーん、これいいですね。大昔に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