一、啰嗦两句

之前在Windows下用Apache时,也曾经配置过Awstats,然后换了工作,改用Linux+nginx,渐渐把Apache忘记了。又换了工作,又得用Apache,这回版本更新到2.4了,配置稍微有点不同,其他文章再列出了。网站上线了好几个月,因为一直没有什么流量且自己忙于各种琐屑的工作,一直没给Apache加上Awstats进行日志分析。最近网站几次搞活动,懂不懂就访问缓慢,于是意识到,该加上日志分析工具了。今天趁着周末,重新来配置Awstats,感觉有点陌生。查了各种资料,重头再来。

二、资料下载

Awstats是Perl写的,所以需要安装ActivePerl(http://www.activestate.com/)。

Awstats的下载地址是:官方网站(http://awstats.sourceforge.net/)。

JAWStats,这个是辅助的,(待补充)。http://www.jawstats.com/。

IP解析(待补充)https://www.maxmind.com/zh/home

Apache嘛,不说了。

三、Apache的安装

已存在的Apache,所以本文忽略。

四、Perl的下载和安装

我下载到的是msi文件,安装没什么技术含量,一直下一步就好了,除了想要安装到特定的目录。我安装到这里:D:\server\Perl64。

五、Awstats的下载和安装

Awstats下载的是zip文件,直接解压到特定的目录即可,比如:D:\server\awstats-7.5。

六、配置

因为我自己配置的过程,忘记了截图,所以借用参考的资料,过程是一样的。

1.打开D:\server\awstats-7.5\tools文件夹,双击执行awstats_configure.pl,根据提示输入自己apache的安装环境和httpd.conf文件所在的位置,以下为我本机的环境,如图所示:

这里直接输入"n",我们手动来配置就可以了,接着是两次回车就可以了.

这时,在httpd.conf文件里会自动添加以下配置信息:

## Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses "D:/site/awstats-7.0/wwwroot/classes/"
Alias /awstatscss "D:/site/awstats-7.0/wwwroot/css/"
Alias /awstatsicons "D:/site/awstats-7.0/wwwroot/icon/"
ScriptAlias /awstats/ "D:/site/awstats-7.0/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "D:/site/awstats-7.0/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

事实上,加到具体的虚拟主机配置也行的。

2.

修改awstats.pl文件里的perl路径,用记事本打开D:\site\awstats-7.0\wwwroot\cgi-bin\awstats.pl文件,将第一行 #!/usr/bin/perl 修改为

#!d:/perl/bin/perl.exe

不修改没有办法执行的.

添加新站点www.haohtml.com的配置文件,复制awstats.model.conf文件(D:\site\awstats-7.0\wwwroot\cgi-bin),改名为awstats.www.haohtml.com.conf,修改配置文件里的LogFile,SiteDomain,LogType三个指令.这里分析的是web日志,所以修改LogType=W,修改默认的语言为中文,修改语言一项,Lang="auto",将“auto"改为"cn",让awstats以中文方式工作。

LogType=W
LogFile="d:/apache2.2/logs/www/access_%YYYY_%mm_%dd.log"
SiteDomain="www.haohtml.com"

这里一定要注意日志的格式,要保证让虚拟主机www.haohtml.com的日志文件名格式和这里的格式一样才可以.

另外默认情况下是不允许通过网页直接更新日志分析信息的,这里修改一下AllowToUpdateStatsFromBrowser的值,改为1

AllowToUpdateStatsFromBrowser=1

默认配置CustomLog的日记格式是common,改为combined,后者是awstats推荐的方式可以用来分析客户端浏览器的类型以及访问来源等。例如:

CustomLog "|bin/rotatelogs.exe D:/Apache2.2/logs/www/access_%Y_%m_%d.log 86400 480" combined

这个日志配置让apache每天生成一个新的日志文件,其中%Y%m%d是年月日。一般修改的文件为httpd.conf和extra/httpd-vhosts.conf两个文件.

重启apache,输入http://localhost/awstats/awstats.pl?config=www.haohtml.com,就可以看到网站日志查看界面了.

如果有添加新站点,只需要按上面的操作再次复制一个,修改一下相关配置信息就可以了.为了管理方面这里提供了另一个方面的管理方法,使用配置文件包含的功能,所以我们可以配置一个通用配置,比如:awstats.common.conf

然后其他站点的配置设置为:可以通过后面的选项覆盖和缺省不一致的配置。

awstats.bbs.haohtml.com.conf
Include "awstats.common.conf"
LogFile="d:/apache2.2/logs/bbs/access_%YYYY_%mm_%dd.log"
SiteDomain="bbs.haohtml.com"

awstats.www.haohtml.com.conf
Include "awstats.common.conf"
LogFile="d:/apache2.2/logs/www/access_%YYYY_%mm_%dd.log"
SiteDomain="www.haohtml.com"

3.安全

一般管理员为了安全起见,是不允许让外面随便查看这些信息的,这里我们需要做一安全设置.

awstats本身并没有对访问进行任何限制,因此我们必须通过apache的机制来实现,在httpd.conf末尾增加配置如下:

<Location /awstats/awstats.pl>
Order deny,allow
AuthType Basic
AuthName "Restricted Files"
AuthUserFile conf/awstats_passwd
require user awstats_admin
</Location>

使用apache自带的工具htpasswd来生成一个用户名和口令

{apache}/bin/htpasswd -c {apache}/conf/awstats_passwd awstats_admin

重复输入两次密码即可.

重启apache,这样以后每次访问awstats页面都要求输入正确的用户名(awstats_admin)和口令。

一般情况下配置完成后,我们需要来更新一下日志,在命令行下执行

awstats.pl -config=www.haohtml.com -update

或者通过浏览器打开http://www.hatml.com/awstats/awstats.pl?config=www.haohtml.com更新日志(AllowToUpdateStatsFromBrowser=1).

4.

下面我们来设置一下让系统在指定时间点自动来更新日志,这样我们就省去了人工手动来更新日志了.在linux或者Unix下我们一般是用crontab来实现的,在下我们只能利用计划任务来实现此功能了.

创建批处理文件AwstatsUpate.bat,内容为 :

D:\site\awstats-7.0\wwwroot\cgi-bin\ awstats.pl -update -config=www.haohtml.com
D:\site\awstats-7.0\wwwroot\cgi-bin\ awstats.pl -update -config=bbs.haohtml.com
......

我们在计划任务里指定在每晚的23:55分来执行此bat文件即可.

这样,AWStats即可使用了,当然,AWStats可以实现很多丰富的功能,要想更灵活地配置,多看看HELP文件,很详细的。

参考资料:

Windows下配置Awstats的资料真不多,我真不知道几年前我怎么配出来的啊。

参考一:http://www.360doc.com/content/11/0330/10/4062954_105804773.shtml

参考二:https://yq.aliyun.com/articles/43305

参考三:http://wenku.baidu.com/link?url=TK0IY73pLFG7b5TMvw2h3sGYHug0P7aw8Ca-rvaBLHnnkcSKIKzmAWnZdFd-0ohKLhOBeCHubcqbFmutslZDIw64atnQB4ZY5qqu9A5NV4i

参考四:http://blog.fity.cn/post/389/

windows下安装awstats来分析apache的访问日志的更多相关文章

  1. Windows下安装Redis数据库并实现C#访问

    1.Redis在Windows下的安装 目前Redis官方并不支持Redis的Windows版本,需要去GitHub下载. GitHub上的Redis分两种,一种是以命令行形式安装的,一种是以Wind ...

  2. windows下安装php性能分析工具XHProf

    一.安装扩展 下载XHProf扩展:http://dev.freshsite.pl/php-extensions/xhprof.html 放入扩展文件:下载后解压出.dll文件,拷贝它到php的ext ...

  3. windows下安装php笔记

    为了更深入的理解下服务端的配置 ,上篇文章讲了如何在windows下安装apache , 接下来再研究下在windows下安装php并且结合apache运行php环境, 纯属学习用 ^^ ,如果嫌麻烦 ...

  4. windows下安装Git安装

    一:Git是什么? Git是一个代码仓库,属于分散型版本管理系统. 二:在windows下安装Git 载msysgit 1. 访问 msysGit 的项目主页,下载 msysGit.http://ms ...

  5. 从零开始学 Java - Windows 下安装 Tomcat

    谁都想分一杯羹 没有一个人是真正的无私到伟大的,我们试着说着做自己,与人为善,世界和平!殊不知,他们的真实目的当你知道后,你会被恶心到直摇头并下意识地迅速跑开,下辈子都不想见到他.不过,他没错,你也没 ...

  6. windows下安装redis和memcached

    redis安装: http://www.68idc.cn/help/server/20141128135092.html phpredis下载地址:https://github.com/phpredi ...

  7. memcached 在windows下安装及启动

    memcached 在windows下安装及启动   Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中缓存数据和对象来减少读取数据库的次数, ...

  8. windows下安装redis和php的redis扩展

    1.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(s ...

  9. windows下安装mysql笔记

    接着上几篇文章再来看下windows下安装mysql. 我这里是windows7 64位, 安装过程中还是遇到一些坑,这里记录下. 一.下载安装包 打开mysql官网下载页面:http://dev.m ...

随机推荐

  1. flask基础之蓝图的使用(七)

    前言 关于蓝图是什么?或为什么使用蓝图的详细介绍,官方文档讲的很详细,不再赘述.简单来说,在大型的应用中,我们不想视图函数显得杂乱无章,难以维护,将众多的视图函数按照Api的设计规则进行切割是一个好方 ...

  2. Linux内核跟踪之trace框架分析【转】

    转自:http://blog.chinaunix.net/uid-20543183-id-1930846.html   ---------------------------------------- ...

  3. SELinux 入门【转】

    一.前言 安全增强型 Linux(Security-Enhanced Linux)简称 SELinux,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统.SELinux 主要由美国国 ...

  4. 七、springcloud之配置中心Config(二)之高可用集群

    方案一:传统作法(不推荐) 服务端负载均衡 将所有的Config Server都指向同一个Git仓库,这样所有的配置内容就通过统一的共享文件系统来维护,而客户端在指定Config Server位置时, ...

  5. Python开发环境(1):Eclipse+PyDev插件

    电脑:小米笔记本电脑Pro 15.6寸(i5-8250U),操作系统:Windows 10,JDK版本:1.8.0_152(环境变量已配置) Step 1.下载Eclipse 根据我的CPU型号,选择 ...

  6. php 中更简洁的三元运算符 ?:

    PHP 三元运算符是对参数赋值时候的一个简洁的主要用法. 一个主要的用法: PHP 三元运算符能够让你在一行代码中描述判定代码, 从而替换掉类似以下的代码: <?php if (isset($v ...

  7. hive数据倾斜问题

    卧槽草草 来源于其它博客: 貌似我只知道group by key带来的倾斜 hive在跑数据时经常会出现数据倾斜的情况,使的作业经常reduce完成在99%后一直卡住,最后的1%花了几个小时都没跑完, ...

  8. 洛谷P1120 小木棍(升级版)

    传送门啦 一道经典的搜索剪枝题,不废话,步入正题. 分析: 一.输入时手动过滤不合法的情况 二.很明显我们要枚举把哪些棍子拼接成原来的长棍,而原始长度(原来的长棍的长度)都相等,因此我们可以在 $ d ...

  9. 关于move

    procedure TForm4.Button1Click(Sender: TObject); var //动态数组 bytes1,bytes2: TBytes; //静态数组 bytes3,byte ...

  10. C++之客户消费积分管理系统

    之前数据结构课程设计要求做这么一个小程序,现在贴上源码,来和大家进行交流学习,希望大家给出意见和建议 程序以链表为主要数据结构对客户信息进行存储,对身份证号码判断了位数及构成(前十七位为数字,最后一位 ...