1,基于apacheweb服务器基础搭建:

 (1)实验环境:一台ip192.168.10.10rhel5.9主机作为web服务器,一台ip192.168.10.15win7主机作为测试机

(2)查看服务主机软件是否安装

[root@ser1 ~]# rpm -q httpd httpd-manual httpd-devel

package httpd is not installed

package httpd-manual is not installed

package httpd-devel is not installed

(3)安装软件包

[root@ser1 ~]# yum install -y  httpd httpd-manual httpd-devel

(4)启动服务

[root@ser1 ~]# service httpd start

启动httpd                                              [确定]

[root@ser1 ~]# chkconfig httpd on

(5)win7上测试,无网页缺省下显示红帽测试页

<报错页面存放位置/var/www/error/noindex.html>

基于apche的web服务器的配置_AWstats

(6)打开配置文件

[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf

可获得以下重要字段:

目录设置:

<Directory 目录> .. .. </Directory>

访问位置设置:

<LocationURL> .. .. </Location>

虚拟主机设置:

<VirtualHost 监听地址> .. .. </VirtualHost>

常用的全局设置参数:

ServerName本站点的FQDN名称

DocumentRoot网页文档的根目录:缺省/var/www/html/

DirectoryIndex默认索引页/首页文件:一般设为index.html index.php

ErrorLog错误日志文件的位置

CustomLog  访问日志文件的位置

Listen   监听服务的IP地址、端口号

ServerRoot  服务目录/etc/httpd/

Timeout网络连接超时,默认 300

KeepAlive是否保持连接,可选OnOff

MaxKeepAliveRequests每次连接最多处理的请求数

KeepAliveTimeout保持连接的超时时限

Include          可包含其他子配置文件: /etc/httpd/conf.d/

(7)创建测试网页

[root@ser1 ~]# vim /var/www/html/index.html

<h1>

This is a test page !!!

</h1>

~                                                              

(8)win7下测试,主页变为测试网页

基于apche的web服务器的配置_AWstats_02

2,基于apacheweb服务器的访问控制:

(1)web服务的地址限制

I,rder 配置项,定义控制顺序

allow,deny  先允许后拒绝,缺省拒绝所有;冲突时,拒绝生效;allow不设置,拒绝所有

    deny,allow  先拒绝后允许,缺省允许所有;冲突时,允许生效;deny不设置,允许所有

II,Allow/Deny from 配置项,设置权限

        Allow  from  地址1  地址2  .. ..

        Deny  from  地址1  地址2  .. ..

配置如下:

[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf

331 #

332     Orderallow,deny

333     Allowfrom 192.168.20.0/24

334

335 </Directory>

[root@ser1 ~]# service httpd restart……重启服务

停止httpd                                              [确定]

启动httpd                                              [确定]

win7上测试,测试完成并还原配置文件:

基于apche的web服务器的配置_web服务器_03

(2)网站目录的用户访问控制

配置如下:

[root@ser1 ~]# mkdir -p /var/www/html/web……建立测试目录

[root@ser1 ~]# vim /var/www/html/web/index.html……建立测试网页,网页内容:User test !!

[root@ser1 ~]# htpasswd -c/etc/httpd/auth.ulisttom……建立测试用户

New password:

Re-type new password:

Adding password for user tom

[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf……修改配置文件

……

<Directory "/var/www/html/web">……配置文件底端追加内容

AuthName"Dir test!"

   AuthTypebasic

   AuthUserFile /etc/httpd/auth.ulist

   Requirevalid-user

</Directory>

[root@ser1 ~]# !se……重启服务

service httpd restart

停止httpd                                              [确定]

启动httpd                                              [确定]

测试:


基于apche的web服务器的配置_web服务器_04

基于apche的web服务器的配置_AWstats_05



3, 基于apacheweb服务器的目录别名配置:

(1)建立目录

[root@ser1 ~]# mkdir -p /var/www/html/baidu/bbs

(2)在新目录下建立网页

[root@ser1 web]# vim index.html

<h1>

bbs.baidu.com

</h1>

(3)设置目录别名

[root@ser1 conf]# vim httpd.conf

  Requirevalid-user

</Directory>

Alias /bbs"/var/www/html/baidu/bbs"……bbs格式前后一致如:bbs-bbs bbs/-bbs/

[root@ser1 conf]# !se……重启服务

service httpd restart

停止httpd                                              [确定]

启动httpd                                              [确定]

(4)验证

基于apche的web服务器的配置_web服务器_06

4, web服务器的虚拟主机配置:

(1)基于域名的虚拟主机[DNS设置所有地址解析为同一IP,最常用]

建立www.baidu.combbs.baidu.com两个网页:

[root@ser1 www]# vim index.html

[root@ser1 www]# cd ../bbs/

[root@ser1 bbs]# vim index.html

[root@ser1 bbs]# pwd

/data/bbs

web服务器上配置DNS  服务器,把www.baidu.combbs.baidu.com解析到192.168.10.10

$TTL    86400

@       IN      SOA    baidu.com. root.baidu.com.  (

                                    2014030901 ; Serial

                                    28800      ; Refresh

                                    14400      ; Retry

                                    3600000    ; Expire

                                     86400)    ; Minimum

       IN      NS     dns1.baidu.com.

dns1    IN      A       192.168.10.10

www     IN      A      192.168.10.10

bbs     IN      A      192.168.10.10

添加虚拟主机配置文件:

[root@ser1 ~]# vim /etc/httpd/conf.d/vhosts.conf

NameVirtualHost *:80

 2<VirtualHost *:80>

 3     DocumentRoot /data/www

 4     ServerName www.baidu.com

 5     ErrorLog logs/www.baidu.com-error_log

 6     CustomLog logs/www.baidu.com-access_logcommon

 7</VirtualHost>

 8<VirtualHost *:80>

 9     DocumentRoot /data/bbs

10     ServerName bbs.baidu.com

11     ErrorLog logs/bbs.baidu.com-error_log

12     CustomLog logs/bbs.baidu.com-access_logcommon

13</VirtualHost>

[root@ser1 ~]# service httpd restart……重启服务

停止httpd                                              [确定]

启动httpd                                               [确定]

验证:


基于apche的web服务器的配置_虚拟主机_07

基于apche的web服务器的配置_AWstats_08

(2)基于端口的虚拟主机[无需配置DNS直接指定端口,访问不同端口获取不同网页;用于内部机测试网站]

修改虚拟主机配置文件:

[root@ser1 ~]# vim /etc/httpd/conf.d/vhosts.conf

#NameVirtualHost *:80……不需要NameVirtualHostNameServer

<VirtualHost 192.168.10.10:80>

  DocumentRoot /data/www

   ErrorLoglogs/dk-www.baidu.com-error_log

   CustomLoglogs/dk-www.baidu.com-access_log common

</VirtualHost>

<VirtualHost 192.168.10.10:81>

  DocumentRoot /data/bbs

   ErrorLoglogs/dk-bbs.baidu.com-error_log

   CustomLoglogs/dk-bbs.baidu.com-access_log common

</VirtualHost>

~                      

修改web配置文件,侦听81端口:

[root@ser1 ~]# vim /etc/httpd/conf/httpd.conf

#Listen 12.34.56.78:80

Listen 80

Listen 81

验证:



基于apche的web服务器的配置_web服务器_09

基于apche的web服务器的配置_web服务器_10

基于apche的web服务器的配置_网页跳转_11

(3)基于ip地址的虚拟主机[很少使用]

在主机上虚拟一块网卡:

[root@ser1 ~]# ifconfig eth0:0 192.168.10.6

修改DNS解析文件:

$TTL    86400

@       IN      SOA    baidu.com. root.baidu.com.  (

                                    2014030901 ; Serial

                                    28800      ; Refresh

                                     14400      ; Retry

                                    3600000    ; Expire

                                     86400)    ; Minimum

       IN      NS     dns1.baidu.com.

dns1    IN      A      192.168.10.10

www     IN      A      192.168.10.10

bbs     IN      A      192.168.10.6

修改虚拟主机配置文件:

[root@ser1 ~]# vim /etc/httpd/conf.d/vhosts.conf

#NameVirtualHost *:80……不需要NameVirtualHost

<VirtualHost 192.168.10.10:80>

  DocumentRoot /data/www

   ServerNamewww.baidu.com

   ErrorLoglogs/ip-www.baidu.com-error_log

   CustomLoglogs/ip-www.baidu.com-access_log common

</VirtualHost>

<VirtualHost 192.168.10.6:80>

  DocumentRoot /data/bbs

   ServerNamebbs.baidu.com

   ErrorLoglogs/ip-bbs.baidu.com-error_log

   CustomLoglogs/ip-bbs.baidu.com-access_log common

</VirtualHost>

[root@ser1 ~]# service httpd restart……重启服务

停止httpd                                              [确定]

启动httpd                                              [确定]

验证:


基于apche的web服务器的配置_index.html_12

基于apche的web服务器的配置_web服务器_13

5,web服务的AWstats日志分析:

(1)安装awstats软件

[root@ser1 Desktop]# tar -zxvf awstats-7.1.tar.gz -C/usr/local/

[root@ser1 Desktop]# cd /usr/local/

[root@ser1 local]# mv awstats-7.1 awstats

[root@ser1 local]# cd awstats/

[root@ser1 awstats]# cd tools/

[root@ser1 tools]# ./awstats_configure.pl……安装软件

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

> /etc/httpd/conf/httpd.conf……输入web服务配置文件位置

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.baidu.com......输入监控的网站

Default: /etc/awstats

Directory path to store config file(s) (Enter fordefault):

>……Enter进入下一步

(2)配置AWstats文件

[root@ser1 tools]# vim/etc/awstats/awstats.www.baidu.com.conf

LogFile="/var/log/httpd/access_log"......导入网站访问日志

DirData="var/lib/awstats"......指定软件工作目录

(3)创建awstats工作目录

[root@ser1 tools]# mkdir /var/lib/awstats

(4)更新站点记录

[root@ser1 tools]# ./awstats_updateall.pl now

(5)添加计划任务

[root@ser1 ~]# crontab -e

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

(6)查看分析结果

基于apche的web服务器的配置_虚拟主机_14

(7)设计网页跳转,简化网络输入地址

[root@ser1 ~]# vim /var/www/html/sta.html

<html><head>

<meta http-equiv=refreshcontent="0;url=http://192.168.10.10/awstats/awstats.pl?config=www.baidu.com">

</head>

<body>

</body>

</html>

(8)测试:在浏览器输入www.baidu.com/sta.html

此步可能不成功,原因是:当设置完虚拟主机,网页文档的根目录(DocumentRoot)变为/data/{wwwbbs},而我们建立的网页文件的根目录是在/var/www/html,所以要保证试验成功:Ista.html文件移动到www或者bbs目录下;II把虚拟主机文件后缀改为bak[实际运用中采用第一种方法,直接把跳转网页放在定义的网页文件根目录下]


基于apche的web服务器的配置_虚拟主机_15

基于apche的web服务器的配置_网页跳转_16