Linux系列-Red Hat5平台下的LAMP网站服务搭建(二)

Linux 系列 -Red Hat5 平台下的 LAMP 网站服务搭建(二)
使用awstats 分析Web 日志&httpd 服务的访问控制
上次我们看到了 apache 服务器的源码编译安装以及 httpd 服务的基本配置,本次接上回我们来看一下如何利用日志分析工具 awstats 分析 Apache 服务器的访问日志以及 httpd 服务的访问控制。
第一部分:使用awstats 分析Web 日志
     Awstats 是一个开源的日志分析工具,它使用 Perl 语言开发,不仅可用于分析 Apache 服务器的访问日志,还可以用于分析 Samba Tomcat Squid 乃至 Windows 系统中的 IIS 等网络服务的日志信息。
Awstats 的软件包可发从“ http://awstats.sourceforg.net ”网站中下载,本次我们将以目前版本较新的 6.9 版本为例,介绍为上次我们搭建的虚拟网站 www.zou.com 添加 awstats 日志分析页面的过程。
1.       解压并释放awstats 软件包,执行目录中的awstats_configure.pl 脚本进行安装。
[root@www ~]# tar zxf awstats-6.9.tar.gz -C /usr/local/
[root@www ~]# mv /usr/local/awstats-6.9 /usr/local/awstats
[root@www ~]# cd /usr/local/awstats/tools
说明:执行 awstats_configure.pl 脚本后将会进入一个交互式的过程。在该过程中,将会检查 awstats 的安装目录、 httpd 服务的配置文件路径、日志记录格式等工作环境,需要仔细阅读提示信息并进行相关设置
下面是安装时的显示信息及解析:
[root@www tools]# ./awstats_configure.pl
. . .  . . . ( 此处省略 14 行显示信息 )
1>. 下面选择“ y ”,将 httpd 服务的日志记录格式改为“ combined , 以便记录更多详细信息
(注:以下红色字体是我们要键入或确认的信息)
-----> Check and complete web server config file '/usr/local/apache2/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
. . .  . . . ( 此处省略 6 行显示信息 )
2>. 下面选择“ y ”创建新的配置文件。
-----> 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
3>. 定义日志分析的目标网站名称( www.zou.com .
-----> 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.zou.com
4>. 定义 awstats 配置文件的存放目录(默认为“ /etc/awstats ”)。
-----> Define config file path
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):
>  
-----> Create config file '/etc/awstats/awstats.www.zou.com.conf'
 Config file /etc/awstats/awstats.www.zou.com.conf created.
-----> Restart Web server with '/sbin/service httpd restart'
httpd: unrecognized service
5>. 添加 cron 计划任务(安装脚本无法自动添加,提示用户需手动添加,按回车键继续)。
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.zou.com
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue...
6>. 按回车键退出安装脚本
A SIMPLE config file has been created: /etc/awstats/awstats.www.zou.com.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'www.zou.com' with command:
> perl awstats.pl -update -config=www.zou.com
You can also read your statistics for 'www.zou.com' with URL:
> http://localhost/awstats/awstats.pl?config=www.zou.com
Press ENTER to finish...
[root@www tools]#
2.       修改awstats.www.zou.conf 配置文件
由于虚拟主机 www.zou.com 的访问日志做了单独设置,因此需要在 awstats 的配置文件中修改所要统计的日志文件的路径。查找“ LogFile ”配置行并修改为正确位置。
[root@www ~]# vi /etc/awstats/awstats.www.zou.com.conf
LogFile="/usr/local/apache2/logs/www.zou.com.access.log"
3.       创建数据库存放目录,并更新数据库。
Awstats 通过 awstats.pl 脚本对日志进行分析,每次运行会自动将日志信息中新增的内容添加到统计数据库中。
[root@www ~]# mkdir /var/lib/awstats
[root@www ~]# perl /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update-config=www.zou.com
Create/Update database for config "/etc/awstats/awstats.www.zou.com.conf" by AWStats version 6.9 (build 1.925)
From data in log file "/usr/local/apache2/logs/www.zou.com.access.log"...
Error: Couldn't open server log file "/usr/local/apache2/logs/www.zou.com.access.log" : No such file or directory
Setup ('/etc/awstats/awstats.www.zou.com.conf' file, web server or permissions) may be wrong.
Check config file, permissions and AWStats documentation (in 'docs' directory).
[root@www ~]#
4.       设置cron 计划任务,以便定时运行日志分析程序
[root@www ~]# crontab �Ce
* */5 * * * perl  /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config= www.zou.com
5. 在网页浏览器上查看分析报告
访问网址 http://www.zou.com/awstats/awstats.pl?config=www.zou.com, 即可进入 awstats 的日志分析报告界面,按小时、日、星期、月查看网站的访问人次、网页数、文件数、字节等信息。如下图所示,够详细的吧!
 Linux系列-Red Hat5平台下的LAMP网站服务搭建(二)_第1张图片
使用上面的地址访问 awstats 页面时,我们会发现,由于需要输入的 URL 信息较长,不便记忆,可以自定义一个自动跳转的 HTML 网页,如下:
[root@www ~]# cat /usr/local/apache2/htdocs/zoucom/aw.html
<html>
<head>
<meta http-equiv=refreshcontent="0;url=http://www.zou.com/awstats/awstats.pl?
config=www.zou.com">
</head>
<body></body>
</html>
[root@www ~]#
现在我们在浏览器中键入地址 www.zou.com/aw.html 就可发自动跳转到 www.zou.com/awstats/awstats.pl?config=www.zou.com 页面上,如图:
 
第二部分:Httpd 服务的访问控制
为了更好地控制客户端对 Web 资源的访问, Apache 提供了两种基本的访问控制方式:基于用户和基于客户端地址(主机名或 IP 地址)。
1.       基于用户的访问控制
基于用户的访问控制包含认证和授权两个过程,认证( Authentication )是指识别用户身份的过程,授权( Authorization )是允许特定用户访问特定区域信息的过程。对服务器中特定的目录区域设定了认证之后,将只有通过认证的用户才被允许访问资源。
Apache 可以使用基本认证( Basic )和摘要认证( Digest )两种方式。使用摘要认证需要在编译 httpd 的过程中预先配置“ --enable-auth-digest ”项,但并不是所有的浏览器都支持摘要认证;而基本认证是 Apache 的基本功能,不需要预先配置特别的选项,下面将以基本认证方式为例,对 awstats 日志分析页面添加用户认证。
1>. 编辑 httpd.conf 配置文件,查找关于 awstats 的目录区域设置,添加认证授权设置。
[root@www ~]# vi /usr/local/apache2/conf/httpd.conf
<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName "zpp"
    AuthType Basic
    AuthUserFile /usr/local/awstats/wwwroot/.htpasswd
    require valid-user
</Directory>
说明: AuthName: 定义受保护的领域名称,将在弹出的认证登录对话框中显示。
AuthType: 设置认证的类型, Basic 为基本认证
AuthUserFile :设置用于保存用户帐号、密码的认证文件路径。
Require valid-user: 授权给认证文件中的所有有效用户。
2>. 创建存储认证用户帐号及口令的文件。
 [root@www ~]# cd /usr/local/apache2/bin/
[root@www bin]# ./htpasswd -c /usr/local/awstats/wwwroot/.htpasswd zpp
New password:
Re-type new password:
Adding password for user zpp
[root@www bin]#
说明:使用 htpasswd 命令创建用户帐号“ awuser , 并保存为 .htpasswd 文件。其中“ -c ”选项表示新建( Create )认证文件,当向已有的认证文件中添加帐号时可以省略“ -c ”选项。
3>. 重新启动 httpd 服务
[root@www bin]# /usr/local/apache2/bin/apachectl restart
[root@www bin]# netstat -anpt | grep :80
tcp        0      0 :::80                       :::*                        LISTEN      20817/httpd
[root@www bin]#
4>. 在浏览器中验证
 
现在我们可以看到再次访问页面时,需要输入用户名和密码。
2.       基于客户端地址的访问控制
基于客户端地址的访问控制主要应用于目录区域“ <Directory>… …</Directory> ”,使用配置项“ Order ”、“ Deny from ”、“ Allow from , 根据客户机的主机名或 IP 地址决定是否允许访问。
Ø         配置项“ Order ”用于定义“允许”、“拒绝”策略的处理顺序,包括两种形式。
Ø         Order allow,deny: 先允许后拒绝,默认拒绝所有没有被明确允许的客户端地址
Ø         Order deny,allow: 先拒绝后允许,默认允许或拒绝所有被明确拒绝的客户端地址。
Ø         配置项“ Allow ”和“ Deny ”用于设置允许或拒绝的客户机地址,
下面给出应用的例子
1 :允许来自任意地址的客户机访问本目录区域
Order allow ,deny
Allow from all
2 :除了 IP 地址为 200.200.200.1 及来自 pan.com 域的客户机以外,其他任意客户机均被允许访问本目录区域。
Order deny,allow
Deny from pan.com
Deny from 200.200.200.1
3 :仅允许来自网络 192.168.0.0/24 的客户机但 192.168.0.100 除外访问本目录区域。
Order allow,deny
Allow from 192.168.0.0/24
Deny from 192.168.0.100
基于客户端地址的访问控制比较简单,以上的三种用法基本可以概括一般的常见应用。本次我们就介绍到这里了,下次我们将会看到 Linux 系列 -Red Hat5 平台下的 LAMP 网站服务搭建(三)――安装 MySQL 数据库 & 构建 PHP 环境。
 
本文出自 “ zpp” 博客,请务必保留此出处 http://zpp2009.blog.51cto.com/730423/270409

你可能感兴趣的:(linux,lamp,服务,平台,red)