基于Apache平台认证的配置分析
一、概述ApacheApache 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地址
[*]#ip addr add 172.16.52.4/16 dev eth0
[*]1: lo:mtu 16436 qdisc noqueue
[*] link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
[*] inet 127.0.0.1/8 scope host lo
[*]2: eth0:mtu 1500 qdisc pfifo_fast qlen 1000
[*] link/ether 00:0c:29:6a:f7:98 brd ff:ff:ff:ff:ff:ff
[*] inet 172.16.52.2/16 brd 172.16.255.255 scope global eth0
[*]inet 172.16.52.4/16 scope global secondary eth0
2、创建并编辑基于IP地址的文件
[*]#vim /etc/httpd/conf.d/vitual ####可以使用提供的配置文件,我为了方便,自己创建一个新的文件
[*]
[*] ServerName www1.magedu.com
[*] DocumentRoot "/web/vhosts/www1"
[*]CustomLog /var/log/httpd/www1.access combined
[*]
[*]
[*] ServerName www2.magedu.com
[*] DocumentRoot "/web/vhosts/www2"
[*]CustomLog /var/log/httpd/www2.access combined
[*]
[*]保存退出
3、 创建、编辑和页面的根目录
[*]#mkdir /web/vhosts/www1 –pv
[*]#vim /web/vhosts/www1/index.html
[*]www1.magedu.com
[*]保存退出
[*]#vim /web/vhosts/www1/index.html
[*]www2.magedu.com
[*]保存退出
4、创建日志文件
[*]#cd /var/log/httpd/
[*]#touch www1.access
[*]#touch www2.access
[*]#service httpd restart
5、测试172.16.52.2站点
6、测试172.16.52.4站点
三、基于主机域名配置实例分析
说明:我使用172.16.52.2地址对虚拟主机域名演示
规划如下:
域名1:www1.magedu.com
域名2:www2.magedu.com
1、创建并编辑基于主机域名的文件
[*]#vim /etc/httpd/conf.d/vitual
[*]NameVirtualHost 172.16.52.2:80
[*]
[*] ServerName www1.magedu.com
[*]DocumentRoot "/web/vhosts/www1"
[*]CustomLog /var/log/httpd/www1.access combined
[*]
[*]
[*] ServerName www2.magedu.com
[*]DocumentRoot "/web/vhosts/www2"
[*]CustomLog /var/log/httpd/www2.access combined
[*]
[*]保存退出
2、在物理机的hosts文件中添加域名和对应IP地址
[*]物理机hosts文件路径:点击“本地磁盘C”—>Windows—>System32—>drivers—>etc—>hosts
[*]添加:
[*]172.16.52.2 www1.magedu.com
[*]172.16.52.2 www2.magedu.com
[*]保存退出
[*]######在IE浏览器上测试站点,对虚拟主机进行域名解析
3、 创建、编辑和页面的根目录以及创建文件,这个过程和基于IP地址操作相同,我这里就不演示了,最后一定不要忘记重启服务
4、测试www1.magedu.com站点
5、测试www2.magedu.com站点
6、查看访问www1.magedu.com后生成的日志信息(我这里只演示了www1的访问日志,访问www2日志方法相同)
四、基于端口配置实例分析
说明:我这里使用172.16.52.2地址做演示,同时在配置文件中添加端口8080;
1、 添加端口8080
2、 创建并编辑基于端口的文件
[*]# vim /etc/httpd/conf.d/vitual
[*]
[*] ServerName www1.magedu.com
[*] DocumentRoot "/web/vhosts/www1"
[*]
[*]
[*] ServerName www2.magedu.com
[*] DocumentRoot "/web/vhosts/www2"
[*]
[*]保存退出
3、创建、编辑和页面的根目录以及创建文件,这个过程和上面的操作相同,我这里就不演示了,最后一定不要忘记重启服务
4、测试172.16.52.2:80站点
5、测试172.16.52.2:8080站点
五、定义httpd的工作状态信息并只允许指定用户访问实例分析
说明:我这里使用主机域名www1.magedu.com来查看httpd的工作状态
1、 编辑基于主机域名的文件,并在文件中添加信息
[*]# vim /etc/httpd/conf.d/vitual
[*]NameVirtualHost 172.16.52.2:80
[*]
[*] ServerName www1.magedu.com
[*]DocumentRoot "/web/vhosts/www1"
[*]
[*] SetHandler server-status
[*] Options none
[*] AuthName "waha..."
[*] AuthType Basic
[*] AuthUserFile "/etc/httpd/htpasswd" #####为指定用户创建的文件路径
[*] Require user status ####只指定status用户访问站点
[*] Order allow,deny
[*] Allow from all #######允许所有主机访问
[*]
[*]
[*]
[*] ServerName www2.magedu.com
[*] DocumentRoot "/web/vhosts/www2"
[*]
[*]保存退出
[*]#service httpd restart
2、创建、编辑和页面的根目录以及创建文件,这个过程和上面的操作相同,我这里就不演示了
3、创建用户的文件和用户
[*]#htpasswd –c –m /etc/httpd/htpasswd status
[*]输入密码,这里我使用的还是status为密码
[*]#####注意:命令行中的-c选项只允许第一次创建时使用,如果第二次创建用户就不需要指定-c选项
[*]#service httpd restart
4、 使用status用户登录站点www1.magedu.com
5、用户登录后查看http的工作信息
六、定义http的路径别名实例分析
说明:我这里使用的还是172.16.52.2的地址演示
1、在配置文件中添加路径别名信息
2、创建别名目录
[*]# cd /qq/11 -pv
[*]# vim /qq/11/index.html
[*]again,again
[*]保存退出
[*]#service httpd restart
3、测试路径别名
页:
[1]