本文在CENTOS 6.2 X64下测试通过

1.       老规矩,更换Yum源为163 http://mirrors.163.com/.help/centos.html

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo.backup

wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 

yum makecache

 

2.       安装依赖,并卸载系统自带的webalizer ,自带的版本有问题,分析日志会报Error: Can't open log file….

yum –y install gcc gcc-c++  libjpeg*  libpng* httpd gd zlib*

service httpd restart

yum remove webalizer

ntpdate ntp.api.bz    //修正时间

wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.23-05-src.tgz   //webalizer主程序

3.       编译汉化字体,支持中文输出

 

# tar -zxmf webalizer-2.23-05-src.tgz   解压webalizer

# cd webalizer-2.23-05   进入解压目录

# cd lang          进入语言目录

找到webalizer_lang.simplified_chinese  将文件格式转化为utf-8,可以借助外部工具,修改后放回即可。这里我使用EditPlus 3进行格式转换

# cd ..  返回上级目录

找一个中文字体,传到服务器上,比如windows fonts下面的simhei (黑体,自己找)传到

/usr/share/fonts/chinese/TrueType/simhei.ttf

# vi graphs.c  shift+g,最后面插入

 

void gdImageString(gdImagePtr im, gdFontPtr font, int x, int y, unsigned char *s, int color)

{

gdImageStringFT(im, 0 , color, "/usr/share/fonts/chinese/TrueType/simhei .ttf", 9 , 0.0, x, y+9, s);

}

void gdImageStringUp(gdImagePtr im, gdFontPtr font, int x, int y, unsigned char *s, int color)

{

gdImageStringFT(im, 0 , color, "/usr/share/fonts/chinese/TrueType/simhei.ttf", 9 , -PI/2, x, y-9 , s);

}                       

#这样汉化过程结束,我们开始正式安装webalizer

 

4.       安装webalizer

./configure  --with-language=simplified_chinese

make

cp webalizer /usr/bin/

5.       创建脚本并测试

 

#!/bin/sh

run=/usr/bin/webalizer 

$run -F clf -p -n '' -t 'www.xxx.org' -o /var/www/html/log  /aaa/access.log

 

给脚本赋予执行权限

/var/www/html/log  生成的报告放在该目录下,然后http://ip/log 访问页面

/aaa/access.log  access.log 存放目录

效果图