何为awstats
AWStats 是一个免费的强大而有个性的工具,带来先进的网络,流量,FTP或邮件服务器统计图.。本日志分析器作为CGI或从命令行在数个图形网页中显示你日志中包含的所有可能信息.。它利用一部分档案资料就能经常很快地处理大量日志档案,,它能分析日志文件来自从各大服务器工具 ,如 Apache日志档案 s (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C的日志格式)及许多其他网站,Proxy(代理服务器)、Wap、流量服务器、邮件服务器和一些 FTP服务器 。
安装awstats所需的组件
awstats是一个基于perl语言来执行分析统计操作的,所以必须得安装perl包。幸运的是centos 6中默认就已经安装了。
不过还得安装mod_perl(apache里的perl模块), perl-Encode。
安装mod_perl模块
#安装mod_perl
yum install mod_perl 完成后,默认会在/etc/httpd/conf.d/下生成perl.conf文件,内容为:
#为Apache加载perl模块
LoadModule perl_module modules/mod_perl.so 当系统开启Selinux时,就这样是无法加载mod_perl.so文件的,需要使用chcon命令处理下mod_perl.so文件的身份识别与安全环境类型
cd /etc/httpd/modules
chcon -u system_u -t httpd_modules_t mod_perl.so 可以在modules目录使用
ll -Z 命令查看所有so文件的安全环境等信息,只要把mod_perl.so文件改成和其他模块文件一样就行了。

安装perl_encode模块
这个很简单,直接yum安装即可。
#可以先查询下
yum list | grep perl*
#找到perl encode模块的完整名,我的是perl-Encode-Detect.x86_64
yum install perl-Encode-Detect.x86_64
安装awstats
awstats的安装很简单,把下载的安装文件上传到/usr/local/awstats目录下,大致结构如下图:

在doc目录中,有详细的教程,网页版,pdf版,还是很简单的。这里简单的走一遍流程,配置一个对网站访问情况的案例。
配置有两种方法,一种是使用tools文件夹里的awstats_configure.pl文件,它将以询问的方式,帮我们自动创建配置文件等。
另一种就是手动,代替awstats_configure.pl脚本文件所做的操作,这里我选择手动,可以清楚整个配置过程,对哪些文件做了变动。
Step 1
在apache的配置文件中更改日志记录的格式为combined,如果使用了虚拟主机配置,记得也要修改。
#首先检查/etc/httpd/conf/httpd.conf文件
#确定CustomLog是否为combined
CustomLog logs/access_log combined
#如果虚拟主机配置<Virtual>里使用了CustomLog,则同样要使用combined
<VirtualHost *:80>
ServerAdmin emial@qq.com
DocumentRoot /var/www/html/awstats
ServerName awstats.com
ErrorLog logs/awstats_err.log
CustomLog logs/awstats_access.log combined #注意这里
</VirtualHost>
Step 2
在apache里配置可供访问虚拟主机或者Alias,这里我选择虚拟主机,awstats_configure.pl默认使用的是alias,不过可以手动改掉。
#虚拟主机配置
<VirtualHost *:80>
ServerAdmin email@qq.com
DocumentRoot /var/www/html/awstats
ServerName awstats.com
ErrorLog logs/awstats_err.log
CustomLog logs/awstats_access.log combined
</VirtualHost>
<Directory "/var/www/html/awstats">
Options +ExecCGI #重要!这样pl脚本才能被执行
AllowOverride None
Order allow,deny
Allow from all
#下面四行配置访问权限
AuthType Basic
AuthName "Input username and password"
AuthUserFile /etc/httpd/conf.d/auth.pwd
Require valid-user
</Directory>
#默认的alias配置
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/"
<Directory "/usr/local/awstats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
注意:供浏览器访问的默认目录为/usr/local/awstats/wwwroot,我在虚拟主机里改成了/var/www/html/awstats。
您需要做的就是把/usr/local/awstats/wwwroot目录里的内容复制到/var/www/html/awstats目录下。
当您开启了Selinux,httpd服务是只能读取/var/www/html目录下的文件的,当然除非手动修改其他文件夹文件的上下文安全环境,我这里就直接把wwwroot目录搬到/var/www/html下了,便于统一管理.
Step 3
这是最关键的配置,对多个网站进行分析统计时,需要进行的步骤。
#首先创建目录/etc/awstats(如果已经有了就跳过)
mkdir /etc/awstats
#然后复制awstats.model.conf文件到/etc/awstats下
cp /var/www/html/awstats/cgi-bin/awstats.model.conf /etc/awstats
#更改文件名,重要!awstats根据文件名来区分不同网站的配置
#默认文件名中的model,替换成所配置网站的名称或者别名,这里我使用简单的别名(lijialong),在访问统计页面时需要使用到这个别名!
cd /etc/awstats
mv awstats.model.conf awstats.lijialong.conf 接下来,就要对awstats.lijialong.conf这个文件开始配置了!(详细配置请参考awstats自带的docs,里面很详细)
#分析哪个日志文件,很重要,路径一定要对
LogFile="/var/log/httpd/lijialong.name_access.log"
#分析的日志类型
LogType="W" #web log file
#分析的站点域名,当您把所有网站的access log都放在默认的access_log文件中,awstats将通过这个值来区分不同网站
SiteDomain="www.lijialong.name"
#站点域名的别名,比如二级域名(多个用空格隔开)
HostAliases="lijialong.name a.lijialong.name"
#分析结果文件存放目录,默认为/var/lib/awstats
#这里我改成下面这个路径
DirData="/var/www/html/awstats/data"
DirCgi="/cgi-bin"
DirIcons="/icon"
Step 4
配置文件完成后,就可以开始运行awstats了,运行前,我们需要先手动让awstats分析下log文件,它将自动产生分析结果到data目录中,然后通过浏览器输入地址进行访问。
在运行前,需要确定/var/www/html/awstats/cgi-bin/awstats.pl文件是否具有可执行权限!
手动执行分析
#awstats.pl文件是awstats的核心,所有的分析工作都由它来处理
#这里给出了两个参数:update就是更新的意思;config参数定义了需要分析哪个站点,此值就是前面提到的文件名中替换掉model的那个值
/var/www/html/awstats/cgi-bin/awstats.pl -update -config=lijialong
自动执行分析
#使用系统的crontab,自动运行!
vim /etc/crontab
#内容为(每半小时执行一次):
*/30 * * * * root /var/www/html/awstats/cgi-bin/awstats.pl -update -config=lijialong
访问分析结果页面
通过浏览器访问:http://******/cgi-bin/awstats.pl?config=lijialong&lang=cn
就能看到页面了!config参数指定了需要看哪个网站的统计,lang参数指定了页面显示的语言。
修改awstats.pl文件,让页面默认中文显示
vim /var/www/html/awstats/cgi-bin/awstats.pl
#大约在17244行,也可以搜索字符串 $Lang = 'en'
#把en改为cn
$Lang = 'cn'; 这样直接通过http://******/cgi-bin/awstats.pl?config=lijialong链接就能看到中文页面了!
AWStats安装与配置
本文详细介绍如何安装和配置AWStats工具,实现网站访问流量的统计分析。包括所需组件的安装、配置文件的调整以及定时任务的设置等。

1129

被折叠的 条评论
为什么被折叠?



