使用AWStats和JAWStats在Debian Lenny上生成网站统计信息

使用AWStats和JAWStats生成网站统计信息Debian Lenny

本教程介绍如何使用Debian Lenny Web服务器上的AWStatsJAWStats生成您的网站的统计信息。 AWStats是一个功能强大且功能强大的工具,可以生成高级的Web服务器统计信息。 JAWStats与AWStats一起运行,并为您的网站访问者提供清晰和翔实的图表,图表。 AWStats能够为统计信息创建图形网页,但是JAWStats以更好的方式呈现这些数据 - 组织得更好,并且使用了Ajax和Flash。

我不会保证这将为您工作!

1初步说明

在本教程中,我有一个网站www.example.com (具有别名example.comwww.example.netexample.net )和文档根/var/www/www.example.com/web

2安装和配置AWStats

AWStats可以安装如下:

aptitude install awstats

其配置位于/ etc / awstats /目录中。 对于每个虚拟主机,我们需要在该目录中有一个名为awstats。<sitename> .conf的配置文件(即,对于我们的网站www.example.com,我们需要配置文件awstats.www.example.com.conf )。 我们可以使用/etc/awstats/awstats.conf文件作为模板:

cd /etc/awstats/
cp awstats.conf awstats.www.example.com.conf
vi awstats.www.example.com.conf

修改以下设置:

[...]
LogFile="/var/log/apache2/access.log"
[...]
LogFormat=1
[...]
SiteDomain="www.example.com"
[...]
HostAliases="example.com www.example.net example.net"
[...]

LogFile必须包含虚拟主机的Apache访问日志或整个Apache访问日志的路径(所有站点的路径); AWStats可以过滤出不属于您的网站的记录。 如果您有动态文件名(例如因为它包含一个日期,例如因为您的访问日志是由cronolog或vlogger创建的),则可以使用占位符,例如:

LogFile="/var/log/httpd/access.log_%YYYY-0_%MM-0_%DD-0"

这在AWStats配置文件中的注释中说明如下:

"LogFile" contains the web, ftp or mail server log file to analyze.
Possible values: A full path, or a relative path from awstats.pl directory.
Example: "/var/log/apache/access.log"
Example: "../logs/mycombinedlog.log"
You can also use tags in this filename if you need a dynamic file name
depending on date or time (Replacement is made by AWStats at the beginning
of its execution). This is available tags :
   %YYYY-n  is replaced with 4 digits year we were n hours ago
   %YY-n    is replaced with 2 digits year we were n hours ago
   %MM-n    is replaced with 2 digits month we were n hours ago
   %MO-n    is replaced with 3 letters month we were n hours ago
   %DD-n    is replaced with day we were n hours ago
   %HH-n    is replaced with hour we were n hours ago
   %NS-n    is replaced with number of seconds at 00:00 since 1970
   %WM-n    is replaced with the week number in month (1-5)
   %Wm-n    is replaced with the week number in month (0-4)
   %WY-n    is replaced with the week number in year (01-52)
   %Wy-n    is replaced with the week number in year (00-51)
   %DW-n    is replaced with the day number in week (1-7, 1=sunday)
                              use n=24 if you need (1-7, 1=monday)
   %Dw-n    is replaced with the day number in week (0-6, 0=sunday)
                              use n=24 if you need (0-6, 0=monday)
   Use 0 for n if you need current year, month, day, hour...
Example: "/var/log/access_log.%YYYY-0%MM-0%DD-0.log"
Example: "C:/WINNT/system32/LogFiles/W3SVC1/ex%YY-24%MM-24%DD-24.log"
You can also use a pipe if log file come from a pipe :
Example: "gzip -d </var/log/apache/access.log.gz |"
If there are several log files from load balancing servers :
Example: "/pathtotools/logresolvemerge.pl *.log |"

您可能使用Apache的组合日志格式,因此您应该使用LogFormat = 1 (再次,查看文件中的注释以找出正确的格式,但在大多数情况下,您使用的是Apache的组合日志格式)。

SiteDomain :指定您的网站的主域名(在这种情况下为www.example.com )。

HostAliases :指定用于访问您的网站的所有其他域/子域( example.comwww.example.net ,本示例中为example.net )。

接下来我们创建一个cron工作,每九分钟运行一次AWStats:

crontab -e
9,19,29,39,49,59 * * * * /usr/lib/cgi-bin/awstats.pl -config=www.example.com -update >/dev/null

(如果您有一个动态访问日志,由cronolog或vlogger创建,最好在cron作业中加入59分钟,以便AWStats可以在23:59h之前处理当前的访问日志,然后再创建一个新的访问日志。 :00h - 你的统计资料只能在23:59h和0:00h之间失去分钟。)

3安装和配置JAWStats

请访问http://www.jawstats.com/download ,下载最新的JAWStats版本,将其解压缩到PC上,然后将其上传到www.example.com网站上的目录,例如使用FTP。 在本教程中,我将其上传到/var/www/www.example.com/web/jawstats目录。

之后,我们必须将config.dist.php重命名为config.php并进行修改:

mv /var/www/www.example.com/web/jawstats/config.dist.php /var/www/www.example.com/web/jawstats/config.php
vi /var/www/www.example.com/web/jawstats/config.php
<?php

  // core config parameters
  $sDefaultLanguage      = "en-gb";
  $sConfigDefaultView    = "thismonth.all";
  $bConfigChangeSites    = false;
  $bConfigUpdateSites    = false;
  $sUpdateSiteFilename   = "xml_update.php";

  // individual site configuration
  $aConfig["www.example.com"] = array(
    "statspath"   => "/var/lib/awstats/",
    "updatepath"  => "/usr/lib/cgi-bin/",
    "siteurl"     => "http://www.example.com",
    "sitename"    => "My Example.com Web Site",
    "theme"       => "default",
    "fadespeed"   => 250,
    "password"    => "secret",
    "includes"    => "",
    "language"    => "en-gb"
  );

?>

如果要删除“更改站点”链接,请将$ bConfigChangeSites更改 false

如果您不希望用户能够自己更新统计信息,请将$ bConfigUpdateSites设置 false

之后,我们有数组$ aConfig [“site1”] - 重命名它,以便它以您的站点命名( $ aConfig [“www.example.com”] )。 将statspath设置为/ var / lib / awstats / (不要忘记尾部斜杠!), 更新路径/ usr / lib / cgi-bin /siteurlhttp://www.example.com ,并指定名称您的网站在sitename下。 只有将$ bConfigUpdateSites设置 true (如果允许用户通过浏览器更新统计信息,则必须键入此密码),才需要输入密码。

就是这样 - 在AWStats cron工作第一次运行之后(对于拥有大量流量的网站可能需要很长时间),您可以访问http://www.example.com/下的统计信息颚板

以下是几个截图:

4密码保护JAWStats输出目录(可选)

现在,最好密码保护目录/var/www/www.example.com/web/jawstats ,除非您希望所有人都能访问您的网站统计信息。

为此,我们在/var/www/www.example.com/web/jawstats中创建一个.htaccess文件:

vi /var/www/www.example.com/web/jawstats/.htaccess
AuthType Basic
AuthName "Members Only"
AuthUserFile /var/www/www.example.com/.htpasswd
<limit GET PUT POST>
require valid-user
</limit>

然后我们必须创建密码文件/var/www/www.example.com/.htpasswd 。 我们要用用户名admin登录,所以我们这样做:

htpasswd -c /var/www/www.example.com/.htpasswd admin

输入管理员的密码,你已经完成了!

5链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏