海西数据

韩国服务器,美国服务器,香港服务器,台湾服务器,日本服务器,美国空间,马来西亚,新加坡服务器,海外服务器租用

« php循环执行多次效率执行速度例子马来西亚VPS服务器linux系统盘分区的方法 »

centos6下awstats安装配置步骤详解

功能

一:访问量,访问次数,页面浏览量,点击数,数据流量等
二:精确到每月、每日、每小时的数据
三:访问者国家
四:访问者IP
五:Robots/Spiders的统计
六:访客持续时间
七:对不同Files type 的统计信息
八:Pages-URL的统计
九:访客操作系统浏览器等信息
十:其它信息(搜索关键字等等)


I. 下载源码

下载地址:http://www.awstats.org/#DOWNLOAD

老高推荐下载Last stable

# Last stable version is 7.3 - 2014-07-23 07:50
# 2015-01-30 21:50:29
cd /tmp
wget http://heanet.dl.sourceforge.net/project/awstats/AWStats/7.3/awstats-7.3.tar.gz
tar -zxf awstats-7.3.tar.gz

# rename
mv awstats-7.3 awstats

# move to /usr/share/
# 至于为什么要移至/usr/share/,后文有原因
mv awstats /usr/share/
cd /usr/share/awstats

# dir tree
tree -L 1
.
├── docs
├── README.TXT
├── tools           # tools即我们需要的计算工具
└── wwwroot         # wwwroot是我们需要的web视图
II. 配置计算工具

接下来我们初始化我们需要计算的内容

首先需要明确几个文件的位置:

日志文件(eg. /var/log/nginx/xxx.access.log)
配置文件(eg. /etc/awstats)
工具类文件(eg. /usr/share/awstats/tools)
下面我们进入tools文件夹,开始走第一条线。

新建配置文件

cd tools
perl awstats_configure.pl
Do you want to continue setup from this NON standard directory [yN] ? y

# 是否配置web服务器
Config file path ('none' to skip web server setup):
>none

# 是否新建一个配置文件
Do you want me to build a new AWStats config/profile
file (required if first install) [y/N] ? y

Your web site, virtual server or profile name:
>www.111cn.net # 你要分析的域名

# 这一步选择你的配置文件路径
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
>Enter

# 继续回车,配置完毕
# 接下来自定义我们的配置文件

vim /etc/awstats/awstats.www.111cn.net.conf
配置日志路径

如果要统计那就必须指定统计日志的路径。

AWS为我们提供了很多种办法,帮助我们找到正确的文件。

配置路径的变量一般在line 50左右,在它的上面可以找到编写路径的提示。

%YYYY # 可以代替4位年份
%YY   # 可以代替2位年份
%MM   # 可以代替2位月份
%DD   # 可以代替2位天数
%HH   # 可以代替2位小时

%YYYY-%MM-%DD-%HH  # 在程序执行的时候自动以当前日期2015-01-31-10(此时)替换,是不是很方便?
指定日志文件一般有两种常见的形式

# 指定单个文件
LogFile="/var/log/nginx/logs/xxxx.access.log"

# 指定多个文件
# 需要使用/usr/share/awstats/tools/logresolvemerge.pl脚本指定你需要的所有日志文件,然后再文本最后加入一个字符 "|",表示合并所有文件结果。

LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/logs/xxx.access.log  /var/log/nginx/logs/yyy.access.log|"

配置日志格式

一般nginx的日志格式不需要配置,如果需要变动,请修改大约line 122,系统预置了四种格式供选择。

# 1 - Apache or Lotus Notes/Domino native combined log format (NCSA combined/XLF/ELF log format)
# 2 - IIS or ISA format (IIS W3C log format). See FAQ-COM115 For ISA.
# 3 - Webstar native log format.
# 4 - Apache or Squid native common log format (NCSA common/CLF log format)
LogFormat=1
指定计算结果目录

系统计算出的结果是需要保存在磁盘上的,如果自定义这个路径呢?

在配置文件line 203附近,你可以找到系统的默认配置。

DirData="/var/lib/awstats"
# custom
DirData="your_path_to/awstats"
# 然后我们需要对这个路径的权限做一些处理

chown -R www:www awstats
# www用户我们稍后创建
网页端刷新数据

如果需要在网页里能够主动刷新数据,请找到约line 239,并修改内容。

主动刷新数据

# modify
AllowToUpdateStatsFromBrowser=1
开启地理位置支持

如果想得到如下结果,需要安装并开启GEO支持。

地理位置支持

# 安装GEO支持
yum install GeoIP GeoIP-data GeoIP-devel perl-Geo-IP -y

# 安装完毕后移至 配置文件约 line 1429
# uncomment
LoadPlugin="geoip GEOIP_STANDARD  /usr/share/GeoIP/GeoIP.dat"
解决中文乱码

如果安装AWS后搜索处中文乱码,请修改约line 1204,删除注释。

LoadPlugin="decodeutfkeys"
测试并更新配置

解决了以上问题,我们就可以开始动手测试配置是否正确了。

perl /usr/share/awstats/wwwroot/cgi-bin/awstat(www.111cn.net)s.pl -config=www.111cn.net

------------------------------------------
From data in log file "/usr/share/awstats/tools/logresolvemerge.pl /var/log/nginx/logs/xxx.access.log  /var/log/nginx/logs/yyy.access.log|"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 42302
 Found 42 dropped records,
 Found 0 comments,
 Found 0 blank records,
 Found 404 corrupted records,
 Found 41801 old records,
 Found 55 new qualified records.
------------------------------------------
# 如果看到这种信息说明你的配置文件没有问题,否则请检查。
至此,配置完毕

III. 配置服务器

配置nginx虚拟主机

如果你仔细浏览/usr/share/awstats/tools目录,会发现一个nginx文件夹,没错,源码包已经为我们提供了nginx的虚拟主机配置文件了,我们只需要简单的修改一下即可!

老高把虚拟主机都放到vhosts文件夹下,然后再主配置文件里使用include vhost/*.conf引用,是不是很方便!
# 配置虚拟主机
cp awstats-nginx.conf /etc/nginx/vhost/awstats.conf

vim /etc/nginx/vhosts/awstats.conf
以下是老高给出的配置示例文件,为统计查看绑定的域名为aws.111cn.net,端口80。

server {
    listen  80;
    server_name aws.111cn.net;
    access_log /var/log/nginx/awstats.access_log main;
    error_log /var/log/nginx/awstats.error_log info;
    root /var/www/localhost/htdocs;
    index index.html;

    # Restrict access
    # auth_basic "Restricted";
    # auth_basic_user_file /etc/awstats/htpasswd;


    # Static awstats files: HTML files stored in DOCUMENT_ROOT/awstats/
    location /awstats/classes/ {
        alias /usr/share/awstats/wwwroot/classes/;
    }

    location /awstats/css/ {
        alias /usr/share/awstats/wwwroot/css/;
    }

    location /awstats/icon/ {
        alias /usr/share/awstats/wwwroot/icon/;
    }

    location /awstats-icon/ {
        alias /usr/share/awstats/wwwroot/icon/;
    }

    location /awstats/js/ {
        alias /usr/share/awstats/wwwroot/js/;
    }

    location /awstatsicons/ {
        alias /usr/share/awstats/wwwroot/icon/;
    }

    # Dynamic stats.
    location ~ ^/cgi-bin/(awredir|awstats)\.pl {
        gzip off;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_param SCRIPT_FILENAME /usr/share/awstats/wwwroot/cgi-bin/fcgi.php;
        fastcgi_param X_SCRIPT_FILENAME /usr/share/awstats/wwwroot$fastcgi_script_name;
        fastcgi_param X_SCRIPT_NAME $fastcgi_script_name;
        include fastcgi_params;
    }

    #Rewrite
    location ~ ^/([a-z0-9-_\.]+)$ {
        return 301 $scheme://aws.111cn.net/cgi-bin/awstats.pl?config=$1;
    }
}
默认网址 : http://aws.xmwzidc.comcgi-bin/awstats.pl?config=www.xmwzidc.com
伪静态后 : http://aws.xmwzidc.comwww.xmwzidc.com

开启认证

由于AWS没有提供认证模块,所以我们使用nginx的认证,我们需要为nginx提供一个认证文件。

有两种办法生成此文件

1.htpasswd命令

# 路径可以自己指定
htpasswd -c /etc/awstats/htpasswd username:password
# 删除文件中Restrict access的注释
    Restrict access
    auth_basic "Restricted";
    auth_basic_user_file /etc/awstats/htpasswd;


2.PHP生成

$password = 'www.111cn.net';
// 对密码进行加密
$password = crypt($password, base64_encode($password));
// 获得加密后的密码
echo $password;
然后将得出的密码手动写入文件/etc/awstats/htpasswd,格式如下

username1:xucqMk13TfooE
username2:YXTfb3xWKOMBM

from:http://www.111cn.net/sys/linux/89919.htm

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 100427

Copyright 海西数据-万纵科技 xmwzidc.cn. ALL Rights Reserved