工作环境:
操作系统:RedHat 4.8
软件版本:apache是系统自带的(你的服务器上只有一个http服务器),awstats版本是6.5。
我先模拟服务器上只有一个系统自带的http服务器的情况:
将awstats上传到你的linux服务器的/root目录下
mkdir /usr/local/awstats 安装目录
mkdir /var/lib/awstats 存放数据目录
chmod 755 /usr/local/awstats
mv /root/awstats-6.5.tar.gz /usr/local/awstats
tar zxvf awstats-6.5.tar.gz
mv /usr/local/awstats/awstats-6.5/* .
rm -rf awstats-6.5 目录中的文件我已移动到上层目录,所有空目录直接删除
cd tools/
这里输入none回车
这里输入y回车
这里输入一个域名,例如我们输入www.test.com回车
这里会问保存文件的路径,我们直接回车,默认保存在/etc/awstats下面
上述两处直接提示按回车即可!
vi /etc/awstats/awstats.www.test.com.conf
将51行修改为如下内容
LogFile="/var/log/httpd/access_log"
将203行修改为如下内容
DirData="/var/lib/awstats" 一般默认不用修改
将212行修改为如下内容
DirCgi="/awstats"
将51行修改为如下内容
DirIcons="/awstatsicons"
保存
生产数据文件
修改/etc/httpd/conf/httpd.conf文件,增加如下内容:
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/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
Options None
AllowOverride None
Order allow,deny
Allow from all
重启httpd服务
/etc/init.d/httpd restart
浏览器输入http://IP/awstats/awstats.pl?config=www.test.com测试
上图看到的访问是0,再次生成数据文件,看看访问量是否还为0?
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.test.com
如果需要每5分钟分析一次日志,可以把上述语句写入crontab里面
*/5 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.test.com > /dev/null 2>&1
还有打开网页上的立即更新按钮,可以将/etc/awstats/awstats.www.test.com.conf文件的
AllowToUpdateStatsFromBrowser=0将0修改为1,然后刷新一下网页可以看到多了一个立即更新按钮
点击这个按钮会提示如下错误,问题暂时未能解决,无论怎么给权限依然报错。
Error: Couldn't open server log file "/var/log/httpd/access_log" : Permission denied
Setup ('/etc/awstats/awstats.www.test.com.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).
下面我开始演示第二个场景,就是系统上有自带的apache,但是又有一个我们自己编译的apache,目录在/usr/local/apache2,分析这个apache的日志看看呢?前面步骤还是一样,主要是从生成/etc/awstats目录下文件那开始。
和上述只有一个系统自带的apache不一样了,这里我们输入y,它会把我们上面手动在httpd.conf文件里面的内容增加到/usr/local/apache2/conf/httpd.conf里面。
还是和上面一样,域名www.test.com,文件还保存在/etc/awstats目录下,但是它还会重启系统自带的apache,这让我有点不是很理解。
验证是否如我所说真的在httpd.conf文件里面增加内容了?
答案是肯定的,后面修改配置文件,主要修改日志文件的位置,别的它都自动帮你修改好了。最后更新数据文件,我这里就不做操作了。
搭建使用最后总结:
1、打开立即更新按钮,权限都给到,依然报错。可以不用理会,我们直接点击OK那个按钮也一样。
2、假如系统上只有自带的apache,它的awstats安装方法和系统上既有自带的apache,又有编译的apache,安装稍微有点不一样。
3、如果一台机器上既有系统自带的apache,还有编译安装的apache,按照我目前的经验没办法分析两个apache的日志,你只能分析一个自己编译安装的。
4、因为我的web服务器是apache+resin,当更新文件的时候报日志格式不正确,经过修改配置文件的日志格式,将CustomLog "logs/access_log" common的common修改为combined即可!并将以前的日志保存,重启apache服务才能更新文件。