2月 2, 2014 - コンピューター    WebalizerのUTF化(Portsから入れる場合) はコメントを受け付けていません

WebalizerのUTF化(Portsから入れる場合)

FreeBSDのPortsからWebalizerを入れるのだが、Webalizerの日本語コードはEUC、一方、apacheのログに書き込まれる検索ワードはUTF-8で、それがそのままwebalizerの解析結果の画面に出て文字化けする。今時のことなのでUTF-8 で統一する。

WebalizerはPortsから入れる。

cd /usr/ports/japanese/webalizer
make extract
make patch

と、ソースを引っ張ってくる。
次に、webalizer_lang.hが参照する予定の日本語ファイルの文字コードをUTF-8に変換。

cd /usr/ports/japanese/webalizer/work/webalizer-2.23-08/lang
cp webalizer_lang.japanese webalizer_lang.japanese.org
nkf -w –overwrite webalizer_lang.japanese

もし、n/fが入ってない場合は、
cd /usr/ports/japanese/nkf
make install
で入れる。
次のコマンドで日本語オプションを入れてコンパイルすると、webalizer_lang.hにwebalizer_lang.japaneseのシンボリックリンクが張られてコンパイルされる。

cd /usr/ports/japanese/webalizer
make BATCH=yes WITH_CHARSET=utf8
make install

/usr/local/binに日本語版のwebalizerがインストールされるので、シンボリックリンクを張っておく。

ln -s /usr/local/bin/ja-webalizer /usr/local/bin/webalizer

設定ファイルをコピー。
cp /usr/local/etc/ja-webalizer.conf-dist /usr/local/etc/webalizer.conf
chmod 640 /usr/local/etc/webalizer.conf

webalizer.conf中のHTMLHeadでcharset=x-euc-jpを、charset=UTF-8に変更。

解析対象のログファイルのありかなど一通り設定した後で、
/usr/local/bin/webalizer -c /usr/local/etc/webalizer.conf
で起動させて解析結果を出してブラウザでアクセスする。

Comments are closed.