首页 后端开发 php教程 Apache服务器Log分析应用实例_PHP

Apache服务器Log分析应用实例_PHP

Jun 01, 2016 pm 12:40 PM
代码 分析 实例 应用 服务器

阿帕奇

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






产生日志但不包括 图片。


虚拟主机日志设置


代码:



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日志文件






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


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


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


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


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


代码:



LogFile="/db/logs/www.%YYYY-4-%MM-2-�-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中添加


代码:






AuthType Basic


AuthName "Restricted Files"


AuthUserFile /usr/local/apache2/passwd/passwords


Require user loguser









如果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



欢迎大家复制,但请大家保留本文的完整,谢谢!!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PHP中箭头符号的作用及实践应用 PHP中箭头符号的作用及实践应用 Mar 22, 2024 am 11:30 AM

PHP中箭头符号的作用及实践应用在PHP中,箭头符号(->)通常用于访问对象的属性和方法。对象是PHP中面向对象编程(OOP)的基本概念之一,在实际开发中,箭头符号在操作对象时发挥着重要作用。本文将介绍箭头符号的作用以及实践应用,并提供具体的代码示例来帮助读者更好地理解。一、箭头符号的作用访问对象的属性箭头符号可以用来访问对象的属性。当我们实例化一个对

如何在iPhone中撤消从主屏幕中删除 如何在iPhone中撤消从主屏幕中删除 Apr 17, 2024 pm 07:37 PM

从主屏幕中删除了重要内容并试图将其取回?您可以通过多种方式将应用程序图标放回屏幕。我们已经讨论了您可以遵循的所有方法,并将应用程序图标放回主屏幕如何在iPhone中撤消从主屏幕中删除正如我们之前提到的,有几种方法可以在iPhone上恢复此更改。方法1–替换应用程序库中的应用程序图标您可以直接从应用程序库将应用程序图标放置在主屏幕上。第1步–横向滑动以查找应用程序库中的所有应用程序。步骤2–找到您之前删除的应用程序图标。步骤3–只需将应用程序图标从主库拖动到主屏幕上的正确位置即可。这是将应用程序图

如何将Dnsmasq配置为DHCP中继服务器 如何将Dnsmasq配置为DHCP中继服务器 Mar 21, 2024 am 08:50 AM

DHCP中继的作用是将接收到的DHCP数据包转发到网络上的另一个DHCP服务器,即使这两个服务器位于不同的子网中。通过使用DHCP中继,您可以实现在网络中心部署一个集中式的DHCP服务器,并利用它为所有网络子网/VLAN动态分配IP地址。Dnsmasq是一种常用的DNS和DHCP协议服务器,可以配置为DHCP中继服务器,以帮助管理网络中的动态主机配置。在本文中,我们将向您展示如何将dnsmasq配置为DHCP中继服务器。内容主题:网络拓扑在DHCP中继上配置静态IP地址集中式DHCP服务器上的D

从入门到精通:探索Linux tee命令的各种应用场景 从入门到精通:探索Linux tee命令的各种应用场景 Mar 20, 2024 am 10:00 AM

Linuxtee命令是一个非常有用的命令行工具,它可以在不影响已有输出的情况下,将输出写入文件或者将输出送往另一个命令。在本文中,我们将深入探索Linuxtee命令的各种应用场景,从入门到精通。1.基本用法首先,我们来看一下tee命令的基本用法。tee命令的语法如下:tee[OPTION]...[FILE]...该命令会从标准输入读取数据,并将数据

如何在服务器上安装 PHP FFmpeg 扩展? 如何在服务器上安装 PHP FFmpeg 扩展? Mar 28, 2024 pm 02:39 PM

如何在服务器上安装PHPFFmpeg扩展?在服务器上安装PHPFFmpeg扩展可以帮助我们在PHP项目中处理音视频文件,实现音视频文件的编解码、剪辑、处理等功能。本文将介绍如何在服务器上安装PHPFFmpeg扩展,以及具体的代码示例。首先,我们需要确保服务器上已经安装了PHP以及FFmpeg。如果没有安装FFmpeg,可以按照以下步骤安装FFmpe

创建和运行Linux'.a”文件 创建和运行Linux'.a”文件 Mar 20, 2024 pm 04:46 PM

在Linux操作系统中处理文件需要使用各种命令和技术,使开发人员能够高效地创建和执行文件、代码、程序、脚本和其他东西。在Linux环境中,扩展名为”.a”的文件作为静态库具有重要的重要性。这些库在软件开发中发挥着重要作用,允许开发人员有效地管理和共享多个程序的公共功能。对于Linux环境中的有效软件开发,了解如何创建和运行“.a”文件至关重要。本文将介绍如何全面安装和配置Linux“.a”文件,让我们一起探索Linux“.a”文件的定义、用途、结构,以及创建和执行它的方法。什么是L

清华大学与智谱AI重磅开源 GLM-4:掀起自然语言处理新革命 清华大学与智谱AI重磅开源 GLM-4:掀起自然语言处理新革命 Jun 12, 2024 pm 08:38 PM

自2023年3月14日开始,ChatGLM-6B以来,GLM系列模型受到了广泛的关注和认可。特别是在ChatGLM3-6B开源之后,开发者对智谱AI推出的第四代模型充满了期待。而这一期待,随着GLM-4-9B的发布,终于得到了充分的满足。GLM-4-9B的诞生为了赋予小模型(10B及以下)更加强大的能力,GLM技术团队经过近半年的探索,推出了这一全新的第四代GLM系列开源模型:GLM-4-9B。这一模型在保证精度的同时,大幅度压缩了模型大小,具有更快的推理速度和更高的效率。GLM技术团队的探索没

探索Go语言的优势及应用场景 探索Go语言的优势及应用场景 Mar 27, 2024 pm 03:48 PM

Go语言是一种由Google开发的开源编程语言,于2007年首次发布。它被设计成一种简单易学、高效、并发性强的语言,受到越来越多开发者的青睐。本文将探索Go语言的优势,并介绍一些适合Go语言的应用场景,同时给出具体的代码示例。优势并发性强:Go语言内置支持轻量级线程——goroutine,能够很容易地实现并发编程。通过使用go关键字就可以启动goroutin

See all articles