本文共 1832 字,大约阅读时间需要 6 分钟。
想监控apache在win下的流量及用户访问量,配了两天的cacti,baidu google来回地切换搜索,最终以失败告终,有图无数据,以下是总结的webalizer for windows2003安装指南。
1、下载webalizer-2.01-10-win32-bin.zip并解压缩至c:\webalizer
2、重命名smaple.conf为webalizer.conf,并增加配置:
LogFile c:/apache/logs/access.log #要获取的日志文件 OutputDir c:/webalizer/usage #日志输出目录 Incremental yes ReportTitle Web主机流量分析 #标题#配置帮助看这里:
3、输出webalizer
c:\webalizer\>webalizer,此时webalizer目录下将创建usage目录,其内容即为统计数据页面4、设置能通过WEB访问webalizer
(1).apache添加虚拟目录 Alias /webalizer "c:/webalizer/" <Directory "c:/webalizer/">; Options Indexes MultiViews AllowOverride AuthConfig Order Deny,Allow Allow from all Options All AllowOverride All </Directory>(2).创建webalizer\usage目录的访问验证
创建c:\webalizer\.htaccess,内容是: authtype basic authname "受限访问区" authuserfile c:/webalizer/.htpasswd #定义密码文件路径 require valid-user(3).创建密码文件
htpasswd -c c:\webalizer\.htpasswd jxxs #用户名:xiaowan #输入两次密码:webalizer_xiaowan(4).在c:\webalizer下新建文件index.php,内容是:
<? for($i = 1; $i <= 300; $i++ ) print(" "); //输出300个字符,使之到达浏览器输出条件才可使用flush将之后新增的数据强制显示到浏览器 echo "统计数据页正在生成,请稍候……"; flush(); //如果不存在当月的统计数据,则调用webalizer.exe生成数据网页 //if (!file_exists("usage/usage_".date(Ym).".html")) exec("webalizer.exe");//每次都获取新的统计数据 //exec执行完成后才转向至统计首页,在这里若用pclose(popen('start webalizer.exe','r'));" //则网页不等待webalizer.exe返回就继续往下走,所以转向的时候可能数据网页还没生成完,得到的是空白页,所以要使用exec,强制用户等待。//header("Location: usage/index.html");//前面已用flush,所以header无效
sleep(1);//让程序"睡"一秒钟,会让你把效果看得更清楚 echo "<script>location.href='usage/index.html';</script>";//回到统计首页?>
成功效果图:
由于需要PHP后台调用桌面程序,但此桌面程序必须以窗口化形式显示才有效。解决方案总结如下:
//注意:
exec("notepad.exe"); 弹出[记事本],记事本在服务器后台运行,且页面一直等待状态。 修改:运行——services.msc——apache2.2——登录——允许服务与桌面交互,则[记事本]弹至桌面,以窗口化形式显示。 pclose(popen('start notepad.exe', 'r')); 弹出[记事本],页面不等待,直接返回继续执行之后的代码。 帮助文件:帮助信息:
windows xp下设置apache目录访问身份验证(目录访问控制) Webalizer安裝簡介 在Windows 2000&2003下快速安装Webalizer ob_start 用法转载地址:http://xciga.baihongyu.com/