码迷,mamicode.com
首页 > Web开发 > 详细

Apache与AWStats

时间:2016-08-04 19:24:00      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:

一、           实验步骤及结果

第一阶段

                                                 搭建Apache网站服务

 

Hstname

OS

IP

Software

www.benet.com

 

CentOS-6.5

192.168.1.200

httpd-2.2.17.tar.gz

awstats-7.0.zip

Client

Windows 7

192.168.1.234

IE

 

关闭防火墙:service iptables stop

配置Apache服务

[root@www /]# tar zxvf httpd-2.2.17.tar.gz -C /usr/src/

[root@www /]# unzip awstats-7.0.zip

[root@www /]# ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi && make && make install

--prefix:指定安装目录

--enable-so:启用动态加载模块支持

--enable-rewrite:启用网站重写功能

--enable-charset-lite:启动字符集支持

--enable-cgi:启用CGI脚本程序支持

[root@www httpd-2.2.17]# ln -s /usr/local/httpd/bin/* /usr/local/bin/               //优化执行路径

[root@www ~]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd

 [root@www ~]# vim /etc/init.d/httpd

#chkconfig: 35 85 15

#description: Apache HTTP Server

[root@www ~]# chkconfig --add httpd

[root@www ~]# chkconfig --level 35 httpd on

[root@www ~]# vim /usr/local/httpd/conf/httpd.conf

ServerName www.benet.com:80                               //添加网站域名

[root@www ~]# httpd –t                                                //检查配置文件错误

Syntax OK

[root@www ~]# /etc/init.d/httpd start

[root@www ~]# netstat -anpt |grep 80

tcp        0      0 :::80                       :::*                        LISTEN      54881/httpd

[root@www ~]# elinks http://192.168.1.200

It works!

 

基于不同的域名创建虚拟Web主机

为两个站点创建网站的文档目录

[root@www ~]# mkdir /usr/local/httpd/htdocs/benetcom

[root@www ~]# mkdir /usr/local/httpd/htdocs/accpcom

[root@www ~]# echo ‘<h1>www.benet.com</h1>‘ > /usr/local/httpd/htdocs/benetcom/index.html

[root@www ~]# echo ‘<h1>www.accp.com</h1>‘ > /usr/local/httpd/htdocs/accpcom/index.html

修改配置文件httpd.conf和httpd-vhosts.conf

[root@www ~]# cd /usr/local/httpd/conf/extra/

[root@www extra]# vim httpd-vhosts.conf

NameVirtualHost 192.168.1.200:80

 

<VirtualHost 192.168.1.200:80>

    DocumentRoot "/usr/local/httpd/htdocs/benetcom/"

    ServerName www.benet.com

    ErrorLog "logs/www.benet.com-error_log"

    CustomLog "logs/www.benet.com-access_log" common

</VirtualHost>

 

<VirtualHost 192.168.1.200:80>

    DocumentRoot "/usr/local/httpd/htdocs/accpcom/"

    ServerName www.accp.com

    ErrorLog "logs/www.accp.com-error_log"

    CustomLog "logs/www.accp.com-access_log" common

</VirtualHost>

[root@www extra]# cd ..

[root@www conf]# vim httpd.conf

Include conf/extra/httpd-vhosts.conf                          //将此行前面的"#"去掉

[root@www ~]# vim /etc/hosts

192.168.1.200   www.benet.com www.accp.com

[root@www ~]# /etc/init.d/httpd restart

[root@www ~]# elinks http://www.benet.com

www.benet.com

[root@www ~]# elinks http://www.accp.com

www.accp.com

      

第二阶段

部署安装awstats日志分析系统

[root@www /]# unzip awstats-7.0.zip

[root@www /]# mv awstats-7.0 /usr/local/awstats

[root@www /]# cd /usr/local/awstats/tools/

[root@www tools]# ./awstats_configure.pl

 

----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur -----

This tool will help you to configure AWStats to analyze statistics for

  • one web server. You can try to use it to let it do all that is possible

in AWStats setup, however following the step by step manual setup

documentation (docs/index.html) is often a better idea. Above all if:

- You are not an administrator user,

- You want to analyze downloaded log files without web server,

- You want to analyze mail or ftp log files instead of web log files,

- You need to analyze load balanced servers log files,

- You want to ‘understand‘ all possible ways to use AWStats...

Read the AWStats documentation (docs/index.html).

 

-----> Running OS detected: Linux, BSD or Unix

 

-----> Check for web server install

 

Enter full config file path of your Web server.

Example: /etc/httpd/httpd.conf

Example: /usr/local/apache2/conf/httpd.conf

Example: c:\Program files\apache group\apache\conf\httpd.conf

Config file path (‘none‘ to skip web server setup):

> /usr/local/httpd/conf/httpd.conf                       //httpd主配置文件路径

 

-----> Check and complete web server config file ‘/usr/local/httpd/conf/httpd.conf‘

Warning: You Apache config file contains directives to write ‘common‘ log files

This means that some features can‘t work (os, browsers and keywords detection).

Do you want me to setup Apache to write ‘combined‘ log files [y/N] ? y           //设置日志文件类型

  Add ‘Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"‘

  Add ‘Alias /awstatscss "/usr/local/awstats/wwwroot/css/"‘

  Add ‘Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"‘

  Add ‘ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"‘

  Add ‘<Directory>‘ directive

  AWStats directives added to Apache config file.

 

-----> Update model config file ‘/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf‘

  File awstats.model.conf updated.

 

-----> Need to create a new config file ?

Do you want me to build a new AWStats config/profile

file (required if first install) [y/N] ? y                               //设置站点配置文件

 

-----> Define config file name to create

What is the name of your web site or profile analysis ?

Example: www.mysite.com

Example: demo

Your web site, virtual server or profile name:

> www.benet.com                                                          //统计的站点名称

往后默认配置按回车

 

修改awstats.www.benet.com.conf配置文件

[root@www ~]# mkdir /var/lib/awstats

[root@www ~]# vim /etc/awstats/awstats.www.benet.com.conf

LogFile="/usr/local/httpd/logs/access_log"

DirData="/var/lib/awstats"

创建数据库的存放目录,并更新数据库

[root@www ~]# /usr/local/awstats/tools/awstats_updateall.pl now                   //执行更新脚本

Running ‘"/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -update -config=www.benet.com -configdir="/etc/awstats"‘ to update config www.benet.com

Create/Update database for config "/etc/awstats/awstats.www.benet.com.conf" by AWStats version 7.0 (build 1.971)

From data in log file "/usr/local/httpd/logs/access_log"...

Phase 1 : First bypass old records, searching new record...

Searching new records from beginning of log file...

Jumped lines in file: 0

Parsed lines in file: 2

 Found 0 dropped records,

 Found 0 comments,

 Found 0 blank records,

 Found 2 corrupted records,

 Found 0 old records,

       Found 0 new qualified records.

创建周期性计划任务

[root@www ~]# crontab -e

*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now

创建网站跳转页

[root@www /] vim aws.html

<html>

<head>

<meta http-equiv=refresh content="0;

url=http://www.benet.com/awstats/awstats.pl?config=www.benet.com">

</head>

<body><body>

</html>

[root@www /]# mv aws.html /usr/local/httpd/htdocs/         //将跳转页移动到网站根目录下

[root@www ~]# /etc/init.d/httpd restart

重启apache访问awstats主页

 

第三阶段

为AWSstats进行访问权限的控制

客户机地址限制

[root@www /]# vim /usr/local/httpd/conf/httpd.conf

<Directory "/usr/local/awstats/wwwroot">

    Options None

    AllowOverride None

    Order deny,allow

    Deny from 192.168.1.234                          //拒绝IP为192.168.1.234的主机访问

</Directory>

[root@www /]# /etc/init.d/httpd restart

此时192.168.1.234客户机将无法访问www.benet.com/aws.html

 

用户身份认证限制

首先使用htpasswd工具创建用户认证数据文件

[root@www /]# htpasswd -c /usr/local/httpd/conf/.awspwd xuhao

New password:

Re-type new password:

Adding password for user xuhao

[root@www /]# cat /usr/local/httpd/conf/.awspwd

xuhao:eE3EHFDzN4A5c

修改httpd.conf配置文件,添加用户授权

[root@www /]# vim /usr/local/httpd/conf/httpd.conf

<Directory "/usr/local/awstats/wwwroot">

    Options None

    AllowOverride None

    Order allow,deny

    Allow from all

    AuthName "AWStats Directory"                        //定义受保护的领域名称

    AuthType Basic                                                //设置认证的类型

    AuthUserFile /usr/local/httpd/conf/.awspwd        //设置用于保存用户账号、密码文件的路径

    require valid-user                                             //合法用户才能访问

</Directory>

[root@www /]# /etc/init.d/httpd restart

 登录客户端访问测试

Apache与AWStats

标签:

原文地址:http://www.cnblogs.com/baishuchao/p/5737654.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!