系统:RHEL6.4
客户端防火墙关闭
服务端防火墙关闭
注:未配置DNS,暂使用host文件来测试
Windows:
修改C:\Windows\System32\drivers\etc下hosts文件
192.168.10.253 www.httpdtest.com
实验一
设置条件:
主机名设为:www.httpdtest.com 192.168.10.253
默认首页包括:index.html index.php
开启保持连接
确认默认httpd是否支持php
1.软件包发安装
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.10.253
NETMASK=255.255.255.0
2.修改主配置文件
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
...
74 KeepAlive On //开启保持连接
.....
277 ServerName www.httpdtest.com:80 //本站点的FQDN名称
....
401 DirectoryIndex index.html index.php //默认首页/索引页文件
.....
3.启动服务
[root@localhost ~]#service httpd restart
[root@localhost ~]#chkconfig httpd on
4.新建测试页面
[root@localhost ~]#vim /var/www/html/index.html
<html>
<head>
<title>TEST PAGE</title>
</head>
<body>
<h1>This is www.httpdtest.com Test Page!!!</h1>
</body>
</html>
[root@localhost ~]# vim /var/www/html/index.php
<?php
phpinfo();
?>
5.客户端测试
http://www.tarena.com
http://www.tarena.com/index.php
实验二
要求:
只允许192.168.10.21访问www.httpftest.com
允许所有用户访问www.httpdtest.com/authdir/index.html
1.安装软件包
2.修改配置文件
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
......
306 <Directory "/var/www/html">
....
332 Order allow,deny //先允许后拒绝
333 Allow from 192.168.10.21 //只允许192.168.10.21
...
337 <Directory "/var/www/html/authdir">
Order allow,deny
Allow from all //允许所有
340 </Directory>
3. 启动服务
[root@localhost ~]#service httpd restart
4.在不同客户端测试http://www.tarena.com
[root@localhost ~]#tail /var/log/httpd/error_log //查看日志验证实验是否成功
实验三:HTTP的用户授权
客户端访问www.httpdtest.com/authdir/需要输入用户名密码验证
1.修改主配置文件
[root@localhost ~]# vim /etc/httpd/conf/httpd.conf
337 <Directory "/var/www/html/authdir">
Order allow,deny
Allow from all
AuthName "Please Inout Password" //认证名称,用于弹窗显示
AuthType Basic //认证类型,一般使用basic
AuthUserFile "/etc/httpd/.vuser" //用户数据文件路径
Require valid-user //指定授权用户名或组
344 </Directory>
2.创建帐户密码
[root@localhost ~]# htpasswd -c /etc/httpd/.auth.list admin
New passwd:
Re-type new password:
Adding passwd for user admin
3.启动服务测试
[root@localhost ~]# service httpd restart
http://www.tarena.com/authdir
实验四:HTTP目录别名
客户端访问www.httpdtest.com/sina时可以访问/var/www/html/sina.com/bbs下的网页
1.创建测试站点
[root@localhost ~]#mkdir -p /var/www/html/sina.com/bbs/
[root@localhost ~]#cat /var/www/html/sina.com/bbs/index.html
2.修改主配置文件
[root@localhost ~]#vim /etc/httpd/conf/httpd.conf
548 Alias /sina "/var/www/html/sina.com/bbs" //添加别名
3.启动服务测试
[root@localhost ~]#service httpd restart
http://www.httpdtest.com/sina
实验五: 部署Awstats统计HTTP访问日志
1.安装软件
[root@localhost ~]#cd /usr/src
[root@localhost src]#tar -zxvf awstats-7.1.tar.gz -C /usr/local/
[root@localhost src]#cd /usr/local
[root@localhost local]#mv awstats-7.1/ awstats
2.为站点建立配置文件
[root@localhost ~]#cd /usr/local/awstats/tool/
[root@localhost ~]#./awstats_configure.pl
...
Config file path ('none' to skip web server setup):
> /etc/httpd/conf/httpd.conf //输入apache的主配置文件
?y //同意创建新的站点配置
>www.httpftest.com //指定网站名称
> //回车,接受配置路径/etc/awstats
// ......自动重启httpd服务
> // 回车,继续
> //回车,完成配置
3.修改主配置文件
[root@localhost tools]# vim /etc/awstats/awstats.www.httpdtest.com.conf
...
51 LogFiel="/var/log/httpd/access_log"
[root@localhost tools]# mkdir /var/lib/awstats
4.将日志文件导入Awstats
[root@localhost ~]#./awstats_updateall.pl now
[root@localhost ~]#crontab -e //添加计划任务每五分钟导入一次
*/5 * * * * /usr/local/awstats/tools/awstats_updateall.pl now
[root@localhost ~]#service crond restart
[root@localhost ~]#chkconfig crond on
5.验证:
客户端浏览器输入
http://www.httpdtest.com/awstats/awstats.pl?config=www.httpdtest.com //查看图表
补充:通过html代码实现网页跳转功能
访问awstats.html时相当于访问http://www.httpdtest.com/awstats/awstats.pl?config=www.httpdtest.com
[root@localhost ~]#vim /var/www/html/awstats.html
<html>
<head>
<meta http-equiv=refresh content="0;url=http://www.httpdtest.com/awstats/awstats.pl?config=www.httpdtest.com">
</head>
<body>
</body>
</html>
实验六:基于域名的虚拟主机
当用户访问www.baidu.com的时候访问baidu网站
当用户访问www.google.com的时候访问google网站
baidu,google的IP地址一样
确保上面www.httpdtest.com还能访问
前提条件配置hosts
192.168.10.253 www.httpdtest.com www
192.168.10.253 www.baidu.com www
192.168.10.253 www.google.com www
1.创建网站存放路径
[root@localhost ~]#mkdir -p /data/web/{www,google}
[root@localhost ~]#vim /data/web/baidu/index.html
<html>
<head>
<title>百度测试页</title>
</head>
<body>
<h1>This is www.baidu.com Test Page!!!</h1>
</body>
</html>
[root@localhost ~]#vim /data/web/google/index.html
<html>
<head>
<title>谷歌测试页</title>
</head>
<body>
<h1>This is www.google.com Test Page!!!</h1>
</body>
</html>
2.修改主配置文件
[root@localhost ~]# vim /etc/httpd/conf.d/virt.conf
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/html
ServerName www.httpdtest.com
ErrorLog logs/httpdtest.com-error_log
CustomLog logs/httpdtest.com-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /data/web/baidu
ServerName www.baidu.com
ErrorLog logs/baidu.com-error_log
CustomLog logs/baidu.com-access_log common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /data/web/google
ServerName www.google.com
ErrorLog logs/google.com-error_log
CustomLog logs/google.com-access_log common
</VirtualHost>
3.启动服务
[root@localhost ~]# service httpd restart
4.客户端测试
http://www.httpdtest.com
http://www.baidu.com
http://www.google.com
实验七:基于IP的虚拟主机
前提条件配置hosts
192.168.10.10 www.httpdtest.com www
192.168.10.11 www.baidu.com www
192.168.10.12 www.google.com www
1.建立网站存放路径...略
2.设置IP
[root@localhost ~]#cd /etc/sysconfig/network-scripts/
[root@localhost ~]#cp ifcfg-eth0 ifcfg-eth0:0
[root@localhost ~]#cp ifcfg-eth0 ifcfg-eth0:1
[root@localhost ~]#vim /ifcfg-eth0:0
DEVICE=eth0:0
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.10.11
NETMASK=255.255.255.0
[root@localhost ~]#vim /ifcfg-eth0:1
DEVICE=eth0:1
BOOTPROTO=none
ONBOOT=yes
IPADDR=192.168.10.12
NETMASK=255.255.255.0
[root@localhost ~]#service network restart
3.修改主配置文件
[root@localhost ~]# vim /etc/httpd/conf.d/virt.conf
<VirtualHost 192.168.10.10>
DocumentRoot /var/www/html
ServerName www.httpdtest.com
ErrorLog logs/httpdtest.com-error_log
CustomLog logs/httpdtest.com-access_log common
</VirtualHost>
<VirtualHost 192.168.10.11>
DocumentRoot /data/web/baidu
ServerName www.baidu.com
ErrorLog logs/baidu.com-error_log
CustomLog logs/baidu.com-access_log common
</VirtualHost>
<VirtualHost 192.168.10.12>
DocumentRoot /data/web/google
ServerName www.google.com
ErrorLog logs/google.com-error_log
CustomLog logs/google.com-access_log common
</VirtualHost>
4.启动服务
[root@localhost ~]#service httpd restart
5.测试
http://www.httpdtest.com
http://www.baidu.com
http://www.google.com
ping www.httpdtest.com
ping www.baidu.com
ping www.google.com
实验八:基于端口的虚拟主机
www.httpdtest.com:80 tarena.com 的网站
www.baidu.com:8080 baidu.com 的网站
www.google.com:8081 google.com 的网站
建立网站存放路径...略
修改主配置文件
[root@localhost ~]# vim /etc/httpd/conf.d/virt.conf
Listen 80
Listen 8080
Listen 8081
#NameVirtualHost *:80 //不需要
<VirtualHost 192.168.10.10:80>
DocumentRoot /var/www/html
ServerName www.httpdtest.com
ErrorLog logs/httpdtest.com-error_log
CustomLog logs/httpdtest.com-access_log common
</VirtualHost>
<VirtualHost 192.168.10.10:8080>
DocumentRoot /data/web/baidu
ServerName www.baidu.com
ErrorLog logs/baidu.com-error_log
CustomLog logs/baidu.com-access_log common
</VirtualHost>
<VirtualHost 192.168.10.10:8081>
DocumentRoot /data/web/google
ServerName www.google.com
ErrorLog logs/google.com-error_log
CustomLog logs/google.com-access_log common
</VirtualHost>
4.启动服务
[root@localhost ~]#service httpd restart
5.测试
http://www.httpdtest.com:80
http://www.baidu.com:8080
http://www.google.com:8081