本人对perl一窍不通,为了awstats,捣鼓了半天,特记录如下
awstats是一个很好用的站点日志统计工具, 本身是用perl实现的, lighttpd也可以使用awstats来进行统计工作
机器上需要perl (废话).版本最好新一点,虽然awstats对版本要求不高,但awstats提供了一些很有用的plugin,这些plugin对perl的module和版本都有一些要求 所以最好先升级到最新的5.x
到这里下载
wget http://mesh.dl.sourceforge.net/sourceforge/awstats/awstats-6.4.tgz
tar -xzvf awstats-6.4.tgz
cd awstats-6.4
lighttpd.conf中, 以下module需要打开(反注释掉即可)
mod_cgi
mod_access
mod_accesslog
添加对cgi的配置, 下面具体perl的目录视环境而定
cgi.assign = ( ".pl" => "/usr/bin/perl",".cgi" => "/usr/bin/perl" )
1 修改awstats.model.conf的名字, 变更model为你自己的一个配置名字,下面提到的配置文件就是这个文件
mv wwwroot/cgi-bin/awstats.model.conf wwwroot/cgi-bin/awstats.myname.conf
2 配置awstat,确保如下修改,
LogFile="/path/to/access.log" #和lighttpd中的accesslog地址一致,也就是实际上的accesslog文件路径
LogType=W
LogFormat=1 #采用apache那样的日志格式
LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" #日志的字段配置
DirIcons="/awstats-support/icon" #这样是避免awstats用到的图片文件和原来的冲突
DirCgi="/cgi-bin-dir" #替换默认的cgi-bin, 不知道为什么,反正我不喜欢cgi-bin这个名字
DirData="/path/to/yourdatadir" #数据文件存放地址,任意
SiteDomain="yourdomain" #改为你自己的域名
3 组装awstats,假定/path/to/yourwebdir是你的web根目录(对应"/")
mv wwwroot/cgi-bin/ /path/to/yourwebdir/cgi-bin-dir #和DirCgi 一致
mkdir /path/to/yourwebdir/awstats-support/ #和DirIcons一致
mv wwwroot/* /path/to/yourwebdir/awstats-support/ #复制资源
这些操作的结果是
此时简单的awstats已经配置好, 重新启动以下lighttpd,然后执行
perl /path/to/yourwebdir/cgi-bin-dir/awstats.pl -update -config=myname
如果没有错误报告,就可以使用http://mydomain/cgi-bin-dir/awstats.pl?config=myname访问了
awstats自带中文化界面,通过
perl /path/to/yourwebdir/cgi-bin-dir/awstats.pl -update -config=myname -lang=cn
可以强制使用中文,当然在配置文件里面也有一行Lang="auto" 可以修改为Lang="cn"
剩下的是搜索引擎中文化, 需要在配置文件里面打开这项LoadPlugin="decodeutfkeys"
,不过打开这项需要perl有两个module: Encode 和 URI::Escape,现在得安装它们了 到[cpan]里面查找, 然后下载到URI 和Encode 安装很简单, 步骤如下
tar -xzvf xxx.tar.gz
cd xxx
perl Makefile.PL
make
make test #保险起见
make install
理论上应该都OK,有错误先check自己的perl版本
感谢chedong提供的一个有中国特色的search_engines.pm, 覆盖cgi-bin-dir/lib下面的同名文件.然后重新使用awstats就OK了
最后在crontab中加上任务即可