awstats 是很强大的 apache 日志分析工具,相比网站统计代码更加精确。而且日志分析工具不需要在网页上镶嵌代码,也不会影响到网页打开的速度。因此有兴趣的还是可以装个看看。
awstats 的官方网站: http://www.awstats.org/
awstats 最新版的下载地址: http://prdownloads.sourceforge.net/awstats/awstats-7.4.tar.gz
因为 awstats 的安装需要 perl ,所以如更没有安装 perl 的可以先装下:
yum -y install perl
下面开始安装:
- 解压
- 把文件移动到 /usr/local/awstats 下
- 赋予 pl 文件执行权限
- 开始运行 awstats_configure.pl 安装
tar xf awstats-7.4.tar.gz mv awstats-7.4 /usr/local/awstats cd /usr/local/awstats chmod +x /usr/local/awstats/tools/*.pl chmod +x wwwroot/cgi-bin/*.pl tools/awstats_configure.pl
安装完打开配置文件做几个简单的配置:( domain.com 就是安装的时候要你填入的分析网站的域名)
vim /etc/awstats/awstats.www.domain.com.conf
# 需要修改一下 LogFile ,即你日志文件的位置 LogFile="/home/wwwlogs"
# 日志格式,这个一定要跟要分析的日志格式匹配,不然可能分析不出来数据或者分析出来的数据不正确 LogFormat=1
# 指定日志的分割符 LogSeparator=" "
# 要分析的网站域名 SiteDomain="www.domain.com"
# 分析完的数据文件存在的位置 DirData="/opt/awstats"
如果 apache 的日志格式是 common ,那还要改成 combined 。我用 lnmp 的一键安装包就碰到这个问题。。
找到虚拟主机的配置文件。一般是 apache 配置文件下的 vhost
找到
CustomLog logs/access_log common
改成
CustomLog log/access_log combined
使用下面的命令成生 Awstats 数据,以提供 WEB 访问。 (config 后面改成自己的域名)
# /usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=www.domain.com -update
如果需要每天自动执行以上的命令,可以加入 crontab
# crontab -e
00 04 * * * /usr/bin/perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=www.domain.com -update &>/dev/null
访问
http://www.domain.com/awstats/awstats.pl?config=www.domain.com
如果使用的 apache 提供 WEB, 那么在安装的时候,有一步是让你选择你的 Apache 配置文件位置的, Awstats 会自动把相关配置添加到 apache 的配置文件中去
如果没有指定,则手动添加以下,或者自己添加一个虚拟主机
vim /etc/httpd/conf/httpd.conf
# 添加以下配置 Alias /awstatsclasses "/var/www/html/awstats/wwwroot/classes/" Alias /awstatscss "/var/www/html/awstats/wwwroot/css/" Alias /awstatsicons "/var/www/html/awstats/wwwroot/icon/" ScriptAlias /awstats/ "/var/www/html/awstats/wwwroot/cgi-bin/" # # This is to permit URL access to scripts/files in AWStats directory. # <Directory "/var/www/html/awstats/wwwroot"> Options None AllowOverride None Order allow,deny Allow from all </Directory>
# service httpd reload
# 重新加载 apache 的配置文件
如果需要对 Awstats 做用户登陆控制,可以使用 Apache 的 Basic 认证模式
htpasswd -cm /etc/awstats/.htpasswd 91yun
如果提示 htpasswd 命令没找到,那就用
find / -name htpasswd -type f
找到真实路径,用绝对路径执行这个命令。
输入两次密码即可
vim /etc/httpd/conf/httpd.conf
// 在 apache 的配置文件里添加以下 <Files "awstats.pl"> AuthName "hi , 91yun" AuthType Basic AuthUserFile /etc/awstats/htpasswd Require user 91yun </Files>
service httpd reload
// 重新加载 apache 的配置文件