Rocky Linuxに webalizer をインストールする

Linux

Rocky Linuxをインストールした Raspberry Pi 4 Model B に、webalizerをインストールした記録です。
Rocky Linuxにはwebalizerのパッケージが有りませんので、ソース・ファイルをコンパイルしました。

BerkeleyDBをインストールする。

ソースを展開する。

configureを実行する。

ライブラリを/usr/local/libにインストールするため、「–prefix=/usr/local/」を指定する。

makeする。

インストールする。

ライブラリ参照設定

webalizerをインストールする。

DNSの逆引きを利用しなければ、エラーとなりません。が、DNSの逆引きを利用するならソースファイルを修正しないと利用できません。

webalizerを取得する。

ソースファイルが見つけにくいのでここ置きました。

ソースを展開する。

 

configureを実行する。

Raspberry pi:

Intel PC:


※-with-langage=japanese を指定しいますが、langディレクトリの配下のファイルは内容が英語なので指定不要です。

※–build=XXX を指定していますが、アーキテクチャのチェックが無いので指定不要です。

make する(が、エラーとなる)。

「定義が複数ある」と怒っています。

※webalizer.cに同様のchar定義があるので、こちらを先にlinkerが見つけたと思われる。

ソースを修正する。

この定義は、「他のソースに同様の定義がある」と宣言します。

再度makeする。

正常にmakeできた。
インストール先は、configureコマンドで指定しないため「/usr/local」配下になります。
設定ファイルは、「/usr/local/etc/webalizer.conf」です。

WEBサーバのログを切り替え(ローテイト)させる。

日付が変わった時点でWEBサーバのログを切り替えることにより、日単位でのログになるので管理が便利である。
また、ログを切り替えてすぐに圧縮してしまうと、webalizerで読み込ませる前に解凍が必要になるので、圧縮処理は一日ずら様にする。
他のログの切り替えの説明であるがここを参考にしてください。

webalizerを実行するシェルを作成し実行する。

以下に参考シェルを示します。

crontabに登録する。

手動でシェルを実行し、シェルが正しく動作するか確認する。また、webalizer.confファイルの設定が正しいか確認する。

webalizer.confファイルの修正

数日実行すると結果表示サイトに「Total URLs」の情報が色々表示される。
*.xmlや*.webpのファイル情報や、/wp-admin/*や/wp-content/plugins/*などの情報が表示されるが投稿URLのみ表示させたいので非表示にする必要がある。
よって、webalizer.confファイルの修正が必要になる。

設定する項目は、自サイトの表示結果で判断してください。

 

国別のアクセスデータに国旗を表示する。

webalizer.confを修正

国旗の画像はどうなっているのだろうと思いながらwebalizer.confファイルを修正する。
以下が設定内容です。

 

結果表示htmlファイルの確認

FlagDirをコメントアウトすると、webalizerの結果を出力するフォルダ(webで表示するデータのフォルダ)配下のflagsフォルダに国旗ファイルがある想定で表示用htmlファイルが作成される。

ブラウザで表示された統計情報のhtmlソースを確認すると「IMG SRC=”flags/jp.png”」が確認できる。これが国旗の画像情報で、flagsディレクトリ配下のpngファイルを表示する設定であることが判明する。

 

国旗ファイルをWEBからダインロード

無料でダウンロードできる世界の国旗の画像 | Sekainokokki.jpから国旗のpngファイルをダウンロードして、flagsディレクトリを作成してディレクトリ配下で解凍する。

動作確認

国旗が表示できた。
国旗が表示されない国がある。
・European Union(EU)は国か?と思ったが、EUのpngファイルをwebからダウンロードしてflagsディレクトリに置いた。
・United KingdomはGreat Britain(UK)を含むため、こちらに国旗が表示されるべきではと思いながら、gb.pngファイルのリンクファイルとしてuk.pngファイルを作成して表示させた。

 

まとめ

何度がwebalizerを設定したが、今回国旗表示を行ってみた。WEBを検索すると国旗を表示する設定情報は存在するが、国旗をダウンロードして特定のディレクトリに置くとの情報が無い。
常識なのだろうか。