导航
导航

JAWStats 多个站点配置

在前文 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;
}

参考资料:

http://www.jawstats.com/community/thread125

支持一下
扫一扫,支持一下