awstats6.4にバージョンアップ+日本語化。
以前、日本語化について書いたのですが(2月4日 awstats日本語化参照。)、このdecode.plを使用するという方法だと、何かと不具合があったので、やはり根本的に日本語化するにはawstats.plに手を加えるのが一番かと思います。
基本的な設定については参照過去ログの3番目、6番目あたりを参考にしてください。
Jcode.pmを使用するので、インストールされていない場合は用意します。
- CPANからのインストールは参照過去ログの6番目を。
- CPANでインストールできない場合はソースからインストールできるので、参照過去ログの5番目を。
- Jcode.pmがあるかどうかわからない場合は参照過去ログの7番目を参照して検索してみてください。
【参照過去ログ】
- 2月3日 awstats日本語化。
- 2月3日 awstats、バージョン6.3へアップデート。
- 1月24日 ログ解析ソフト“awstats 6.0日本語版”設置。
- 10月15日 解決・ログ解析ソフト“awstats 6.0日本語版”設置。
- 10月23日 PerlModuleをソースからインストールする。
- 10月14日 ログ解析ソフト“awstats 6.0日本語版”設置。
- 10月6日 サーバにPerlModuleがインストールされているか?
awstatsのサイトから最新バージョン(6.4)をダウンロードしてきます。
サーバへアップしたら解凍します。
shell > tar zxfv awstats-6.4.tgz
次にエディタで新しいawstats.plに手を加えます。
PerlModuleを呼び出しているところの一番下に
use Jcode;
を追記します。
それから、検索語をエンコードしているサブルーチンを編集します。
“DecodeEncodeString”というサブルーチンを探します。
1 |sub DecodeEncodedString {
2 | my $stringtodecode=shift;
3 | $stringtodecode =~ tr/\+/ /s;
4 | $stringtodecode =~ s/%([A-F0-9][A-F0-9])/pack("C", hex($1))/ieg;
5 | return $stringtodecode;
6 |}
サブルーチンの中の4行目の下に以下の行を追記します。
+ Jcode::convert(\$stringtodecode, "utf8");
これで、OKです。
一応、スクリプトのチェックをしましょう。
“syntax OK”と言われたら、新しいawstats.plを既存のawstats.plのディレクトリへコピーします。
shell > cp awstats-6.4/wwwroot/cgi-bin/awstats.pl /awstatsを格納してあるディレクトリまでのフルパス/
コピーする前に、念のため、前のバージョンをバックアップしておいた方がいいでしょう。
コピーしたら、ブラウザへアクセスしてみて、確認してみます。
あたしの場合はこれで問題なく表示されていました。
これで、decode.pl等を使用せず、日本語化ができることになります。
今後またバージョンアップしても、awstats.plに同じように手を加えればいいので、問題ないですね。
cronのタスクも軽減されたし、良かった良かった。