Raspberry PiでWebalizerを日本語化(utf-8)してmake installする
Webalizer のソースコードを日本語化 (utf-8) した上で make install し、画像も含めて文字化けすることなく Webalizer がレポートを生成出来るようにします。
環境
Raspbian GNU/Linux 8.0 (jessie)
Webalizer Version: 2.23-08
事前に必要なものをインストールする
make install に必要となるライブラリなどをインストールします。
1$ sudo apt-get install zlib1g-dev libpng-dev libgd-dev libdb-dev libbz2-dev libgeoip-dev geoip-bin
Webalizer 用の GeoDB データベースをインストールします。
1$ wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-geodb-latest.tgz
2$ tar xzfv webalizer-geodb-latest.tgz
3$ sudo mkdir /usr/share/GeoDB
4$ sudo cp -p GeoDB.dat /usr/share/GeoDB
GeoIP のデータベースを更新します。
1$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
2$ gunzip GeoIP.dat.gz
3$ sudo cp -p GeoIP.dat /usr/share/GeoIP
Webalizer を日本語化 (utf-8) して make install
以下の URL で最新の Tar/Gzip archive の URL を確認します。
http://www.webalizer.org/download.html
Webalizer のソースコードを入手し、言語ファイルを utf-8 にコンバートします。
1$ wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.23-08-src.tgz
2$ tar xzfv webalizer-2.23-08-src.tgz
3$ cd webalizer-2.23-08/lang/
4$ iconv -f euc-jp -t utf-8 webalizer_lang.japanese > webalizer_lang.japanese_utf8
5$ mv webalizer_lang.japanese webalizer_lang.japanese_euc
6$ mv webalizer_lang.japanese_utf8 webalizer_lang.japanese
7$ cd ../
make install し、webalizer.conf ファイルを作成します。
1$ ./configure --prefix=/usr/local/webalizer --with-language=japanese --enable-dns --enable-geoip --enable-bz2
2$ sudo make
3$ sudo make install
4$ cd /usr/local/webalizer/etc/
5$ sudo cp -p webalizer.conf.sample webalizer.conf
6$ sudo nano webalizer.conf
Webalizer の動作を確認する
ここでは、httpd に apache を利用していると仮定します。
nginx の場合はログファイルの整形が必要なため、nginx.conf の http セクションにある
log_format を以下のように設定し、apache のログ形式にあわせます。
1http {
2 log_format main '$remote_addr - $remote_user [$time_local] "$request" '
3 '"$status" $body_bytes_sent "$http_referer" '
4 '"$http_user_agent" "$http_x_forwarded_for" "$gzip_ratio"';
5}
webalizer.conf を開きます。
1$ sudo nano /usr/local/webalizer/etc/webalizer.conf
解析するアクセスログファイルを指定します。
1LogFile /var/log/httpd/access_log
解析結果の出力先を指定します。
1OutputDir /var/www/webalizer
GeoDB / GeoIP を設定します。
1GeoDB yes
2GeoDBDatabase /usr/share/GeoDB/GeoDB.dat
3GeoIP yes
4GeoIPDatabase /usr/share/GeoIP/GeoIP.dat
HTMLHead に utf-8 を指定します。(4行目を追加します)
1#HTMLHead <META NAME="author" CONTENT="The Webalizer">
2#HTMLHead <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
3
4HTMLHead <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
以上で webalizer.conf の初期設定は終了です。
続いて OutputDir で指定したディレクトリを作成します。
1$ sudo mkdir /var/www/webalizer
解析の実行は
1$ sudo /usr/local/webalizer/bin/webalizer -c /usr/local/webalizer/etc/webalizer.conf
で行い、結果が OutputDir で指定したディレクトリに出力されます。
1$ ls -la /var/www/webalizer/
2合計 88
3drwxr-xr-x 2 www-data www-data 4096 2月 10 15:01 .
4drwxr-xr-x 4 www-data www-data 4096 2月 7 20:25 ..
5-rw-r--r-- 1 root root 2682 2月 10 15:01 ctry_usage_201702.png
6-rw-r--r-- 1 root root 2731 2月 10 15:01 daily_usage_201702.png
7-rw-r--r-- 1 root root 1792 2月 10 15:01 hourly_usage_201702.png
8-rw-r--r-- 1 root root 3798 2月 10 15:01 index.html
9-rw-r--r-- 1 root root 2169 2月 10 15:01 usage.png
10-rw-r--r-- 1 root root 50749 2月 10 15:01 usage_201702.html
11-rw-r--r-- 1 root root 3909 2月 10 15:01 webalizer.current
12-rw-r--r-- 1 root root 2868 2月 10 15:01 webalizer.hist
上記のようなレポートが作成されていれば、成功です。
OutputDir で指定したディレクトリを Apache や nginx に設定すれば、ブラウザ経由でレポートを閲覧できるようになります。
お疲れ様でした。