首页 > 代码库 > 红帽7搭建httpd的三种模式(基于主机,端口,IP)

红帽7搭建httpd的三种模式(基于主机,端口,IP)

httpd是Apache超文本传输协议(HTTP)服务器的主程序。被设计为一个独立运行的后台进程,它会建立一个处理请求的子进程或线程的池。


yum install httpd -y                                             #安装httpd

yum install policycoreutils-python -y                     #安装semanage


echo “laotang” > /var/www/html/index.html        #网站的默认路径是 /var/www/html,我们先设置下首页

systemctl restart httpd                                            #重启服务


#防火墙允许

firewall-cmd --permanent --add-service=http

firewall-cmd --reload


windows 客户端测试:OK

技术分享


简单的测试没问题后,我们直接进入主题,先配置基于IP(多IP)。让不同的IP访问到不同的首页。


#配置子IP(重启会失效)

ifconfig eno16777736:0 192.168.23.21 netmask 255.255.255.0 up     

ifconfig eno16777736:1 192.168.23.22 netmask 255.255.255.0 up   

技术分享  


#设置每个IP的不同首页

cd /var/www/html

rm -rf index.html        #删除前面测试的首页

mkdir 20

mkdir 21

mkdir 22

echo "IP:192.168.23.20" > /var/www/html/20/index.html

echo "IP:192.168.23.21" > /var/www/html/21/index.html

echo "IP:192.168.23.22" > /var/www/html/22/index.html


vim /etc/httpd/conf/httpd.conf    #进入主配置文件,在最下面添加如下图内容

技术分享


解释:

<VirtualHost 192.168.23.20 >

DocumentRoot /var/www/html/20          #DocumentRoot:你的文档的根目录。

ServerName www.laotang6.com        #ServerName指定Apache用于识别自身的名字和端口号

<Directory /var/www/html/20>    

AllowOverride None        #AllowOverride它可以是“All”,“None”。

Require all granted      #允许所有请求访问资源。Require all denied 拒绝所有请求访问资源

</Directory>

</VirtualHost>


systemctl restart httpd                                            #重启服务


客户端测试:OK

技术分享

技术分享

技术分享


基于IP地址已经实验成功了,现在要实验基于主机名,让不同的主机名访问到不同的首页。

基于主机名,需要用到DNS解析,DNS解析我们这里不说了。不知道怎么配置的话,请看我前面的配置DNS服务。 http://laotang6.blog.51cto.com/12692658/1934790 


cd /var/www/html

mkdir aaa

mkdir bbb

mkdir ccc

echo "aaa.laotang6.com" > /var/www/html/aaa/index.html

echo "bbb.laotang6.com" > /var/www/html/bbb/index.html

echo "ccc.laotang6.com" > /var/www/html/ccc/index.html


DNS解析

技术分享


vim /etc/httpd/conf/httpd.conf    进入主配置文件,在最下面添加如下图内容

(为了不影响实验,建议把前面基于IP配置用 # 注释掉。)

技术分享


systemctl restart httpd                                            #重启服务


客户端测试:OK (注意:客户端的DNS要指向服务器IP,才能正常解析)

技术分享

技术分享

技术分享



基于主机名已经实验成功了,现在要实验基于端口,让不同的端口访问到不同的首页。

(为了不影响实验,建议把前面基于主机名配置用 # 注释掉。)

cd /var/www/html

mkdir 6000

mkdir 6001

mkdir 6002

echo "IP:192.168.23.20:6000" > /var/www/html/6000/index.html

echo "IP:192.168.23.20:6001" > /var/www/html/6001/index.html

echo "IP:192.168.23.20:6002" > /var/www/html/6002/index.html


vim /etc/httpd/conf/httpd.conf    进入主配置文件,在42行下添加我们的端口,

文件打开行数命令(set nu)

技术分享


然后在最下面添加我们的配置文件

技术分享


然后更新服务(systemctl restart httpd ),发现更新不了

技术分享

原因是我们SElinux系统里面的http服务端口号,没有6000 6001 6002 这几个。我们添加进入就好了

semanage port -a -t http_port_t -p tcp 6000

semanage port -a -t http_port_t -p tcp 6001

semanage port -a -t http_port_t -p tcp 6002


semanage port -l | grep http            #查看SElinux的http服务端口号,添加完成之后就可以启动了

技术分享

systemctl restart httpd                                            #重启服务


客户端测试 OK

技术分享

技术分享

技术分享


以上基本配置完毕了,接下来我们来讲一下网页加密的,假如我上面配置的三个首页中,有一个需要加密的,那要怎么设置呢:例子:端口6002的首页需要加密。

vim /etc/httpd/conf/httpd.conf    进入主配置文件

修改端口6002的首页如下

技术分享


添加的四行分别是路径,提示,加密方式 ,用户认证,其中的tang是系统用户,注意:加密密码不是系统用户密码。

htpasswd -c /etc/httpd/passwd tang #设置密码(-c 参数用于第一次生成)


客户端测试

技术分享


输入正确密码后,显示首页

技术分享






文章参考于《Linux就该这么学》v0.2版本.

本文出自 “老唐” 博客,请务必保留此出处http://laotang6.blog.51cto.com/12692658/1936821

红帽7搭建httpd的三种模式(基于主机,端口,IP)