IT改变人生 2011-04-18
1. 下载地址
http://sourceforge.net/projects/awstats/
http://voxel.dl.sourceforge.net/sourceforge/awstats/awstats-6.4-1.noarch.rpm
2.安装
2.1rpm安装
[root@webtools]#rpm-ivhawstats-6.4-1.noarch.rpm
Preparing...###########################################[100%]
1:awstats###########################################[100%]
-----AWStats6.4-LaurentDestailleur-----
AWStatsfileshavebeeninstalledin/usr/local/awstats
Iffirstinstall,followinstructionsindocumentation
(/usr/local/awstats/docs/index.html)tosetupAWStatsin3steps:
Step1:InstallandSetupwithawstats_configure.pl(ormanually)
Step2:Build/UpdateStatisticswithawstats.pl
Step3:ReadStatistics
2.2tar包安装
直接解压就行了,因为awstats是由perl编写的。其实都一样。
3.运行配置脚本生成awstats的配置文件
cd/usr/local/awstats/tools
perlawstats_configure.pl
配置脚本询问域名等问题,假设回答的域名为www.abcd.com
3.1生成的配置文件会放在/etc/awstats/下面
3.2生成的配置文件的名称为awstats.www.adcd.com.conf
3.3配置脚本只能修改主要的log日志为combined,如果设置了虚拟主机,需要分别修改虚拟主机中的日志配置。
格式设置LogFormat"%h%l%u%t\"%r\"%>s%b\"%{Referer}i\"\"%{User-Agent}i\""combined
自定义的日志采用什么格式CustomLoglogs/testmysite-access_logcombined
创建日志TransferLoglogs/testmysite-access_log
4.编辑awstats.www.abcd.com.conf,保证awstats的正常运行
4.1设置webserver的logfile位置
编辑LogFile为webserver的log文件位置
LogFile=/usr/local/apache2/logs/abcd-access_log
一定保证和httpd.conf中的log文件保证一致,httpd.conf中log名称为
logs/abcd-access_log
4.2设置要分析的服务日志类型
LogType=W
w表示为WEB日志
4.3设置日志格式
LogFormat=1
1表示采用NCSAapachecombined/ELF/XLFlogformat
4.4设置所要分析网站域名
SiteDomain="www.testmysite.com.cn"
引号中一定要填上域名,或者服务器主机名
4.5设置awstats的数据库存放目录
DirData="/usr/local/awstats/data"
5.创建awstats初始化数据库
perlawstats.pl-config=www.abcd.com-update
6.创建awstats的初始化静态统计页面
perlawstats.pl-config=bbs.testmysite.com.cn-output-staticlinks>awstats.bbs.html
7.通过浏览器刷新统计页面
7.1修改awstats.www.testmysite.com.cn.conf中
AllowToUpdateStatsFromBrowser=1
7.2修改awstats的存放数据目录的属性为apache的运行用户可读写
chown-Rnobody/usr/local/awstats/data
7.3检查/usr/local/awstats/wwwroot/cgi-bin/*.pl是否有执行权限
chmod+x/usr/local/awstats/wwwroot/cgi-bin/*.pl
注:rpm安装包里面的*.pl都具有执行权限,tar包里面的*.pl却没有。
8.设置需要认证才能访问流量统计页面
8.1设置用户admin有权访问该页面
cd/usr/local/apache2/bin
./htpasswd-c/usr/local/apache2/passwordsadmin
按提示连续输入两次密码,这样就创建了admin用户才能访问流量统计页面。
8.2设置httpd.conf中的awstats条目增加如下内容
AuthTypeBasic
AuthName"RestrictedFiles"
AuthUserFile/usr/local/apache2/passwords
Requireuseradmin
9.两种观看日志分析方法的比较
9.1静态页面分析方法的优点
a.安全性高,因为分析过程可以在后台通过crontab来执行,不需要执行cgi.
b.统计分析页面响应速度快,因为是自动生成的静态页面,所以速度快过动态生成的页面。
c.对服务器的负载影响可控,自动生成的脚本执行次数一定,对服务器的负载影响也是一定的。
9.2动态页面分析方法的优点
a.实时查看,可以随时在页面动态刷新统计分析结果。
9.3上面两种方法的缺点就是他们优点的反面。
10.awstats在apache虚拟主机下的配置
10.1虚拟主机有3个
www.testmysite.com.cn
bbs.testmysite.com.cn
diy.testmysite.com.cn
10.2生成并修改对应虚拟主机的配置文件
cd/etc/awstats
cpawstats.www.testmysite.com.cn.confawstats.bbs.testmysite.com.cn.conf
cpawstats.www.testmysite.com.cn.confawstats.diy.testmysite.com.cn.conf
10.3修改配置文件中的下列各项
LogFile=/usr/local/apache2/logs/bbs-accesss_log
修改为实际的虚拟主机的log文件位置
SiteDomain="bbs.testmysite.com.cn"
修改为实际各虚拟主机的域名
10.4修改httpd.conf各虚拟主机中的配置
<VirtualHost202.108.59.23>
。。。。。。
CustomLoglogs/testmysite-access_logcombined
TransferLoglogs/testmysite-access_log
。。。。。。
</VirtualHost>
主要是修改日志格式保证apache输出的日志格式和awstats配置文件中配置一致。
12.观看流量统计方法
12.1用户名&密码
admin/testmysiteok
12.2在浏览器输入
查看主页流量分析
http://www.testmysite.com.cn/awstats/awstats.pl?config=www.testmysite.com.cn
查看bbs流量分析
http://www.testmysite.com.cn/awstats/awstats.pl?config=bbs.testmysite.com.cn
查看diy流量分析
http://www.testmysite.com.cn/awstats/awstats.pl?config=diy.testmysite.com.cn
为了便于使用可以将以上连接加入收藏夹。问题:awstats and selinux
I have been futzing with this problem all day. I installed "awstats" to
startgettingbetterstatsonmywebserverusage.Itworkedlikea
charmonmytestboxbutfailedonmyproductionbox.Afterlookingtoo
longinthewrongplacesIfinallyfoundtheproblem.Itisselinux.
Symptomswere,whenIattemptedtolookattheawstatspage,whichisa
perlscript,IgotthefollowinginmyApacheerror_log:
...(13)Permissiondenied:execof
'/usr/local/awstats/wwwroot/cgi-bin/awstats.pl'failed
...Prematureendofscriptheaders:awstats.pl
Icheckedallofthepermissionsofeverythingandeverythingwasright.
FinallyIfoundapostthatmentionedlookingforerrors
in/var/log/messages.IlookthereforotherthingsIdon'tknowInever
thoughttolookthereforthis.Anyway,whenIlookedthereIsaw:
...kernel:audit(1146243585.213:27):avc:denied{execute}for
pid=20973comm="httpd"name="awstats.pl"dev=dm-0ino=1082675
scontext=root:system_r:httpd_ttcontext=system_u:object_r:usr_t
tclass=file
Iturnedoffselinuxwiththe"setenforce0"commandanditstarted
working.
Now,theproblemhereisthatIreallydonotwanttorunmyproduction
serverwithoutselinuxturnedonandwasnotabletofigureouthowto
correcttheconflict.Anybodythatcouldofferapointerintheright
direction will be my new best friend :)配置都没有问题了。只有只读属性我想是linux中的selinux引起的,你关掉试试好了。 关闭SELinux的方法: 修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。 如果不想重启系统,使用命令setenforce 0 注: setenforce 1 设置SELinux 成为enforcing模式 setenforce 0 设置SELinux 成为permissive模式 在lilo或者grub的启动参数中增加:selinux=0,也可以关闭selinux 。