基于Apache平台认证的配置分析
一、概述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地址
- [[email protected] ~]#ip addr add 172.16.52.4/16 dev eth0
- 1: lo: <LOOPBACK,UP,LOWER_UP> 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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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地址的文件
- [[email protected] ~]#vim /etc/httpd/conf.d/vitual ####可以使用提供的配置文件,我为了方便,自己创建一个新的文件
- <VirtualHost 172.16.52.2:80>
- ServerName www1.magedu.com
- DocumentRoot "/web/vhosts/www1"
- CustomLog /var/log/httpd/www1.access combined
- </VirtualHost>
- <VirtualHost 172.16.52.4:80>
- ServerName www2.magedu.com
- DocumentRoot "/web/vhosts/www2"
- CustomLog /var/log/httpd/www2.access combined
- </VirtualHost>
- 保存退出
3、 创建、编辑和页面的根目录
- [[email protected] ~]#mkdir /web/vhosts/www1 –pv
- [[email protected] ~]#vim /web/vhosts/www1/index.html
- www1.magedu.com
- 保存退出
- [[email protected] ~]#vim /web/vhosts/www1/index.html
- www2.magedu.com
- 保存退出
4、创建日志文件
- [[email protected] ~]#cd /var/log/httpd/
- [[email protected] httpd]#touch www1.access
- [[email protected] httpd]#touch www2.access
- [[email protected] httpd]#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、创建并编辑基于主机域名的文件
- [[email protected] ~]#vim /etc/httpd/conf.d/vitual
- NameVirtualHost 172.16.52.2:80
- <VirtualHost 172.16.52.2:80>
- ServerName www1.magedu.com
- DocumentRoot "/web/vhosts/www1"
- CustomLog /var/log/httpd/www1.access combined
- </VirtualHost>
- <VirtualHost 172.16.52.2:80>
- ServerName www2.magedu.com
- DocumentRoot "/web/vhosts/www2"
- CustomLog /var/log/httpd/www2.access combined
- </VirtualHost>
- 保存退出
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、 创建并编辑基于端口的文件
- [[email protected] ~]# vim /etc/httpd/conf.d/vitual
- <VirtualHost 172.16.52.2:80>
- ServerName www1.magedu.com
- DocumentRoot "/web/vhosts/www1"
- </VirtualHost>
- <VirtualHost 172.16.52.2:8080>
- ServerName www2.magedu.com
- DocumentRoot "/web/vhosts/www2"
- </VirtualHost>
- 保存退出
3、创建、编辑和页面的根目录以及创建文件,这个过程和上面的操作相同,我这里就不演示了,最后一定不要忘记重启服务
4、测试172.16.52.2:80站点
5、测试172.16.52.2:8080站点
五、定义httpd的工作状态信息并只允许指定用户访问实例分析
说明:我这里使用主机域名www1.magedu.com来查看httpd的工作状态
1、 编辑基于主机域名的文件,并在文件中添加信息
- [[email protected] ~]# vim /etc/httpd/conf.d/vitual
- NameVirtualHost 172.16.52.2:80
- <VirtualHost 172.16.52.2:80>
- ServerName www1.magedu.com
- DocumentRoot "/web/vhosts/www1"
- <Location /server-status>
- SetHandler server-status
- Options none
- AuthName "waha..."
- AuthType Basic
- AuthUserFile "/etc/httpd/htpasswd" #####为指定用户创建的文件路径
- Require user status ####只指定status用户访问站点
- Order allow,deny
- Allow from all #######允许所有主机访问
- </Location>
- </VirtualHost>
- <VirtualHost 172.16.52.2:80>
- ServerName www2.magedu.com
- DocumentRoot "/web/vhosts/www2"
- </VirtualHost>
- 保存退出
- [[email protected] ~]#service httpd restart
2、创建、编辑和页面的根目录以及创建文件,这个过程和上面的操作相同,我这里就不演示了
3、创建用户的文件和用户
- [[email protected] ~]#htpasswd –c –m /etc/httpd/htpasswd status
- 输入密码,这里我使用的还是status为密码
- #####注意:命令行中的-c选项只允许第一次创建时使用,如果第二次创建用户就不需要指定-c选项
- [[email protected] ~]#service httpd restart
4、 使用status用户登录站点www1.magedu.com
5、用户登录后查看http的工作信息
六、定义http的路径别名实例分析
说明:我这里使用的还是172.16.52.2的地址演示
1、在配置文件中添加路径别名信息
2、创建别名目录
- [[email protected] ~]# cd /qq/11 -pv
- [[email protected] ~]# vim /qq/11/index.html
- again,again
- 保存退出
- [[email protected] ~]#service httpd restart
转载于:https://blog.51cto.com/luowenjing/1178087