AWstats 在 IIS 下最详细的安装说明文档

Awstats的用途好处我就不多多说了,在baidugoogle里面搜一下一箩筐,但大部分都是说在linux下的安装,有介绍在windows下的安装说明,但是都是非常的潦草的介绍下,本人就花了n多的时间在这些文档中搜索,

现在按照我的说明步骤安装,基本上是不会有任何错误,本人在windows2003上和windows2000上安装测试都没有问题。

参考文件

http://www.chedong.com/tech/awstats.html
http://awstats.sourceforge.net/docs/awstats_setup.html
http://awstats.sourceforge.net/docs/awstats_tools.html#awstats_buildstaticpages
http://awstats.sourceforge.net/docs/awstats_config.html#HTMLHeadSection

一、首先将IIS安装好,然后安装 ActivePerl

直接安装,这个比较简单,但是本人这里还是要提醒一下各位朋友,我做网管经验总结的,呵呵 ,记得不要吧ActivePerl安装在系统盘上,同时最好把路径也改改,比如我是这么安装的d:\tools\perl,其实这是从安全策略角度考虑的.废话不多说,继续我们的专题:我们现在到d:\tools\perl 目录去看一看,下面有一个很重要的目录叫做bin的,宝贝都放在这里了。嗯,最好用这种方法过去。首先单击开 始菜单,在选择运行,输入cmd然后回车。这时我们可以看到一个控制台窗口。从这个窗口输入d:回车,然后输入cd tools/perl回车,dir回车,然后再cd bin这时我们可以看到一个叫做Perl.exe的文件。嗯这就没有问题了。然后我们编一个小程序试一试。

用一个文本编辑器输入以下内容:

1
print "hello perl world, this is my first!\n";

存盘为test.pl随便哪个目录只要您好找就可以,我存在perl下面,然后在控制台窗口里面输入:perl ../test.pl就可以看到窗口中打印出”hello perl world, this is my first!”这句话。这就表明安装成功了。(这里要注意下,上面在存文本的时候记得第一行不要是空的)这一步是关键,如果安装没有成果,那么后面的也是白说。

二、现在去下载Awstats,下载一个.zip的文件,

下载到本地以后直接解压缩到你的硬盘里面,为了说明详细点,我把我的所有操作步骤都写下来。我把Awstats解压缩到了E:\databack下面,并在awstats下面新建了一个文件夹 website,将iis的站点路径指到这个文件夹下。然后在website下在建立一个日志文件存放的文件夹iis_logfiles,将我要分析的站点日志都copy到这个文件夹下。
对于IIS:缺省有比较好的日志按天截断规则,但是IIS的日志格式比较不适合AWStats统计,因此最好直接去掉所有日志字段,然后严格按照以下列表设置 :

  • 日期 date
  • 时间 time
  • 客户IP地址 c-ip
  • 用户名 cs-username
  • 方法 cs-method
  • URI资源 cs-uri-stem
  • 协议状态 sc-status
  • 发送字节数 sc-bytes
  • 协议版本 cs-version
  • 用户代理 cs(User-Agent)
  • 参照 cs(Referer)

其他的都统统去掉,免得影响统计

三、现在开始配置awstats吧,下面的步骤其实只要细心基本上都不会出现什么错误。

AWStats的主程序awstats.pl会自动根据站点名调用相应站点的配置文件:awstats.website.conf 比如:运行 ./awstats.pl-config=website 调用的就是同目录下的 awstats.website.conf 配置文件; 如果没有指定-config,还会找当前目录下的 awstats.conf 或者 /etc/awstats.conf 作为缺省配置文件。 所以最好把缺省的awstats.model.conf 重命名成 awstats.website.conf;建议将原来的awstats.model.conf做一下备份。
awstats的脚本和静态文件缺省都在wwwroot目录下,将wwroot下的cgi-bin目录copy一份到website下面,还有把icon文件夹也都copy到website下面。

现在开始配置awstats.website.conf文件:

  1. LogFile=”e:\databack\awstats\website\iis_logfiles\ex%YY-24%MM-24%DD-24.log”
    这个配置的意思是用24小时前的年份,月份,日期拼出的日志文件名;
  2. SiteDomain=”localhost”
    这里可以写上你的域名,我也不多说,看英文就明白什么意思—-站点域名(这里的域名是二级的比如www.website.com)
  3. LogFormat=2 缺省值是1:Apache日志,2是IIS日志
  4. HostAliases=”localhost”
    这里设置主机域,这里设置的是主域如(website.com)
  5. DefaultFile=”index.html”
    主页面,一般都写这个,可以不需要做改动,当然想该也没有关系,
  6. DirData=”E:\databack\awstats\website”
    用于存放被perl整理以后的日志库,是一个.txt文件,

AWStats 的使用简介和配置一些改进说明。很高兴看到在AWStats 6.3版本开始:中文用户基本上已经只需要将配置文件中将 LoadPlugin=”decodeutfkeys” 启用基本上就没有什么中文搜索引擎的统计问题了,目前增加了# Minor chinese search engines 'baidu\.com','search\.sina\.com','search\.sohu\.com',这3个搜索引擎。以上修改好了以后我们就可以开始做日志分析了:

四、日志分析其实也非常的简单,在cmd里面输入

1
D:\tools\Perl\bin>perl e:/databack/awstats/website/cgi-bin/awstats.pl -update -config=websit -lang=cn

这个路径 e:/databack/awstats/website/cgi-bin/awstats.pl 是我把cgi-bin文件夹copy到我的站点目录下来的,-lang=cn 是输出支持中文的库文件。可以看到下面的显示,表示分析成功了

1
2
3
4
5
6
7
8
9
10
11
Update for config "e:/databack/awstats/website/cgi-bin/awstats.website.conf"
With data in log file “e:/databack/iis_logfiles/ex060704.log”…
Phase 1 : First bypass old records, searching new record…
Searching new records from beginning of log file…
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)…
Jumped lines in file: 0
Parsed lines in file: 971
Found 1 dropped records,
Found 3 corrupted records,
Found 0 old records,
Found 967 new qualified records.

上面的信息我也不做解释,其实解释也没有意义,我们只要知道结果就可以了。现在在我们建立的website下面会生成一个.txt文件,这个文件就是我们要的库文件。
下面我们就开始生成站点

五、web文件HTML的生成,如果你只是想测试下的话,那么使用下面这个代码就可以了

1
D:\tools\Perl\bin>perl e:/databack/awstats/website/cgi-bin/awstats.pl -config=websit -lang=cn -output -staticlinks>e:/databack/awstats/website/index.html

如果想生成整个站点的所有html文件,那么使用下面的生成方式,

1
D:\tools\Perl\bin>perl e:/databack/awstats/tools/awstats_buildstaticpages.pl -config=website -lang=cn -output -awstatsprog=e:/databack/awstats/website/cgi-bin/awstats.pl -dir=e:/databack/awstats/website -staticlinksext=html

这里做下说明,每次使用perl编译的时候都要进入D:\tools\Perl\bin>下面来,否则perl将无法进行,位于awstats/tools 下的awstats_buildstaticpages.pl工具是用来编译所有站点页面的,如果不使用这个文件就无法自动的生成所有文件,那么它只会生成一个单独的主页面,

  • -awstatsprog=e:/databack/awstats/website/cgi-bin/awstats.pl
    -awstatsprog是用来指明awstats.pl所在的位置,
  • -dir=e:/databack/awstats/website
    -dir是用来指明站点要存放的位置,
  • -staticlinksext=html
    -staticlinksext 指明要生成的文件后缀名是什么,注意千万不要有“.”。

您也可以不生成静态页面,直接用perl来访问,那么我可以这么访问到我的地址:http://loacalhost/cgi-bin/awstats.pl?config=website 这里前面装perl时,会在iis里面写入web服务扩展(windown2003),去把关于perl的全部选择允许,windows2000的朋友可以去网络上查查关于perl的安装过程,我这里也不多说。

  • 具体的说明如下
    awstats_buildstaticpages.pl:
    awstats_buildstaticpages allows you to launch AWStats with -staticlinks option to build all possible pages allowed by AWStats -output option.
    (使用AWStats 的 -output 方法,你用awstats_buildstaticpages工具可以生成站点的所有使用到的页面,页面的扩展名是用-staticlinks定义好的)
  • Usage: (定义结构:)

    1
    awstats_buildstaticpages.pl (awstats_options) [awstatsbuildstaticpages_options]
    • where awstats_options are any option known by AWStats
      (awstats_options 是AWStats所能识别的参数)
    • -config=configvalue is value for -config parameter (REQUIRED)
      (-config=configvalue configvalue是-config的值如:website,该参数是必须的)
    • -update option used to update statistics before to generate pages
      (-updata 是在没有生成站点页面前,先刷新日志分析结果的统计库)
    • -lang=LL to output a HTML report in language LL (en,de,es,fr,…)
      (-lang=LL 用什么语言输出到html页面上来,cn为中文 )
    • -month=MM to output a HTML report for an old month=MM
      (-month=MM 输出以前某个月份的html统计页面)
    • -year=YYYY to output a HTML report for an old year=YYYY
      (-year=YYYY 输出以前某年的html统计页面)and awstatsbuildstaticpages_options can be (awstatsbuildstaticpages_options 参数)
    • -awstatsprog=pathtoawstatspl gives AWStats software (awstats.pl) path
      (-awstatsprog=路径 该路径是awstats.pl所在盘的路径)
    • -dir=outputdir to set output directory for generated pages
      (-dir=输出路径,是用来指明存放输出站点页面的位置)
    • -builddate=%YY%MM%DD Used to add build date in built pages filenames
      (-builddate=%YY%MM%DD 在输出站点页面的文件名里放入创建时间)
    • -staticlinksext=xxx For pages with .xxx extension instead of .html
      (-staticlinksext=xxx 设置输出页面的扩展名)
    • -buildpdf[=pathtohtmldoc] Build a PDF file after building HTML pages.
      (-buildpdf 在生成html页面以后在建立一个pdf文档)
    • Output directory must contains icon directory
      (icon目录要放在存放站点文件的文件夹里面) when this option is used (need ‘htmldoc’).

以上代码如果看不懂的朋友也没有关系,按照我是说明的去做就可以了,完全能满足大家的需要。

当上面的命令被执行的时候就会开始生成html的文件,需要等待一小会儿,之后你就会发现在我们的站点目录下面website里面已经自动的生成了许多的文件。

如果你有多个站点的日志需要统计,一个一个统计会给自己增加很多麻烦,Awstats给我们提供了一个不错的工具:—->>>awstats_updateall.pl这个工具会自动的将指定目录下的除awstats.model.conf文件以外的其他 config文件都编译出来 ,不过首先要配置好各个站点对应的自己的 AWStats config 文件,使用说明如下

awstats_updateall launches update process for all AWStats config files (except awstats.model.conf) found in a particular directory, so you can easily setup a cron/scheduler job. The scanned directory is by default /etc/awstats.
//×swstats_updateall 可以更新指定文件夹下的所有AWStats config 文件(awstats.model.conf文件除外)
Usage: awstats_updateall.pl now [options]
//×使用方法:awstats_updateall.pl now [参数]
-awstatsprog=pathtoawstatspl
//-awstatsprog 是用来指定awstats.pl 的物理路径
-configdir=directorytoscan
//
-configdir 指定所有AWStats config文件的物理路径
-excludeconf=conftoexclude (Note: awstats.model.conf is always excluded)
//*-excludeconf 指定不需要执行的文件,awstats.model.conf 不需要,默认已经排除了它

1
D:\tools\Perl\bin>perl e:/databack/awstats/tools/awstats_updateall.pl now -a wstatsprog=e:/databack/awstats/website/cgi-bin/awstats.pl -configdir=e:/databack/awstats/website/cgi-bin -lang=cn

好了awstat目录制作完成,当然这些还只是基础篇。

拷贝请保留:http://www.anywolfs.com/liuhui/article.asp?id=180

安装awstats需要的GeoIP数据包:

1
2
wget http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
wget http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz

工具包中文简介:awstats 日志分析工具包的简要中文说明

awstats 日志分析工具在多域名(站点)服务器下的应用
http://www.anywolfs.com/liuhui/article.asp?id=288