快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

APACHE 服务器LOG分析应用实例

互联网的飞速发展,无论是传统企业的网站,还是互联网企业,为了了解自己的客户来源,点击率等资料,对网站日志的分析尤为重要,以下就本人所做的日志分析系统与大家分享,希望能对大家有所帮助。

一,所用软件及工具

1,Apache服务器 官方网址:http://www.apache.org

2,awstats 日志分析软件 官方网址:http://awstats.sourceforge.net/

3,cronolog 日志截取软件 官方网址:http://www.cronolog.org

二,环境构架

1,RedHat AS 3

2,Apache

./configure ?Cprefix=/usr/local/apache2/ --enable-so

make

make install

3, awstats

直接tar到 /usr/local/awstats

4,cronolog

./configure ?Cprefix=/usr/local/cronolog

make

make install

三, 配置

1, apache

a,让apache中的某个虚拟主机产生日志:

全局环境变量设置:

代码:
LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined

SetEnvIf Request_URI .gif$ gif-image

SetEnvIf Request_URI .GIF$ gif-image

SetEnvIf Request_URI .jpg$ gif-image

SetEnvIf Request_URI .JPG$ gif-image

SetEnvIf Request_URI .png$ gif-image

SetEnvIf Request_URI .swf$ gif-image

SetEnvIf Request_URI .SWF$ gif-image

SetEnvIf Request_URI .css$ gif-image

SetEnvIf Request_URI .CSS$ gif-image

SetEnvIf Request_URI .js$ gif-image

SetEnvIf Request_URI .JS$ gif-image

SetEnvIf Request_URI .ico$ gif-image

产生日志但不包括 图片。

虚拟主机日志设置

代码:
<VirtualHost 12.34.56.78:80>

ServerAdmin webmaster@abc.net

DocumentRoot /db/htdocs/www

ServerName www.abc.net

CustomLog "|/usr/local/cronolog/sbin/cronolog /db/logs/www.%Y-%m-%d.log" combined env=!gif-image

#用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件

</VirtualHost>

注:日志文件是针对每一个虚拟主机产生的所以可以配置一台服务器上多个虚拟主机的日志分析

b,别名设置

代码:

#

# Directives to allow use of AWStats as a CGI

#

Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"

Alias /awstatscss "/usr/local/awstats/wwwroot/css/"

Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"

ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
#

# This is to permit URL access to scripts/files in AWStats directory.

#

<Directory "/usr/local/awstats/wwwroot">

Options None

AllowOverride None

Order allow,deny

Allow from all

</Directory>

该配置在运行awstats/tools/awstats_configure.pl 后会自动产生所以不用手动添加。

c,awstats需要cgi的支持假如没有添加cgi可以现在添加

代码:

./apxs -c -i /usr/local/src/httpd-2.0.50/modules/generators/mod_cgi.c


再在httpd.conf 中添加

代码:

LoadModule cgi_module modules/mod_cgi.so

d为了保护日志统计信息需要对某些目录进行认证设置,需要认证模块的支持


代码:

./apxs -c -i /usr/local/src/httpd-2.0.50/..../mod_auth.c


再在httpd.conf 中添加


代码:

LoadModule auth_module modules/mod_auth.so


配置需要认证的目录:

代码:

<Directory "/db/htdocs/www/awstat/">


AuthType Basic


AuthName "Restricted Files"


AuthUserFile /usr/local/apache2/passwd/passwords

Require user loguser

</Directory>


其中在 /usr/local/apache2/passwd/下产生passwords 的密码文件

运行如下代码产生用户名为loguser用户及其密码

代码:

/usr/local/apache2/bin/htpasswd -c /usr/local/apache2/passwd/passwords loguser

注重:先要在 /usr/local/apache2/下建passwd目录

2,Awstats

运行 /usr/local/awstats/tools/awstats_configure.pl

主要设置的是需要输入做统计的主机名的配置文件名如:www.abc.net

接着修改 刚才配置是产生的awstats配置文件 默认位置在:

/etc/awstats/awstats.www.abc.net.con 主要做指定log位置

代码:

LogFile="/db/logs/www.%YYYY-4-%MM-2-%DD-2.log"

创建目录:mkdir /var/lib/awstats/

执行:

代码:

/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.net


更新,update 后可以在浏览器中输入 http://www.abc.net/awstats/awstats.pl 进行访问了。

3,cronolog (基本不用什么修改)

4,crontab的修改

在 crontab中添加如下 命令保证15分钟更新一次,也可以根据你自己的需要修改更新的间隔

代码:

*/15 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.net

四,安全性考虑

1, 以上的设置由于要cgi支持,也增加了安全隐患可以用awstats 自带的awstats_buildstaticpages.pl来 生成静态页面 可以添加到crontab中

代码:

*/15 * * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=www.abc.net -lang=cn -dir=/db/htdocs/www/awstat/ -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl


这样没15分钟在/db/htdocs/www/awstat/ 下生成各种静态页面

2,保护/db/htdocs/www/awstat/禁止未授权用户访问

在httpd.conf中添加

代码:

<Directory "/db/htdocs/www/awstat/">

AuthType Basic

AuthName "Restricted Files"

AuthUserFile /usr/local/apache2/passwd/passwords

Require user loguser

</Directory>

假如www.abc.net 虚拟主机 主目录为/db/htdocs/www/ 则在浏览器中输入http://www.abc.net/awstat/awstats.www.abc.net.html 就可以通过认真访问静态页面

3,假如用静态页面就不要忘了注释掉

LoadModule cgi_module modules/mod_cgi.so

欢迎大家复制,但请大家保留本文的完整,谢谢!!
返回类别: 教程
上一教程: APACHE2防止盗连接具体配置
下一教程: NAT/PAT?网络地址翻译

您可以阅读与"APACHE 服务器LOG分析应用实例"相关的教程:
· MOD_MP3让APACHE成为流媒体服务器
· WPS应用实例之勾股定理课件制作
· 提升技-Office服务器扩展应用
· Excel函数应用实例:计算员工应缴所得税
· Excel函数应用实例:计算授课天数
    微笑服务 优质保证 索取样品