归档文章 (2011-2017)

date
2011/07/14
在前文 Nginx 日志分析 AWStats + JAWStats 安装配置 中说过 JAWStats 是支持多个站点的,但若直接添加则存在一个很大的缺陷,只要能看到自己网站统计报告的,那么别人的统计报告也能查看。那有没办法实现,每个网站的统计都相互独立,只能各自查看呢?
答案显然是肯定的,方法也有两种,一是给JAWStats 打个补丁,详细方法见:《How To: AWStats und JAWStats mit mehreren Benutzern – Konfiguration inkl. Patch und Skript》,二是稍微修改一下 config.php 文件即可。毫无疑问,我选择了第二种不破坏原程序的做法。
下面是完整设置,关键在于 siteurlsitename 的设置,其中 $_SERVER["SERVER_NAME"] 作用在于能够获得当前网站域名。
<?php // core config parameters $sDefaultLanguage = "zh-cn"; $sConfigDefaultView = "thismonth.all"; $bConfigChangeSites = false; $bConfigUpdateSites = false; $sUpdateSiteFilename = "xml_update.php"; // individual site configuration $aConfig[ $_SERVER["SERVER_NAME"] ] = array( "statspath" => "/var/lib/awstats/", "updatepath" => "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl/", "siteurl" => "http://".$_SERVER['SERVER_NAME'], "sitename" => $_SERVER["SERVER_NAME"], "theme" => "default", "fadespeed" => 250, "password" => "123456", "includes" => "", "language" => "zh-cn" );?>
完成后,你还需要在 Nginx 的每个server字段中添加下面内容:
location ~ /stats { root /var/www; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; include fastcgi_params; } auth_basic "JAWStats"; auth_basic_user_file /home/wangyan/.htpasswds;}
参考资料:
对于本文内容有任何疑问, 可与我联系.