このページではWebサーバーApache/httpdアクセス解析を行うWebalizer日本語化について初心者/ビギナー向けに解説します。

HPの格安エントリーサーバー機"HP ProLiant ML115"でのLinuxサーバー構築記を掲載しました。サーバー機の選定にお悩みの方は是非お越しください...。お便利サーバー.com管理人。
補助ツールのセットアップ
webalizerでアクセス解析

webアクセス解析とは

Webalizer日本語版の導入

Webalizerの基本設定

httpdログの構造を理解する

Apacheでログを振り分ける

検索文字列の日本語化

統計データの見方について

解析データの最適化と分析法

解析スケジュールの設定

デフォルト以外のアクセス解析

サイト内検索

Webalizerの表示を日本語化しましょう

WBEL CentOS で既に利用可能になっている Webalizer は、残念なことに表示が英語になっています。

デフォルトのWebalizer(英語表記)
デフォルトの"Webalizer"(英語表記)
事実上この二つのバージョンには違いはありませんので、以後の説明は基本的にWBEL3及びCentOS3を基準に説明します。
WBEL4及びCentOS4をご利用の方は適宜読み替えて解釈してください。

Webalizerは、WBELやCentOSの インストール WBEL3のインストールについて CentSO3のインストールについて WBEL4のインストールについて CentSO4のインストールについて のときに CD に予め準備されているパッケージがインストールされ、 WBEL3及びCentOS3では "webalizer-2.01_10-15.ent.[アーキテクチャ名].rpm" が、WBEL4及びCentOS4では "webalizer-2.01_10-25.ent.[アーキテクチャ名].rpm" からインストールされます。

実はWebalizer自身は日本語にも対応しているのですが、この RPM ファイル自身が ソース から英語版として作成されているため、日本語表記ができなくなっているわけです。

従って、日本語を表示するWebalizerを 構築中のLinuxサーバー にインストールするには、

1.既にインストールされている英語版のWebalizerを アンインストール する。

2.Webalizerのソースプログラムを入手する。

3.Webalizerのソースプログラムから日本語版WebalizerのRPMを作成するときに必要な設定を行う。

4.WebalizerのソースプログラムからRPMを作成するための補助プログラムを 構築中のLinuxサーバー にインストールする。

5.日本語版WebalizerのRPMを作成する。

6.日本語版WebalizerのRPMをインストールする。

7.設定ファイルの内容をバックアップから書き戻す。

という手順が必要になります。

手順は多いですが作業そのものは決して難しいものではありませんし、この作業によって

「RPMのソースプログラムの設定ファイルを書き換え、RPMを作成しなおす。」

という、今後に役立つ手順を学ぶことにもなりますから、やってみて損はないと思います。

このページの先頭へ↑

Webalizerの日本語化の手順

まず、 サブネット 内の適当な クライアント機 から SSHクライアント 構築中のLinuxサーバー ログイン します SSHクライアントでサーバーに接続する(WBEL3) SSHクライアントでサーバーに接続する(CentOS3) SSHクライアントでサーバーに接続する(WBEL4) SSHクライアントでサーバーに接続する(CentOS4)

この お便利サーバー.com のアクセス解析結果を公開中ですのでご覧ください。(現在1時間毎に更新中です。)
メインコンテンツのアクセス解析結果 お便利サーバー.com
お便利サーバー.comへの検索ロボットのアクセス状況 検索ロボット

それから su コマンド アカウント "root" に変更します。

[tanaka@web1 tanaka]$ su -Enter
Password: "root"のパスワードを入力します。 Enter
[root@web1 root]#

準備ができたら早速作業を始めましょう。

1.既存のWebalizerのアンインストール

まず、現在 構築中のLinuxサーバー にインストールされている Webalizer rpm コマンド を使って調べます。

なお、WBEL4及びCentOS4では"webalizer-2.01_10-25.ent"と表示されるはずですので、そのパッケージ名に沿って同様に作業してください。

[root@web1 root]# rpm -qa | grep webalizerEnter grepコマンドについて
webalizer-2.01_10-15.ent  ←インストール済みのRPM名です。
[root@web1 root]#

正確な RPM 名が解ったら、同じくrpmコマンドで アンインストール します。

[root@web1 root]# rpm -qa | grep webalizerEnter
webalizer-2.01_10-15.ent
[root@web1 root]# rpm -e webalizer-2.01_10-15.entEnter
警告: /etc/httpd/conf.d/webalizer.conf saved as /etc/httpd/conf.d/webalizer.conf
.rpmsave

[root@web1 root]#

もしもこのアンインストール作業を行う前に、一度でも "/etc/httpd/conf.d/webalizer.conf" に何らかの修正を行ったことがある場合は /etc/httpd/conf.d/webalizer.confの修正 、上の 赤字 のようなメッセージが表示されます。

つまりアンインストール前の設定ファイル "/etc/httpd/conf.d/webalizer.conf" は、同じディレクトリに "webalizer.conf.rpmsave" というファイル名でバックアップ保存されたことを表しています。

ここで説明した二つの設定ファイルは全く同名ですが、その目的や内容は全く異なりますので混同しないようにしてください。

また、Webalizerの処理内容を設定するメインの設定ファイル "/etc/webalizer.conf" も、アンインストール前に修正が行われていれば同様の処理が行われたことを表すメッセージ、

[root@web1 root]# rpm -qa | grep webalizerEnter
webalizer-2.01_10-15.ent
[root@web1 root]# rpm -e webalizer-2.01_10-15.entEnter
警告: /etc/webalizer.conf saved as /etc/webalizer.conf.rpmsave
警告: /etc/httpd/conf.d/webalizer.conf saved as /etc/httpd/conf.d/webalizer.conf
.rpmsave
[root@web1 root]#

が表示されます。

これらのバックアップファイルはあとから設定を元に戻すために使用しますので削除しないようにしてください。

以上で既存の英語版Webalizerのアンインストールが終わりました。

2.Webalizerのソースのダウンロード

RPM には、そのまま インストール を行うと利用可能になるタイプのパッケージと、一度 ソース の状態に展開してからRPMを作り直すタイプのパッケージがあります。

前者はファイル名が、

[プログラム名][バージョン][ アーキテクチャ 名].rpm

ですが、ソース型パッケージの場合は、

[プログラム名][バージョン][アーキテクチャ名].src.rpm

となっていますので容易に区別できます。

今回必要となるのは、前のステップで アンインストール した Webalizer と同じバージョンのRPMソースパッケージですから、

"webalizer-2.01_10-15.ent.src.rpm"(WBEL3,CentOS3の場合)

"webalizer-2.01_10-25.ent.src.rpm"(WBEL4,CentOS4の場合)

となります。

入手方法は色々ありますが、 WBEL CentOS のインストール CD ISOイメージ を作成したときと同様に WBEL3のインストールCDの準備 CentOS3のインストールCDの準備 WBEL4のインストールCDの準備 CentOS4のインストールCDの準備 、 「独立行政法人・理化学研究所」の アノニマスFTP サイト ftp://ftp.riken.go.jp/ から ダウンロード するのが簡単です。

各々のOSでのアップロード場所は以下のとおりです。

WBEL3とWBEL4ではソースパッケージは "i386" フォルダの中にありますが、 "x86_64" 環境でご利用の場合でもそのまま使えます。

WBEL3:

ftp://ftp.riken.go.jp/Linux/whitebox/3.0/en/os/i386/SRPMS/

CentOS3:

ftp://ftp.riken.go.jp/Linux/centos/3.9/os/SRPMS/

WBEL4:

ftp://ftp.riken.go.jp/Linux/whitebox/4/en/os/i386/SRPMS/

CentOS4:

ftp://ftp.riken.go.jp/Linux/centos/4.6/os/SRPMS/

ここから一度 クライアント機 "webalizer-****.src.rpm" をダウンロードし、 FTPクライアント から 構築中のLinuxサーバー アップロード してもOKですが、以下のように wget コマンド を使って直接 構築中のLinuxサーバー にダウンロードしても良いでしょう。

[root@web1 root]# wget ftp://ftp.riken.go.jp/Linux/whitebox/3.0/en/
os/i386/SRPMS/webalizer-2.01_10-15.ent.src.rpm
Enter
--21:52:45-- ftp://ftp.riken.go.jp/Linux/whitebox/3.0/en/os/i386/SRPMS/webalizer-2.01_10-15.ent.src.rpm
      => `webalizer-2.01_10-15.ent.src.rpm'
ftp.riken.go.jp をDNSに問いあわせています... 134.160.38.1

        中略

100%[====================================>] 273,220    65.97K/s  ETA 00:00

21:52:50 (65.83 KB/s) - `webalizer-2.01_10-15.ent.src.rpm' を保存しました [273220]

[root@web1 root]#

ソースパッケージを取得したら、次にパッケージの展開を行います。

3.パッケージの展開と日本語化の設定

RPM のソースパッケージを展開するには、RPMの インストール と同じオプションで rpm コマンド を実行します。

WBEL4の場合は、 "/usr/src/redhat" ではなく、 "/usr/src/whitebox" に展開されます。
以後の説明では、WBEL4で該当するディレクトリ名は、適宜 "redhat"→"whitebox" と読み替えて作業してください。

オプションは同じでも、コマンドの実行の対象がソースパッケージの場合は "/usr/src/redhat" 以下の適切なディレクトリに整理して展開されるだけで、 アプリケーション のインストールは行われません。

[root@web1 root]# rpm -ivh webalizer-2.01_10-15.ent.src.rpmEnter
警告: webalizer-2.01_10-15.ent.src.rpm: V3 DSA signature: NOKEY, key ID db42a60e
  1:webalizer       ########################################### [100%]
[root@web1 root]#

パッケージの展開が終わったら、RPMパッケージの作成の際の初期設定ファイル "webalizer.spec" が展開されているディレクトリ "/usr/src/redhat/SPECS" に移動し、 picoエディタ "webalizer.spec" を開きます picoエディタでファイルを開く

[root@web1 root]# cd /usr/src/redhat/SPECSEnter cdコマンドについて
[root@web1 SPECS]# pico webalizer.specEnter
webalizer.specをエディタで開く
webalizer.specをエディタで開く

この設定ファイル "webalizer.spec" の中で、WBEL3及びCentOS3では 48行目 、WBEL4及びCentOS4では 54行目 に、

%configure --enable-dns --with-dblib=/lib

という記述がありますので、ここに表示の日本語化を行うためのオプションを以下のように追記します。

%configure --enable-dns --with-dblib=/lib --with-language=japanese

追記が終わったらファイルを保存してpicoエディタを閉じます picoエディタでファイルを閉じる

4.RPMの作成に必要なプログラムのインストール

展開した RPM のソースパッケージからRPMを作成するには、 rpmbuild という コマンド を使います。書式は、

rpmbuild [オプション] [SPECファイル] Enter

です。

オプションに "--clean" を追加すると、展開されているソースファイルなどが削除されます。
オプションの名前の通り、RPMの材料を片付けてしまっても構わないときに指定します。

オプションに "-bb" を指定すると、 "/usr/src/redhat/RPMS" 以下の該当する アーキテクチャ 名のディレクトリの下にRPMが作成され、 "-ba" を指定するとRPMの作成と同時に "/usr/src/redhat/SRPMS" 以下に ソース 形式のRPMが作成されます。

ものは試しに、次のようにコマンドを実行してみてください。大抵はエラーが出るはずです。

[root@web1 SPECS]# rpmbuild -bb webalizer.specEnter
エラー: Failed build dependencies:
    gd-devel is needed by webalizer-2.01_10-15.ent
    libpng-devel is needed by webalizer-2.01_10-15.ent
[root@web1 SPECS]#

エラーの意味は簡単です。つまり、

「webalizer-2.01_10-15.entを作成するには、 "gd-devel" "libpng-devel" が必要。」

ということですから、これらを 構築中のLinuxサーバー インストール してあげれば良いということがお解りと思います。

こういう場合は、メールサーバーの構築の中の dracのインストールについて でも説明していますが、まずこの二つのプログラムが WBEL CentOS の標準のパッケージ群にあるかどうかを yum コマンドで調べてみます。

[root@web1 SPECS]# yum install gd-devel libpng-develEnter
Gathering header information file(s) from server(s)
Server: White Box Enterprise Linux 3.0 - i386 - Base
Server: White Box Enterprise Linux 3.0 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
Dependencies resolved
I will do the following:
[install: gd-devel 1.8.4-12.3.1.i386]
[install: libpng-devel 2:1.2.2-25.i386]

Is this ok [y/N]:

すると該当するRPMが見つかって、インストールするかどうかを問い合わせてきましたので、 y Enter でインストールを続行します。

[root@web1 SPECS]# yum install gd-devel libpng-develEnter
Gathering header information file(s) from server(s)
Server: White Box Enterprise Linux 3.0 - i386 - Base
Server: White Box Enterprise Linux 3.0 - i386 - Released Updates
Finding updated packages
Downloading needed headers
Resolving dependencies
Dependencies resolved
I will do the following:
[install: gd-devel 1.8.4-12.3.1.i386]
[install: libpng-devel 2:1.2.2-25.i386]
Is this ok [y/N]:yEnter
Downloading Packages
Getting gd-devel-1.8.4-12.3.1.i386.rpm
gd-devel-1.8.4-12.3.1.i38 100% |=========================| 49 kB 00:00
Getting libpng-devel-1.2.2-25.i386.rpm
libpng-devel-1.2.2-25.i38 100% |=========================| 163 kB 00:00
Running test transaction:
Test transaction complete, Success!
libpng-devel 100 % done 1/2
gd-devel 100 % done 2/2
Installed: gd-devel 1.8.4-12.3.1.i386 libpng-devel 2:1.2.2-25.i386
Transaction(s) Complete
[root@web1 SPECS]#

以上で Webalizer のRPMを作成するためのプログラム、 "gd-devel" "libpng-devel" のインストールが終わりました。

5.日本語版WebalizerのRPMを作成する。

前のステップの冒頭と同じ方法でもう一度 rpmbuild コマンドを実行してみます。

お使いの ホスト機 の性能によっては、数分程度かかるかもしれません。
慌てずにゆっくり待ちましょう。

すると大量のメッセージが表示されながら RPM の作成が行われます。

[root@web1 SPECS]# rpmbuild -bb webalizer.specEnter
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.25120
+ umask 022
+ cd /usr/src/redhat/BUILD

    中略

Checking for unpackaged file(s): /usr/lib/rpm/check-files /var/tmp/webalizer-root
書き込み中: /usr/src/redhat/RPMS/i386/webalizer-2.01_10-15.ent.i386.rpm
書き込み中: /usr/src/redhat/RPMS/i386/webalizer-debuginfo-2.01_10-15.ent.i386.rpm
[root@web1 SPECS]#

以上で日本語表記の Webalizer のRPMの作成が終わりました。

"i386" の部分はお使いのホスト機の環境によって異なります

作成された "webalizer-****.i386.rpm" は、上の 赤字 で示したところに作成されています。

6.日本語版Webalizerをインストールする

作成した "webalizer-****.i386.rpm" は、 rpm コマンド を使ってインストールします。

[root@web1 SPECS]# rpm -ivh /usr/src/redhat/RPMS/i386/webalizer-2.01_10-15.ent.i386.rpmEnter
Preparing...        ########################################### [100%]
  1:webalizer       ########################################### [100%]
[root@web1 SPECS]#

以上で日本語版 Webalizer のインストールが完了しました。

7."/etc/httpd/conf.d/webalizer.conf"の書き戻し

Webalizer の再 インストール を行うと、設定ファイル "/etc/httpd/conf.d/webalizer.conf" 及び "/etc/webalizer.conf" の内容は デフォルト に戻ってしまいます。

そこで1.のステップで行った アンインストール 作業でバックアップファイル "webalizer.conf.rpmsave" が作成されている場合は、この内容を設定ファイルに書き戻す必要があります。

ファイルの指定を 絶対パス で行わず、 cd コマンドで カレント ディレクトリをそれぞれのディレクトリに変更してから行っているのは、この二つの設定ファイルの名前が同じだからです。
これらは設定の目的も意味も異なりますから、うっかり相手側の設定内容を書き込んでしまうわけにはいかないということです。

"/etc/httpd/conf.d/webalizer.conf" が作成されている場合は、以下のように cat コマンド と 出力のリダイレクト 出力のリダイレクト処理について を組み合わせて以下のように実行します。

[root@web1 SPECS]# cd /etc/httpd/conf.dEnter
[root@web1 conf.d]# cat webalizer.conf.rpmsave > webalizer.confEnter
[root@web1 conf.d]#

"/etc/webalizer.conf" が作成されている場合も同様に作業します。

[root@web1 conf.d]# cd /etcEnter
[root@web1 etc]# cat webalizer.conf.rpmsave > webalizer.confEnter
[root@web1 etc]#

以上でWebalizerの設定内容の復元が完了しました。

このページの先頭へ↑

日本語化Webalizerの動作確認

Webalizer デーモン ではありませんから、 インストール しただけではアクセス解析結果は日本語化されません。必ず一度Webalizerを実行する必要があります。

ヒマな方はWebalizerが デフォルト 自動的に実行される午前4時過ぎまで待ってもかまいませんが、Webalizerはいつ何度実行しても結果がおかしくなることはありませんから、

[root@web1 etc]# webalizerEnter
[root@web1 etc]#

のようにすぐ実行しても大丈夫です。

次に HTTP 構築中のLinuxサーバー にアクセス可能な クライアント機 webブラウザ から、

http://www.obenri.com/usage/

にアクセスしてみてください。

日本語版Webalizerの表示例
日本語版Webalizerの表示例

このように表示が日本語に変わっていることが確認できるはずです。

このページの先頭へ↑

"/etc/yum.conf"の設定変更

Webalizer はあまり頻繁に アップデート される アプリケーション ではないようですが、もしも新しいバージョンがリリースされ、 WBEL CentOS の標準アップデートパッケージが準備されてしまうと、 yum でシステム全体をアップデートするときに yumによるシステムのアップデート(WBEL3) yumによるシステムのアップデート(CentOS3) yumによるシステムのアップデート(WBEL4) yumによるシステムのアップデート(CentOS4) 、ほかのパッケージと一緒にアップデートされてしまいます。

この お便利サーバー.com のアクセス解析結果を公開中ですのでご覧ください。(現在1時間毎に更新中です。)
メインコンテンツのアクセス解析結果 お便利サーバー.com
お便利サーバー.comへの検索ロボットのアクセス状況 検索ロボット

するとせっかく インストール した日本語版のWebalizerもアップデートされ、元の英語版にもどってしまうかもしれません。

そこで、Webalizerを自動アップデートの対象からはずしておく必要がありますから、 picoエディタ "/etc/yum.conf" を開き picoエディタでファイルを開く [main]セクション以下に "exclude=webalizer*" と記述してください。

右の例では割愛していますが、既に他のrpmについて同じようにあなた自身が記述しているかもしれません。
[main]
cachedir=/var/cache/yum
debuglevel=2
logfile=/var/log/yum.log
pkgpolicy=newest
distroverpkg=whitebox-release

   中略

exclude=webalizer*

   後略

これで、yumによるWebalizerのアップデートは行われなくなりました。

このサイトに対するご意見、ご要望、苦情、泣き言、献上品、資金援助などがございましたら こちら からお寄せください(お返事できなかったらごめんなさい)。もちろん リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。
Powered by Apache
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。
Powered by White Box Enterprise Linux