ActivePerl 5.8.7 附带文档,安装后可以看到。
Apache Manual文档
Cronolog附带文档
Awstats 附带文档tomcat 5.0.18 for Linux
apache 2.0.55 for Win
ActivePerl 5.8.7 for Win
Awstats 6.5 for Win
Cronolog 1.6.1 for Win这里假设已经安装好apache,tomcat,并配置好了二者(请通过JK1.2配置,不要使用JK2)。
1, 安装顺序:先activeperl,再Awstats,cronolog只需要copy到一个目录中就可以了。
2, ActivePerl的安装很简单,一直点击next就可以。
3, Awstats可以用安装版,也可以用解压版,二者区别在于安装版会自动运行awstats_configure.pl脚本,解压版需要自己手工执行此脚本,此外没有任何区别。
4, Cronolog.exe文件所在的目录一定不能有空格,如Program Files目录是不行的。
下面的配置中,对httpd.conf和worker2.properties文件的修改必须重新启动apache才能生效,对awstats配置文件的修改不必重启apache.
1, 首先配置apache,使其可以cgi方式运行perl脚本。
a) 修改apache的httpd.conf文件,在其主目录配置中(例如<Directory "D:/Program Files/Apache Group/Apache2/htdocs">),对options 配置加入ExecCGI。Options修改后类似显示如下:
Options Indexes FollowSymLinks ExecCGI
b) 在httpd.conf文件中查询AddHandler cgi-script .cgi,去掉前面的#,并且修改为:
AddHandler cgi-script .pl2, awstats安装程序对httpd.conf文件的修改
如果我们是通过安装程序安装awstats的话,awstats已经帮我们在httpd.conf中做好了如下的配置:
#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses "C:/Program Files/AWStats/wwwroot/classes/"
Alias /awstatscss "C:/Program Files/AWStats/wwwroot/css/"
Alias /awstatsicons "C:/Program Files/AWStats/wwwroot/icon/"
ScriptAlias /awstats/ "C:/Program Files/AWStats/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "C:/Program Files/AWStats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
如果采用非安装版本,需要手工执行awstats_configure.pl脚本,回答脚本的问题就可以了。
3, 配置apache日志,通过cronolog实现日志文件按天分割。
修改httpd.conf文件中的customLog和erroLog配置为:
CustomLog "|D:/apachelog/cronolog.exe D:/apachelog/access/%Y%m%daccess.log" combined
ErrorLog "|D:/apachelog/cronolog.exe D:/apachelog/error/%Y%m%derror.log"
其中%Y%M%D表示每天生成一个格式为YYYYMMDDaccess.log的文件。
4, 配置Awstats
修改awstats生成的配置文件,这里是awstats.yoursite.com.conf(此文件是安装时指定域名后生成的,也可以手工修改awstats.model.conf然后重命名)。将其中的LogFile指向apache的access.log文件,其中%YYYY-24%MM-24%DD-24表示24小时前的日志文件。
LogFile="D:/apachelog/access/%YYYY-24%MM-24%DD-24access.log"
AllowToUpdateStatsFromBrowser=0(可以为1,推荐使用0)
LoadPlugin="decodeutfkeys"
5, 配置定时运行awstats分析日志
在windows的控制面板,选择“任务计划”,添加新任务,对于我们这样的站点,每天分析一下前一天的日志就可以了,比如设定任务运行时间为每天凌晨1点。对于需要运行的命令最好写到一个bat文件中,这里可以创建一个awstats.bat文件,内容为:
perl "D:/Program Files/AWStats/wwwroot/cgi-bin/awstats.pl" -config=yoursite.com –update
这里必须明确指定 awstats.pl 文件的位置。 -config 参数必须和 awstats.yoursite.com.conf 匹 配,既 awstats.pl 文件是通过 -config 参数来使用相应的配置文件的。6, 几个关于日志分析配置的高级话题
按上面的步骤可以配置出能运行的日志分析页面,但这并不安全,此外对于apache+tomcat这种部署环境我们必须配置好虚拟主机才能正确使用日志分析。
a) 对于日志分析的访问限制
awstats默认安装时对于httpd.conf的修改加入了如下段:
<Directory "C:/Program Files/AWStats/wwwroot">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
但这种配置任何人都可以访问日志分析页面,很不安全。需要做如下配置,只有知道密码的人才可以访问。
首先修改上面的默认配置为:
<Directory "d:/Program Files/AWStats/wwwroot">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile "D:/Program Files/Apache Group/Apache2/conf/passwords "
Require user admin
</Directory>
这说明我们通过基本的安全认证方式限制用户访问,只有在D:/Program Files/Apache Group/Apache2/conf/passwords文件中注明的用户admin才可以访问日志分析页面。
然后在apache的bin目录下运行:
htpasswd –c ../conf/passwords admin
输入该用户的密码就可以了。这样每次访问日志分析页面时,必须输入正确的用户名和密码才可以进入。
b) apache+tomcat方式时虚拟主机的配置
一般情况下,我们使用基于name的虚拟主机,而不用基于ip的虚拟主机,配置基于name的虚拟主机需要在httpd.conf文件中加入类似如下内容:
NameVirtualHost 192.168.0.5:80
<VirtualHost 192.168.0.5:80>
ServerAdmin [email protected]
# DocumentRoot "D:/tomcat/webapps"
ServerName www.yoursite.com:80
ServerAlias yoursite.com
#ErrorLog logs/haolao.example.com-error_log
#CustomLog logs/haolao.example.com-access_log combined
</VirtualHost>
<VirtualHost 192.168.0.5:80>
ServerAdmin [email protected]
DocumentRoot "d:/Program Files/AWStats/wwwroot"
ServerName awstats.yoursite.com:80
</VirtualHost>
注意:NameVirtualHost后面的值必须和VirtualHost后面的值完全相同!比如这里都是192.168.0.5:80。
虚拟主机通过ServerName区分,对于有多个域名的网站,可以使用ServerAlias。
当然如果想让虚拟主机生效,我们必须在DNS中对各个域名做好配置,对此这里不予描述。
Apache和tomcat结合的配置涉及到另外一个配置文件workers2.properties。在这个文件中,配合虚拟主机我们需要加入如下内容:
[uri:www.yoursite.com/*]
worker=ajp13:192.168.1.20:8009
这是告诉apache,涉及到上面这些URL的访问,请转给Tomcat处理,不在此列中的,由apache自己处理。
同时为了让日志分析处于安全保护之下,可以将上面对awstats安全的配置移入VirtualHost中。最终可能类似下面:
NameVirtualHost 192.168.0.5:80
<VirtualHost 192.168.0.5:80>
ServerAdmin [email protected]
ServerName www.yoursite.com:80
ServerAlias yoursite.com
#CustomLog logs/haolao.example.com-access_log combined
</VirtualHost>
<VirtualHost 192.168.0.5:80>
ServerAdmin [email protected]
DocumentRoot "d:/Program Files/AWStats/wwwroot"
ServerName awstats.yoursite.com:80
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/"
<Directory "d:/Program Files/AWStats/wwwroot">
AuthType Basic
AuthName "Restricted Files"
AuthUserFile "D:/Program Files/Apache Group/Apache2/conf/passwords "
Require user admin
</Directory>
</VirtualHost>
这里用awstats的动态分析日志方式,也可以将分析结果生成为静态html。
在浏览器输入http://youdomain.com/awstats/awstats.pl?config=yourdomain就可以看到日志分析页面了。当然如果想看到数据,必须在我们配好awstats后第二天访问才行,因为第二天早上的凌晨一点我们才对前一天的日志文件做分析,在此之前是没有统计数据的。
我们这里是:
http://awstats.yoursite.com/awstats/awstats.pl?config=yoursite.com
如果能看到awstats的页面说明配置成功了
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=836695