一、概述Apache
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
对于apache而言,主机分为中心主机和虚拟主机【请注意:两者不能同时使用】
要想使用虚拟主机必须取消中心主机,在配置文件/etc/httpd/conf/httpd.conf注释中心主机的DocumentRoot即可。
Apache认证:基于IP地址、基于端口、基于主机域名,同时还可以给http定义路径别名和控制用户访问查看http的工作状态等内容;
二、基于IP地址配置实例分析
前提:在一台虚拟机中设定两个IP地址(也可以在两台虚拟机中操作,我主要是为了配置方便,可以根据需要自己定义),在配置文件中设置端口号都为80;这里我使用yum源下载httpd软件包,安装httpd软件包过程我就不详细演示了,yum源下载路径:ftp://172.16.0.1/pub/gls/server.repo
规划如下:
IP1:172.16.52.2
IP2:172.16.52.4
1、 设置两个IP地址

  1. [[email protected] ~]#ip addr add 172.16.52.4/16 dev eth0  
  2. 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue   
  3.     link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00  
  4.     inet 127.0.0.1/8 scope host lo  
  5. 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000  
  6.     link/ether 00:0c:29:6a:f7:98 brd ff:ff:ff:ff:ff:ff  
  7.     inet 172.16.52.2/16 brd 172.16.255.255 scope global eth0  
  8. inet 172.16.52.4/16 scope global secondary eth0  
2、创建并编辑基于IP地址的文件

  1. [[email protected] ~]#vim /etc/httpd/conf.d/vitual     ####可以使用提供的配置文件,我为了方便,自己创建一个新的文件  
  2. <VirtualHost 172.16.52.2:80>  
  3.     ServerName www1.magedu.com  
  4.     DocumentRoot "/web/vhosts/www1" 
  5. CustomLog /var/log/httpd/www1.access combined  
  6. </VirtualHost>  
  7. <VirtualHost 172.16.52.4:80>  
  8.     ServerName www2.magedu.com  
  9.     DocumentRoot "/web/vhosts/www2" 
  10. CustomLog /var/log/httpd/www2.access combined  
  11. </VirtualHost>  
  12. 保存退出  
3、 创建、编辑和页面的根目录

  1. [[email protected] ~]#mkdir /web/vhosts/www1 –pv  
  2. [[email protected] ~]#vim /web/vhosts/www1/index.html  
  3. www1.magedu.com  
  4. 保存退出  
  5. [[email protected] ~]#vim /web/vhosts/www1/index.html  
  6. www2.magedu.com  
  7. 保存退出  
4、创建日志文件

  1. [[email protected] ~]#cd /var/log/httpd/  
  2. [[email protected] httpd]#touch www1.access  
  3. [[email protected] httpd]#touch www2.access  
  4. [[email protected] httpd]#service httpd restart  
5、测试172.16.52.2站点

基于Apache平台认证的配置分析

6、测试172.16.52.4站点

基于Apache平台认证的配置分析

三、基于主机域名配置实例分析
说明:我使用172.16.52.2地址对虚拟主机域名演示
规划如下:
域名1:www1.magedu.com
域名2:www2.magedu.com
1、创建并编辑基于主机域名的文件

  1. [[email protected] ~]#vim /etc/httpd/conf.d/vitual  
  2. NameVirtualHost 172.16.52.2:80  
  3. <VirtualHost 172.16.52.2:80>  
  4.     ServerName www1.magedu.com  
  5. DocumentRoot "/web/vhosts/www1" 
  6. CustomLog /var/log/httpd/www1.access combined  
  7. </VirtualHost>  
  8. <VirtualHost 172.16.52.2:80>  
  9.     ServerName www2.magedu.com  
  10. DocumentRoot "/web/vhosts/www2" 
  11. CustomLog /var/log/httpd/www2.access combined  
  12. </VirtualHost>  
  13. 保存退出  

2、在物理机的hosts文件中添加域名和对应IP地址


  1. 物理机hosts文件路径:点击“本地磁盘C”—>Windows—>System32—>drivers—>etc—>hosts  
  2. 添加:  
  3. 172.16.52.2    www1.magedu.com  
  4. 172.16.52.2    www2.magedu.com  
  5. 保存退出  
  6. ######在IE浏览器上测试站点,对虚拟主机进行域名解析  
3、 创建、编辑和页面的根目录以及创建文件,这个过程和基于IP地址操作相同,我这里就不演示了,最后一定不要忘记重启服务 
4、测试www1.magedu.com站点

基于Apache平台认证的配置分析

5、测试www2.magedu.com站点

基于Apache平台认证的配置分析  

6、查看访问www1.magedu.com后生成的日志信息(我这里只演示了www1的访问日志,访问www2日志方法相同)

基于Apache平台认证的配置分析

四、基于端口配置实例分析
说明:我这里使用172.16.52.2地址做演示,同时在配置文件中添加端口8080; 
1、 添加端口8080 

基于Apache平台认证的配置分析

2、 创建并编辑基于端口的文件

  1. [[email protected] ~]# vim /etc/httpd/conf.d/vitual   
  2. <VirtualHost 172.16.52.2:80>  
  3.     ServerName www1.magedu.com  
  4.     DocumentRoot "/web/vhosts/www1" 
  5. </VirtualHost>  
  6. <VirtualHost 172.16.52.2:8080>  
  7.     ServerName www2.magedu.com  
  8.     DocumentRoot "/web/vhosts/www2" 
  9. </VirtualHost>  
  10. 保存退出  
3、创建、编辑和页面的根目录以及创建文件,这个过程和上面的操作相同,我这里就不演示了,最后一定不要忘记重启服务 
4、测试172.16.52.2:80站点

基于Apache平台认证的配置分析

5、测试172.16.52.2:8080站点

基于Apache平台认证的配置分析

五、定义httpd的工作状态信息并只允许指定用户访问实例分析 
说明:我这里使用主机域名www1.magedu.com来查看httpd的工作状态
1、 编辑基于主机域名的文件,并在文件中添加信息

  1. [[email protected] ~]# vim /etc/httpd/conf.d/vitual
  2. NameVirtualHost 172.16.52.2:80
  3. <VirtualHost 172.16.52.2:80>
  4. ServerName www1.magedu.com
  5. DocumentRoot "/web/vhosts/www1"
  6. <Location /server-status>
  7. SetHandler server-status
  8. Options none
  9. AuthName "waha..."
  10. AuthType Basic
  11. AuthUserFile "/etc/httpd/htpasswd" #####为指定用户创建的文件路径
  12. Require user status ####只指定status用户访问站点
  13. Order allow,deny
  14. Allow from all #######允许所有主机访问
  15. </Location>
  16. </VirtualHost>
  17. <VirtualHost 172.16.52.2:80>
  18. ServerName www2.magedu.com
  19. DocumentRoot "/web/vhosts/www2"
  20. </VirtualHost>
  21. 保存退出
  22. [[email protected] ~]#service httpd restart
2、创建、编辑和页面的根目录以及创建文件,这个过程和上面的操作相同,我这里就不演示了
3、创建用户的文件和用户

  1. [[email protected] ~]#htpasswd –c –m /etc/httpd/htpasswd status  
  2. 输入密码,这里我使用的还是status为密码  
  3. #####注意:命令行中的-c选项只允许第一次创建时使用,如果第二次创建用户就不需要指定-c选项  
  4. [[email protected] ~]#service httpd restart  
4、 使用status用户登录站点www1.magedu.com 

基于Apache平台认证的配置分析

5、用户登录后查看http的工作信息

基于Apache平台认证的配置分析

六、定义http的路径别名实例分析 
说明:我这里使用的还是172.16.52.2的地址演示
1、在配置文件中添加路径别名信息
 
 
 
 

基于Apache平台认证的配置分析 

2、创建别名目录

  1. [[email protected] ~]# cd /qq/11 -pv  
  2. [[email protected] ~]# vim /qq/11/index.html  
  3. again,again  
  4. 保存退出  
  5. [[email protected] ~]#service httpd restart  

 3、测试路径别名基于Apache平台认证的配置分析