awstat实现网站访问信息统计
(2006-07-17 15:13)
分类: web
说明此文章,可以自由转载,请注明此文章来自www.chinaunix.net
ghb in 2006/07/15
#########################################################
ghb in 2006/07/15
#########################################################
需求:查看网站访问量,来源IP所在地,由哪些搜索引擎进入本网站.
目的:通过以上信息可以及时撑握网站的推广和应用状态
##########################系统环境######################
系统redhat AS 4.2
软件包:
awstats6.5 wget http://awstats.sourceforge.net/files/awstats-6.5.tar.gz
目的:通过以上信息可以及时撑握网站的推广和应用状态
##########################系统环境######################
系统redhat AS 4.2
软件包:
awstats6.5 wget http://awstats.sourceforge.net/files/awstats-6.5.tar.gz
cronolog-1.6.2.tar.gz http://cronolog.org/download/index.html
GeoIP-1.3.8.tar.gz http://www.maxmind.com/download/geoip/api/c/
Geo-IP-1.27.tar.gz http://www.maxmind.com/download/geoip/api/perl/
Geo-IPfree-0.2.tar.gz http://search.cpan.org/~gmpassos/Geo-IPfree-0.2/
###############################软件介绍#############################
awstats1.65
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.参观者:按来访者不重复的IP统计,一个IP代表一个参观者.
2.参观次数:一个参观者可能1天之内参观多次(比如:上午一次,下午一次),所以按一定时间内(比如:1个小时) ,不重复的IP数统计,参观者的访问次数.
3.网页数:不包括图片,CSS, JavaScript文件等的纯页面访问总数,但如果一个页面使用了多个帧,每个帧都算一个页面请求.
4.文件数:来自浏览器客户端的文件请求总数,包括图片,CSS,JavaScript等,用户请求一个页面是,如果页面中包含 图片等,所以对服务器会发出多次文件请求,文件数一般远远大于文件数.
5.字节:传给客户端的数据总流量.
1.参观者:按来访者不重复的IP统计,一个IP代表一个参观者.
2.参观次数:一个参观者可能1天之内参观多次(比如:上午一次,下午一次),所以按一定时间内(比如:1个小时) ,不重复的IP数统计,参观者的访问次数.
3.网页数:不包括图片,CSS, JavaScript文件等的纯页面访问总数,但如果一个页面使用了多个帧,每个帧都算一个页面请求.
4.文件数:来自浏览器客户端的文件请求总数,包括图片,CSS,JavaScript等,用户请求一个页面是,如果页面中包含 图片等,所以对服务器会发出多次文件请求,文件数一般远远大于文件数.
5.字节:传给客户端的数据总流量.
cronolog-1.6.2.tar.gz
使用cronolog可以使apache日志按时间分割,易于管理和分析。(例如:access_log.20041226)
GeoIP-1.3.8.tar Geo-IP-1.27.tar Geo-IPfree-0.2.tar
IP地理信息的插件安装
GeoIP和Geo::IPfree都免费的是国家/IP的影射表,比通过DNS反相解析域名得到的统计准确,而且速度快。GeoIP的API都是免费的,缺省库是免费的,收费的是它的数据更新服务。Geo::IPfree不仅代码是公开的,而且库数据也是公开的,因此,以自己定制.
IP地理信息的插件安装
GeoIP和Geo::IPfree都免费的是国家/IP的影射表,比通过DNS反相解析域名得到的统计准确,而且速度快。GeoIP的API都是免费的,缺省库是免费的,收费的是它的数据更新服务。Geo::IPfree不仅代码是公开的,而且库数据也是公开的,因此,以自己定制.
XWhois
可以进行IP反解析的插件
可以进行IP反解析的插件
安装顺序
1.cronolog-1.6.2.tar.gz
2.GeoIP-1.3.8.tar.gz
3.Geo-IP-1.27.tar.gz
4.Geo-IPfree-0.2.tar.gz
5.XWhois
6.awstats6.5
1.cronolog-1.6.2.tar.gz
2.GeoIP-1.3.8.tar.gz
3.Geo-IP-1.27.tar.gz
4.Geo-IPfree-0.2.tar.gz
5.XWhois
6.awstats6.5
#####################################开始安装配置###############################
1.cronolog-1.6.2.tar.gz
1.cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install
安装完成以后需要对apache进行适当配置,修改httpd.conf文件
cd cronolog-1.6.2
./configure
make && make install
安装完成以后需要对apache进行适当配置,修改httpd.conf文件
vi /usr/local/apache2/conf/http.conf (rpm安装的apache vi /etc/httpd/conf/http.conf)
修改此项设置
CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combined
CustomLog "|/usr/local/sbin/cronolog /opt/apache/logs/access_log.%Y%m%d" combined
如果使用了虚拟主机
NameVirtualHost 1.1.1.1:80
<VirtualHost 1.1.1.1:80>
ServerAdmin wdxcdell@163.com
DocumentRoot /site
ServerName 1.1.1.1
ErrorLog logs/1.1.1.1-error_log
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/1.1.1.1-access_log.%Y%m%d" combined
</VirtualHost>
NameVirtualHost 1.1.1.1:80
<VirtualHost 1.1.1.1:80>
ServerAdmin wdxcdell@163.com
DocumentRoot /site
ServerName 1.1.1.1
ErrorLog logs/1.1.1.1-error_log
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache2/logs/1.1.1.1-access_log.%Y%m%d" combined
</VirtualHost>
配置后的效果
ls /usr/loca/apache/logs/
1.1.1.1-access_log.20060715 1.1.1.1-error_log
ls /usr/loca/apache/logs/
1.1.1.1-access_log.20060715 1.1.1.1-error_log
2.GeoIP-1.3.8.tar.gz
tar zxvf GeoIP-1.3.8.tar.gz
cd GeoIP-1.3.8
./configure
make && make install
tar zxvf GeoIP-1.3.8.tar.gz
cd GeoIP-1.3.8
./configure
make && make install
3. Geo-IP-1.27.tar.gz
tar zxvf Geo-IP-1.27.tar.gz
cd Geo-IP-1.27
perl MakeFile.PL
make && make install
(提示:如果此包译出错也可以不用会理会,能成功最好了,^_^,其实Geo-IPfree 安装成功也可以)
4.Geo-IPfree-0.2.tar.gz
tar xvzf Geo-IPfree-0.2.tar.gz
cd Geo-IPfree-0.2
perl MakeFile.PL
make && make install
5.XWhois
tar -xzvf Net-XWhois-0.90.tar.gz
cd Net-XWhois-0.90
chmod +x Makefile.PL
perl MakeFile.PL
make && make install
6.awstats6.5
tar zxvf Geo-IP-1.27.tar.gz
cd Geo-IP-1.27
perl MakeFile.PL
make && make install
(提示:如果此包译出错也可以不用会理会,能成功最好了,^_^,其实Geo-IPfree 安装成功也可以)
4.Geo-IPfree-0.2.tar.gz
tar xvzf Geo-IPfree-0.2.tar.gz
cd Geo-IPfree-0.2
perl MakeFile.PL
make && make install
5.XWhois
tar -xzvf Net-XWhois-0.90.tar.gz
cd Net-XWhois-0.90
chmod +x Makefile.PL
perl MakeFile.PL
make && make install
6.awstats6.5
tar -xzvf awstats-6.5.tgz
cd awstats-6.5/wwwroot/
#将AWStats的cgi目录下的所有文件放到你Apache的cgi目录
cp -r cgi-bin/ /usr/loca/apache/cgi-bin/awstats 根据自己apache 安装目录而定,请自行修改。
如是rpm安装的apache cp -r cgi-bin/ /var/www/cgi-bin/awstats
如是rpm安装的apache cp -r cgi-bin/ /var/www/cgi-bin/awstats
#将其他几个目录复制到你Apache的发布目录
cp -r classes/ css/ icon/ js/ /var/www/html
#设置配置文件
cd /var/www/cgi-bin/awstats (进入你刚才的目录)
cp awstats.model.conf common.conf (将默认配置文件更名,供其他配置文件使用)
cp awstats.model.conf common.conf (将默认配置文件更名,供其他配置文件使用)
vi common.conf(去掉下面几行前面的#)
LoadPlugin="decodeutfkeys"
LoadPlugin="geoip GEOIP_STANDARD"(注意如是前面Geo-IP-1.27.tar.gz安装失败,此注释掉此行,并去掉此行注释LoadPlugin="geoipfree"。)
LoadPlugin="hostinfo"
LoadPlugin="geoip GEOIP_STANDARD"(注意如是前面Geo-IP-1.27.tar.gz安装失败,此注释掉此行,并去掉此行注释LoadPlugin="geoipfree"。)
LoadPlugin="hostinfo"
mkdir data(建立一个用于输出分析结果的文件夹)
chmod -R 777 data
vi awstats.aaa.com.conf(建立配置文件)
Include "common.conf"
#apache 日志文件路径
LogFile="/usr/local/apache/logs/1.1.1.1-access_log.%YYYY-24%MM-24%DD-24"(注意自己的时间可能修改为%YYYY-24%MM-24%DD)
SiteDomain="www.aaa.com"
HostAliases="aaa.com"
DefaultFile="index.html"
DirData="/var/www/cgi-bin/awstats/data/"
chmod -R 777 data
vi awstats.aaa.com.conf(建立配置文件)
Include "common.conf"
#apache 日志文件路径
LogFile="/usr/local/apache/logs/1.1.1.1-access_log.%YYYY-24%MM-24%DD-24"(注意自己的时间可能修改为%YYYY-24%MM-24%DD)
SiteDomain="www.aaa.com"
HostAliases="aaa.com"
DefaultFile="index.html"
DirData="/var/www/cgi-bin/awstats/data/"
修改Apache的httpd.conf
在httpd.conf中增加
ScriptAlias /awstats/ "/var/www/cgi-bin/awstats/"
运行命令
./awstats.pl -update -config=aaa.com
./awstats.pl -update -config=aaa.com
打开浏览器查看应该可以看到图形了,恭喜你。。。。。
http://1.1.1.1/awstats/awstats.pl?config=aaa.com
http://1.1.1.1/awstats/awstats.pl?config=aaa.com
创建crontab
crontab -e
00 12 * * * /var/www/cgi-bin/awstats/awstats.pl -update -config=aaa.com
crontab -e
00 12 * * * /var/www/cgi-bin/awstats/awstats.pl -update -config=aaa.com
如果不愿意给别人看到此页面,可以设置访问控制。
这个需要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 "passwd"
AuthUserFile /etc/httpd/passwd
Require user test
</Directory>
AuthType Basic
AuthName "passwd"
AuthUserFile /etc/httpd/passwd
Require user test
</Directory>
运行如下代码产生用户名为test用户及其密码
/etc/httpd/bin/htpasswd -c /etc/httpd/passwd test
好了,你现在重新启动一下你的apache,然后通过浏览器访问,服务器应该提示你输入用户名和密码,输入密码后,你就可以看到你的日志分析结果了。
此文章的总结借鉴了网上很多文章,感谢你们,特些总结一下,希望可以帮助到兄弟们。。。。


