Blog信息 |
blog名称: 日志总数:1304 评论数量:2242 留言数量:5 访问次数:7592311 建立时间:2006年5月29日 |

| |
[网站架构]使用AWStats分析Apache服务器日志实例 软件技术
lhwork 发表于 2006/12/27 15:20:59 |
一.Awstats介绍:
AWStats是一个专门用来分析Web站台记录档(log)的GPL授权软体,目前也已开始支援分析FTP站台及邮件伺服器的记录档,在Web伺
服器软体的部分可以分析IIS的(W3C log format)记录档、Apache的(NCSA combined/XLF/ELF log
format or common/CLF log
format)记录档,以及其他大部分的web,proxy,wap,streaming伺服器所产生的纪录档。
二.安装步骤:
1.由于AWStats需要有cgi的支持,如果你的服务器不支持cgi,可以使用下面方法添加:
./apxs -c -i /usr/local/src/httpd-2.0.4/modules/generators/mod_cgi.c
再在httpd.conf 中添加
LoadModule cgi_module modules/mod_cgi.so
2.使用cronolog工具按天切割日志:
先到http://cronolog.org/download/index.html下载软件。
[root@trotter opt]# tar -xzvf cronolog-1.6.2.tar.gz[root@trotter opt]# cd cronolog-1.6.2[root@trotter cronolog-1.6.2]# ./configure[root@trotter cronolog-1.6.2]# make[root@trotter cronolog-1.6.2]# make install
修改apache配置文件
CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/gbunix.com-access_log.%Y%m%d" combined
3.安装AWStats常用的几个插件:
GeoIP安装:(该模块安装后,AWStats可以正常显示“国家或地区”)[root@trotter opt]# wget http://www.maxmind.com/download/geoip/api/c/GeoIP-1.3.8.tar.gz[root@trotter opt]# wget http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.26.tar.gz[root@trotter opt]# tar -xzvf GeoIP-1.3.8.tar.gz[root@trotter opt]# tar -xzvf Geo-IP-1.26.tar.gz[root@trotter opt]# cd GeoIP-1.3.8[root@trotter GeoIP-1.3.8]# ./configure[root@trotter GeoIP-1.3.8]# make[root@trotter GeoIP-1.3.8]# make install[root@trotter GeoIP-1.3.8]# cd ../Geo-IP-1.26[root@trotter Geo-IP-1.26]# chmod +x Makefile.PL[root@trotter Geo-IP-1.26]# perl Makefile.PL[root@trotter Geo-IP-1.26]# make[root@trotter Geo-IP-1.26]# make install
XWhois安装:(该模块安装后,就可以进行IP反解析)[root@trotter opt]# wget http://search.cpan.org/CPAN/authors/id/V/VI/VIPUL/Net-XWhois-0.90.tar.gz[root@trotter opt]# tar -xzvf Net-XWhois-0.90.tar.gz[root@trotter opt]# cd Net-XWhois-0.90[root@trotter Net-XWhois-0.90]# chmod +x Makefile.PL[root@trotter Net-XWhois-0.90]# perl Makefile.PL[root@trotter Net-XWhois-0.90]# make[root@trotter Net-XWhois-0.90]# make install
4.到http://sourceforge.net/projects/awstats/下载最新的包。
#解压包[root@trotter opt]# tar -xzvf awstats-6.4.tgz [root@trotter opt]# cd awstats-6.4/wwwroot/
#将AWStats的cgi目录下的所有文件部署到你Apache的cgi目录[root@trotter wwwroot]# cp -r cgi-bin/ /path/to/apache/cgi-bin/awstats
#将其他几个目录部署到你Apache的发布目录[root@trotter wwwroot]# cp -r classes/ css/ icon/ js/ /path/to/apache/htdocs/
#设定配置文件[root@trotter wwwroot]# cd /path/to/apache/cgi-bin/awstats (进入你刚才发布的目录)[root@trotter awstats]# mv awstats.model.conf common.conf (将默认配置文件更名,供其他配置文件使用)[root@trotter awstats]# vi common.conf(去掉下面几行前面的#)
LoadPlugin="decodeutfkeys"LoadPlugin="geoip GEOIP_STANDARD"LoadPlugin="hostinfo"
[root@trotter awstats]# mkdir data(建立一个用于输出分析结果的文件夹)[root@trotter awstats]# chmod -R 777 data[root@trotter awstats]# vi awstats.gbunix.com.conf(建立配置文件)
Include "common.conf"LogFile="/opt/apache/logs/gbunix.com-access_log.%YYYY-24%MM-24%DD-24"SiteDomain="www.gbunix.com"HostAliases="gbunix.com"DefaultFile="index.html"DirData="/var/www/cgi-bin/awstats/data/"
5.修改Apache的httpd.conf
在httpd.conf中增加
ScriptAlias /awstats/ "/usr/local/apache/cgi-bin/awstats/"
6.运行命令并查看分析结果:
[root@trotter awstats]# ./awstats.pl -update -config=gbunix.com
通过浏览器查看分析结果,(http://www.domain.com/awstats/awstats.pl?config=gbunix.com) 如果没有什么意外,你就应该看到你的网站先一天的日志分析情况。
7.在corntab里添加任务,定义每天晚上1:30分自动进行先一天的日志分析:
[root@trotter awstats]# vi /var/spool/cron/root (添加下面一行)
30 1 * * * /var/www/cgi-bin/awstats/awstats.pl -update -config=gbunix.com
[root@trotter awstats]# /etc/init.d/crond restart
8.你的日志分析结果不愿意给别人看到吗?给访问加个锁。
这个需要Apache mod_auth模块的支持,先给Apache安装mod_auth模块:
./apxs -c -i /usr/local/src/httpd-2.0.4/..../mod_auth.c
再在httpd.conf 中添加
LoadModule auth_module modules/mod_auth.so
配置需要认证的目录:
<Directory "/var/www/cgi-bin/awstats/"> AuthType Basic AuthName "Restricted Files" AuthUserFile /etc/httpd/passwords Require user trotter </Directory>
运行如下代码产生用户名为trotter用户及其密码
/etc/httpd/bin/htpasswd -c /usr/local/apache2/passwd/passwords trotter
9.好了,你现在重新启动一下你的apache,然后通过浏览器访问,服务器应该提示你输入用户名和密码,输入密码后,你就可以看到你的日志分析结果了。 |
|
|