1. httpd.conf
    2. virtualhosut
    3. アクセス制限
    4. WebDAV
    5. OpenSSL
    6. Analog
    7. Webalizer
    8. Streaming

Webalizer

Webalizerは、Apacheが出すログをもとにWebサーバの状態を解析する、アクセスログ解析ツールです。結果はHTML形式で表やグラフとして作成されます。
ここではTutboLinux W8を前提に話を進めます。TutboLinux W8にはRPMパッケージがインストールされていますので、これを使います。バーチャルドメインごとの利用も含めて報告します。
ソース等は以下の開発元を参照下さい。

The Webalizer

usage01



《 ■ 設定 ■ 》

設定ファイルは「/etc/webalizer.conf」です。必要に応じコメントを外し、追記します。以下にまとめてみました。

LogFile /var/log/httpd/access_log       ← access_logのパス
OutputDir /var/www/html/usage      ← 解析結果を納めるディレクトリ
Incremental yes           ← 解析結果を保存
IncrementalName webalizer.current
HostName www.xxxx.ne.jp          ← 解析対象
PageType php            ← 追加拡張子
DNSCache dns_cache.db
DNSChildren 10

まずはここから始めました。
次に、表示する統計結果ファイルを作成します。

# /usr/bin/webalizer.japanese -c /etc/webalizer.conf

このコマンドで設定ファイルに指定した「/var/www/html/usage」下にファイルが作成されます。
ではアクセスしてみます。設定ファイルに記述した指定例ですと、

http://www.xxxx.ne.jp/usage/

で、結果を見ることができます。
統計結果ファイルの作成を自動化します。わたしの場合、以下のファイルを「/etc/cron.d」内に任意のファイル名で置きました。

01 1 * * * root /usr/bin/webalizer.japanese -c /etc/webalizer.conf

あるいは「/etc/cron.daily」内に任意のファイル名で実行権限を付与し置くのもありだと思います。

#!/bin/sh
/usr/bin/webalizer.japanese -c /etc/webalizer.conf

この段階では「http://www.xxxx.ne.jp/usage/」は公開されています。公開する必要がないのなら「httpd.conf」に、

<Directory "/var/www/html/usage">
  Order Deny,Allow
  Deny from all
  Allow from 192.168.x.0/24 127.0.0.1
</Directory>

と記述し、アクセス制限をかけます。また「.htaccess」も利用できます。


《 ■ バーチャルドメインでの利用 ■ 》

この段階ではApacheでのバーチャルドメインは稼働しています。
作業は、バーチャルドメインのドキュメントルートに「/etc/webalizer.conf」をコピーして使用するということになります。
このためには、バーチャルドメインのログを別個にとり、ログローテーションを行う、という手順です。
ではバーチャルドメインの設定を「httpd.conf」で見てみます。

<VirtualHost 61.xxx.xxx.3>
  ServerAdmin tako@xxxx.ne.jp
  DocumentRoot /home/tako/public_html
  ServerName zzzz.xxxx.ne.jp
  ErrorLog /var/log/httpd/takodir/info_error_log
  CustomLog /var/log/httpd/takodir/info_access_log common
</VirtualHost>

この前提で作業を始めます。

# cp /etc/webalizer.conf /home/tako
# mkdir /home/tako/public_html/usage
# mkdir /var/log/httpd/takodir

設定ファイル「/home/tako/webalizer.conf」を変更します。

LogFile /var/log/httpd/takodir/info_access_log
OutputDir /home/tako/public_html/usage
HostName zzzz.xxxx.ne.jp

最低でもこれだけの変更でまずは運用可能です。
つづいてログローテーションの設定をしておきます。設定ファイルは「/etc/logrotate.d/apache」です。このファイルに以下を追記します。

/var/log/httpd/takodir/info_access_log {
  missingok
  postrotate
    /usr/bin/killall -HUP httpd
  endscript
}

/var/log/httpd/takodir/info_error_log {
  missingok
  postrotate
    /usr/bin/killall -HUP httpd
  endscript
}

解析結果のデータファイルを作成します。

# /usr/bin/webalizer.japanese -c /home/tako/webalizer.conf

このコマンドで設定ファイルに指定した「/home/tako/public_html/usage」下にファイルが作成されます。
ではアクセスしてみます。設定ファイルに記述した指定例ですと、

http://zzzz.xxxx.ne.jp/usage/

いかがでしょうか、閲覧できましたでしょうか。
解析結果の更新を自動化します。「/etc/cron.daily」内に任意のファイル名で実行権限を付与しておきます。

#!/bin/sh
/usr/bin/webalizer.japanese -c /home/tako/webalizer.conf

関係クライアントからのアクセス制限は以下です。

  Order Deny,Allow
  Deny from all
  Allow from 192.168.x.0/24 127.0.0.1


top     home:top     server library:top     PHP PostgreSQL MySQL サンプルスクリプト     SiteMap     Open SiteMap