コンテンツを載せるにあたり、アクセスログの解析を行うソフト Awstats を搭載します。
アクセスログ解析を行うソフトは色々有りますが、
グラフィカルな表示とversionアップの履歴などを見て
今でも進化している点が気に入りAwstatsに決めました。
それに、英語のサイトなのに日本語対応なのです。なんでだろう?
バージョン6.8にはクロスサイトスクリプティングの脆弱性があるということだったので、
思い切って、今日現在ベータ版で公開されているバージョン6.9を搭載することにしました。
①Awstatsのインストール
GNOME端末より
# su + 管理者権限パスワード
# wget http://awstats.sourceforge.net/files/awstats-6.9.tar.gz を入力しサイトよりダウンロード
# mkdir -p /var/lib/awstats → ディレクトリ作成
# tar xvzf awstats-6.9.tar.gz -C /usr/local → 解凍
# mv /usr/local/awstats-6.9 /usr/local/awstats → /usr/local/awstatsにディレクトリ名変更
# chmod 755 /usr/local/awstats → パーミッションを変更
# chown -R apache:apache /usr/local/awstats → 所有者とグループをそれぞれapacheに変更
②インストールとApacheのコンフィグ設定
続けて(GNOME端末)
# cd /usr/local/awstats/tools を入力
# perl ./awstats_configure.pl インストールスクリプトを実行
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf → apache の設定ファイルを指定
--- Awstatsのプロファイルを作成します
file (required if first install) [y/N]?y → y を入力
Your web site, virtual server or profile name:
> ********.com → サイト名を入力/設定ファイル識別名になります。
Directory path to store config file(s) (Enter for default):
> → Enter を押下(デフォルトのまま使用)
これでインストール完了時に awstats.********.com.conf というファイルが作成されます。
--- configure.plはまだ自動的に cron に追加できないので、
手動で cron に追加してくださいというメッセージが表示されます。 ---
Press ENTER to continue... → Enter を押下
--- インストールが完了しました....
Press ENTER to finish... → Enter を押下
③Apache用アクセス制限設定
続けて
# vi /etc/awstats/awstats.********.com.conf → を入力し下記を入力し修正します。
(vi コマンドを覚えましょう。コチラが正規な作成方法です。
gedit のみを入力し、目的のファイルに移動しても修正出来ます。)
LogFile="/var/log/httpd/access_log" → に変更
LogType=W → デフォルト(Web)
LogFormat=1 → デフォルト
SiteDomain="********.com" → ********にドメイン名が入っている
HostAliases=" **************** " → 既にあるので状況により変更
DNSLookup=1 → DNSの逆引きにするに変更
DirData="/var/lib/awstats" → 既にあるので状況により変更
DirCgi="/awstats" → 既にあるので状況により変更
DirIcons="/awstatsicons" → デフォルト
EnableLockForUpdate=1 → に変更
SkipDNSLookupFor="REGEX[^192\.168\.0\.]" → DNSの逆引きを行わないIPアドレス
AllowAccessFromWebToFollowingIPAddresses="127.0.0.1 192.168.0.1-192.168.0.254"
→ ログ解析を閲覧できるIPアドレスの範囲(外部よりアクセスログ解析を閲覧したい場合は削除)
PurgeLogFile=1 → に変更(AWStatsがログ解析を行った後、 Apacheのログファイルを圧縮します。)
SkipHosts="127.0.0.1 REGEX[^192\.168\.0\.]" → LAN内のクライアントのアクセスは除外
FirstDayOfWeek=0 → に変更(日曜日を週の先頭に)
Lang="jp" → に変更
LoadPlugin="tooltips" → に変更
:w
:q
* 他にも色々な設定が出来る仕様となっていますので、必要に応じ変更します。
④初回の解析ファイル作成
続けて
# perl /usr/local/awstats/tools/awstats_updateall.pl now → を入力
Found xxxxx new qualified records. という表示で終了です。
⑤表示バグ修正(awstats.pl)...年月表示
GNOME端末より
# su - + 管理者権限パスワード
# vi /usr/local/awstats/wwwroot/cgi-bin/awstats.pl へ移動
a. 文字検索で $message[5] と入力し検索します。色付きでハイライトされます。
#else { print "$Message[5] $MonthNumLib{$MonthRequired} $YearRequired"; }
→ else { print "$YearRequired $Message[6]".$MonthNumLib{$MonthRequired}; }
b. 続けて $Message[6] と入力し検索します。色付きでハイライトされます。
#print ($MonthRequired eq 'all'?"$Message[6] $YearRequired":"$Message[5] ".$MonthNumLib{$MonthRequired}." $YearRequired");
→ print ($MonthRequired eq 'all'?"$YearRequired $Message[6]":"$YearRequired $Message[6]".$MonthNumLib{$MonthRequired});
* 修正前のスクリプトは # を付けコメントアウトします。
⑥ディレクトリのオーナーを変更
GNOME端末より
# chown apache:apache -R /var/lib/awstats/ を入力
⑦httpd(Apache)の再起動
GNOME端末より
# service httpd restart を入力
* httpd.confに設定を追記する為に、Apacheを再起動します。
⑧Awstatsの自動実行
* 毎時15分にログ解析を自動的に実行、データが少ないと予想されるので一時間毎にしました。
Awstatsの解析処理はログのデータ量により処理時間が変わってきます、
CPUに相当な負荷が掛かってきますので、多い場合は処理間隔を変えます。
GNOME端末より
# su - + 管理者権限パスワード
# crontab -e として(vi と同じです)下記を追記
15 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
:w
:q
⑨確認
下記アドレスを入力します。
http://[サーバーアドレス]/awstats/awstats.pl
ここまで来ると、古いマシンも、一端のサーバーとして、活躍しそうです。
お疲れお疲れ。![]()
コメントする