Chinaunix首页 | 论坛 | 博客
  • 博客访问: 165238
  • 博文数量: 16
  • 博客积分: 1483
  • 博客等级: 上尉
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-30 15:54
文章分类

全部博文(16)

文章存档

2008年(3)

2007年(4)

2006年(9)

我的朋友
最近访客

分类: LINUX

2006-05-30 15:54:28

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

欢迎大家复制,但请大家保留本文的完整,谢谢!!

一,所用软件及工具

1,Apache服务器 官方网址:
2,awstats 日志分析软件 官方网址:
3,cronolog 日志截取软件 官方网址:

二,环境构架

1,RedHat AS 3

2,Apache
./configure –prefix=/usr/local/apache2/ --enable-so
make
make install

3, awstats
直接tar到 /usr/local/awstats

4,cronolog
./configure –prefix=/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

产生日志但不包括图片。
虚拟主机日志设置


        ServerAdmin webmaster@abc.net
        DocumentRoot /db/htdocs/www
        ServerName
        CustomLog "|/usr/local/cronolog/sbin/cronolog /db/logs/www.%Y-%m-%d.log" combined env=!gif-image
#用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件

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

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.
#

    Options None
    AllowOverride None
    Order allow,deny
    Allow from all


该配置在运行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


配置需要认证的目录:


   AuthType Basic
  AuthName "Restricted Files"
  AuthUserFile /usr/local/apache2/passwd/passwords
  Require user loguser
 


其中在 /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
主要设置的是需要输入做统计的主机名的配置文件名如:
接着修改 刚才配置是产生的awstats配置文件 默认位置在:
/etc/awstats/awstats..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=


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

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

4,crontab的修改

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

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


四,安全性考虑

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

*/15 * * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config= -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中添加


  AuthType Basic
AuthName "Restricted Files"
  AuthUserFile /usr/local/apache2/passwd/passwords
   Require user loguser
 


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

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

LoadModule cgi_module modules/mod_cgi.so

五,xxxxxxxxxxxxx。

六,由于本人是初学者,本文略显粗糙,如有任何指点和问题欢迎和我联系,大家相互交流提高  qq群:9024486

欢迎大家复制,但请大家保留本文的完整,谢谢!!
阅读(2160) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:利用rsync和ssh备份实例

给主人留下些什么吧!~~