首页 > 代码库 > 红帽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)