Apache 服务器Log分析应用实例

apache|服务器|应用实例

Apache 服务器Log分析应用实例

rhinux 发表于: 2004-11-28 22:11

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

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

一,所用软件及工具

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 –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

产生日志但不包括 图片。

虚拟主机日志设置

代码:
<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

五,献给我最爱的飞飞。

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

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

时间: 2024-10-03 12:32:09

Apache 服务器Log分析应用实例的相关文章

IIS&amp;amp;Apache 攻击记录分析篇_win服务器

在这里,我为大家介绍一下两种常见的网页服务器中最重要的记录文件,分析服务器遭到攻击后,黑客在记录文件中会留下什么记录.目前最常见的网页服务器有两种:Apache和微软的Internet Information Server(简称IIS),这两种服务器都有一般版本和SSL认证版本.本文将使用和现实黑客的攻击手段类似的攻击方法去测试服务器并分析相关文件,有条件的朋友可在自己的机器上测试. IIS的预设记录文件地址在C:\winnt\system32\logfiles\w3svc1目录下,文件名是当天

给web服务器增加其它端口实例[apache+php]

给web服务器增加其它端口实例[apache+php教程] /*  找到你的apache安装目录,找到httpd.conf文件,  搜索#listen这一句,在下面增加 listen 800  listen 801  listen 802  这里是测试,你可以根据你的需要增加不同的监听端口,好了apache web的端口开好了,我们要来配置一下虚拟上当了.    找到  #<virtualhost *:80> #    serveradmin webmaster@dummy-host2.php

Apache服务器主配置文件httpd.conf详解_Linux

# # Apache服务器主配置文件. 包括服务器指令的目录设置. # 详见 <URL:http://www.apache.org/docs/> # # 请在理解用途的基础上阅读各指令. # # 再读取此文档后,服务器将继续搜索运行 # E:/Program Files/Apache Group/Apache/conf/srm.conf # E:/Program Files/Apache Group/Apache/conf/access.conf # 除非用ResourceConfig或Acc

实例学习Apache服务器的安全防护知识

Apache 一直是世界上使用率排名前三的 Web 服务器软件.企业使用其构建 Web 应用,从很大程度上都需要对其安全性进行综合考虑,以保证能够应对拒绝服务攻击.流量窃听.数据泄漏等网络威胁,从而保证企业门户网站的安全.除了使用业界流行的防火墙.IDS/IPS(入侵检测系统 / 入侵防御系统).WAF(Web 应用防火墙).UTM(统一威胁管理)等外部安全设备对 Apache 服务进行安全防护外,作为一种优秀的开源服务器软件,Apache 本身就具有很多优秀的特性可以为服务器管理员提供安全配置

Apache服务器高级设置指南(一)

apache|服务器|高级 目前WWW Server软件有许多,能运行在linux下的也不少,有NCSA HTTPd Server.CERN HTTPd Server.pache.Netscape Fast Track Server.Zeus Server等.这些软件各有特色:NCSA(美国伊利诺斯大学的国家超级计算应用中心)是WWW Browser Mosaic发迹之地,也是Netscape公司的安德森成名的地方:CERN(欧洲原子核研究中心)是WWW的起源地,1989年蒂姆·贝纳斯-李正是在

Linux系统下Apache服务器设置与优化

Apache服务器的设置文件位于/usr/local/apache/conf/目录下,传统上使用三个配置文件httpd.conf,access.conf和srm.conf,来配置Apache服务器的行为. httpd.conf提供了最基本的服务器配置,是对守护程序httpd如何运行的技术描述:srm.conf是服务器的资源映射文件,告诉服务器各种文件的MIME类型,以及如何支持这些文件:access.conf用于配置服务器的访问权限,控制不同用户和计算机的访问限制:这三个配置文件控制着服务器的各

在Linux系统上查看Apache服务器的错误日志_Linux

错误日志和访问日志文件为系统管理员提供了有用的信息,比如,为 Web 服务器排障,保护系统不受各种各样的恶意活动侵犯,或者只是进行各种各样的分析以监控 HTTP 服务器.根据你 Web 服务器配置的不同,其错误/访问日志可能放在你系统中不同位置. 本文可以帮助你找到Linux上的Apache错误日志.Debian,Ubuntu或Linux Mint上的Apache错误日志位置 默认的错误日志 在基于Debian的Linux上,系统范围的Apache错误日志默认位置是/var/log/apache

在Apache服务器上利用Varnish优化移动端访问的方法_Linux

想象一下,你刚刚发布了一篇博文,并分享到了社交网络.然后,这篇文章恰巧被大V看中再次分享了出去,立即吸引了数百粉丝的目光,引导他们涌入了你的网站.看到这么多的访客量,以及它们的评论,你内心激动不已.突然之间,你的网站就挂掉了,满屏的数据连接错误-- 或者假想另一种情境,你一直很努力地创业.突然有一天,一个大V在社交网络表达了对贵公司的喜爱之情,字里行间满满的赞叹.关注这个大V的粉丝心动了,又涌入了你的网站.不幸的是,点击连接后却无法进入你的网站,或者进入后无法注册用户,甚至页面相应超时,无法获取

apache 服务器网站不能访问

最近网站的 apache 服务器,经常运行不到一天的时间就出现网站访问打不开的情况,但 apache 服务器依然启动着,然后只要把 apache 服务器重新启动一下就可以了 我们的环境是 windows 2003 + apache 2.2.8 我在 windows 的事件日志下面看到 The Apache service named  reported the following error: >>> httpd.exe: Could not reliably determine the