Apache アクセスログを目的別に分けて出力する方法

携帯サイトで、「Flash待ち受け」「画像待ち受け」「デコメテンプレート」の3種類のダウンロード回数をカウントするサイトを作成したときの話。
それぞれのダウンロード回数をアクセスログの行数(つまり画面に表示した時点でダウンロード)で判断することになった。
その適用方法を紹介します。
# vi /etc/httpd/conf/httpd.conf


#
# For a single logfile with access, agent, and referer information
# (Combined Logfile Format), use the following directive:
#
SetEnvIf Request_URI “decome\.dmt” decome
SetEnvIf Request_URI “decome\.hmt” decome
SetEnvIf Request_URI “decome\.khm” decome
SetEnvIf Request_URI “flash0\.swf” flash
SetEnvIf Request_URI “waiting0\.gif” waiting
CustomLog logs/decome1_log combined env=decome
CustomLog logs/flash_log combined env=flash
CustomLog logs/waiting_log combined env=waiting
CustomLog logs/access_log combined             
→mod_setenvif を使用して該当のファイル名がアクセスログに記録されるタイミングに、各個別ファイルと「access_log」に記録されるようにします。一番後ろにつけた名前(env)によって振分をおこないます。

・・・
CustomLog “| /usr/sbin/rotatelogs /home/fs/www/accesslog/access_log.%Y%m%d 86400 540” combined
CustomLog “| /usr/sbin/rotatelogs /home/fs/www/accesslog/decome0_log.%Y%m%d 86400 540” combined env=decome
CustomLog “| /usr/sbin/rotatelogs /home/fs/www/accesslog/flash_log.%Y%m%d 86400 540” combined env=flash
CustomLog “| /usr/sbin/rotatelogs /home/fs/www/accesslog/waiting_log.%Y%m%d 86400 540” combined env=waiting

→バーチャルホストを使用している場合は、ここにも「CustomLog 」を追加します。最後に「env」を忘れると、うまく振分られないことがありますので、忘れずにつけましょう。


後はできたファイルの行数を数えれば各ダウンロード回数となります。
(注)Basic認証をかけた場合は1回のアクセスで2行追加される場合があります。

米マイクロソフトがWindows XPの販売可能期間をまた延長

米マイクロソフトは2010年7月12日(米国時間)、OEM版Windows 7に付随する「ダウングレード権」の提供期限を延長する方針を明らかにした。
ダウングレード権とは、最新OSのライセンスによって、過去のOSを利用する権利のこと。パソコンにプリインストールされるOEM版Windows 7の場合、Professional以上のエディションでダウングレード権が付与され、Windows Vista BusinessやWindows XP Professionalなどへのダウングレードが可能になる。
現在もなお、メーカーから「Windows XP Professional搭載パソコン」の販売が続いているのは、このダウングレード権を行使しているためだ。こうしたWindows XP搭載パソコンの販売期間が、大幅に延長されることになる。


原因は今に至っても企業のWindowsXPの利用率が80%を越えることがあるようだ。しかし、また延長してマイクロソフトはどうしたいのでしょうね?