首先准备基本软件:
perl:http://www.activestate.com/activeperl/downloads
本人使用的:ActivePerl-5.16.3.1603-MSWin32-x86-296746.msi
awstats:http://sourceforge.net/projects/awstats/
本人使用的:awstats-7.0.exe
cronolog:http://cronolog.org/download/index.html
本人使用的:cronolog-1.6.1-win32.zip
jawstats http://www.jawstats.com/downloadhttp://www.jawstats.com/add-ons
本人使用的:jawstats-0.7beta.zip+中文语言包http://www.jawstats.com/src/languagepack.zip
安装perl,awstats
复制 cronolog.exe 到 apache 的 bin 目录
修改apache配置文件,安装awstats根据提示填入相关信息会自动在httpd.conf末尾加上
Alias /awstatsclasses "D:/Program Files/AWStats/wwwroot/classes/"
Alias /awstatscss "D:/Program Files/AWStats/wwwroot/css/"
Alias /awstatsicons "D:/Program Files/AWStats/wwwroot/icon/"
ScriptAlias /awstats/ "D:/Program Files/AWStats/wwwroot/cgi-bin/"
后面路径为awstats的安装目录的对应路径根据自己目录进行配置
由于我的svn采用的ssl,所以修改ssl的配置文件\conf\extra\httpd-ssl.conf
在文件末尾改为:
CustomLog "|bin/cronolog.exe logs/svn_%y%m%d.log" "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{SVN-ACTION}e\"" env=SVN-ACTION
重启apache如果正常启动说明配置没有问题
然后配置awstats,找到\AWStats\wwwroot\cgi-bin
复制awstats.model.conf为awstats.svn.demo.com.conf
文件中有几个注意点:
LogFile="xx\svn_%YY%MM%DD.log" 路径为上面ssl里面配置的svnlog的绝对路径,svn_%YY%MM%DD.log文件名设置为这个
LogFormat = "%host %other %logname %time1 %methodurl %code %bytesd %refererquot %uaquot" 主要增加了%uaquot,虽然现在没用,作为稍后的扩展功能
SiteDomain="svn.demo.cn" 生成为文件名的一部分
HostAliases="demo.cn svn.demo.com 127.0.0.1 localhost" 主机的相关别名
DirData="D:/awstats_data" 生成的日志文件路径
主要就这几个重点
尝试用awstats生成统计日志
首先检查apachelogs下是否生成了svn_%y%m%d.log,如果没有生成,访问以下svn触发一下
然后:cmd到perl的bin目录,然后perl "D:\Program Files\AWStats\wwwroot\cgi-bin\awstats.pl" -update -config=svn.demo.com
如果正常生成会出现下面这样类似的样子
如果不正常,根据提示进行调整。
下面开始配置jawstats
解压jawstats-0.7beta.zip到apache的root下改名为jawstats,然后将语言包覆盖到languages下
然后复制config.dist.php为config.php
$sDefaultLanguage = "zh-cn"; //改为中文
$sConfigDefaultView = "thismonth.all";
$bConfigChangeSites = true;
$bConfigUpdateSites = true;
$sUpdateSiteFilename = "xml_update.php";
// individual site configuration
$aConfig["svn.demo.com"] = array( //域名很关键用于查找日志文件,要与DirData中生成文件的域名一致
"statspath" => "D:/awstats_data/", //日志文件夹
"statsname" => "svn[MM][YYYY].txt", //不加域名,与日志文件一致
"updatepath" => "D:/Program Files/AWStats/wwwroot/cgi-bin/awstats.pl", //awstats.pl 完整路径
"siteurl" => "http:/svn.demo.com",
"sitename" => "svn",
"theme" => "default",
"fadespeed" => 250,
"password" => "demo", //更新密码
"includes" => "",
"language" => "zh-cn" //改为中文
);
下面访问:http://www.demo.com/jawstats 出现数据你就成功了
成功后建立批处理文件
cd "C:\Perl\bin>"
perl "D:\Program Files\AWStats\tools\awstats_updateall.pl" now
上面的路径分别改为perl的bin目录和\AWStats\tools\awstats_updateall.pl的绝对路径,否则会报错,无法执行
保存为update-awstats.bat 存在perl的bin下,再设置windows任务,设置了两档,每天的00:50和12:30,每半天自动更新一次