Apache web服务

curl -I www.baidu.com
curl -I baidu.com

1.apache

企业中常用的web服务,用来提供http://(超文本传输协议)

2.apache的安装部署

打开selinux
在这里插入图片描述

yum install httpd -y              
yum install httpd-manual -y                  ##安装apache手册
systemctl start httpd
systemctl enable httpd
systemctl start firewalld
firewall-cmd --permanent --add-service=http  ##永久允许http
firewall-cmd --reload                        ##火墙重新加载

在这里插入图片描述
列出apache
在这里插入图片描述
编辑html

在这里插入图片描述
网页登陆
在这里插入图片描述

(1)修改默认发布文件:
默认发布文件就是访问apache时没有指定文件名称时默认访问的文件
这个文件可以指定多个,有访问顺序

vim /etc/httpd/conf/httpd.conf

编辑子配置文件,164行
让test.html优先于index.html
在这里插入图片描述
编辑一个test.html,重起httpd
在这里插入图片描述
再次访问,将默认访问test.html
在这里插入图片描述
(2)修改默认端口:
43行 Listen 8080 ##修改默认端口为8080
firewall-cmd --permanent --add-port=8080/tcp ##火墙允许
firewall-cmd --reload

(3)修改默认发布目录:

vim /etc/httpd/conf/httpd.conf

120行添加
125-127行添加
126行为赋予所有权限
在这里插入图片描述
重起服务
创建目录
在这里插入图片描述

编辑html
在这里插入图片描述

查看文件安全上下文并修改
在这里插入图片描述

递归刷新并显示刷新过程
在这里插入图片描述
测试
在这里插入图片描述

4.apache 的虚拟主机

在/etc/hosts中添加ip和网址
在这里插入图片描述
添加虚拟主机文件并编辑html,内容有别即可
在这里插入图片描述
到httpd的子配置文件中编辑本地子配置文件adefault.conf
在这里插入图片描述
在网页中登陆刚才添加的三个网址,内容都是本机
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

编辑tom和jerry的配置文件
在这里插入图片描述

在这里插入图片描述
再次测试
在这里插入图片描述
在这里插入图片描述
注意:
若测试无效,则可能是缓存问题
删除缓存
ctrl+shift+delete

5.apache内部的访问控制

(1)访问黑白名单
白名单

vim /etc/httpd/conf.d/adefult.conf

如图
Order顺序为先执行禁止,再执行允许
即禁止所有,除了172.25.254.136
在这里插入图片描述
黑名单
允许所有,除了172.25.254.136
在这里插入图片描述
(2)用户访问的控制方式
创建一个admin的html,编辑新的内容
在这里插入图片描述
添加用户和密查看添加的用户,密码被加密

htpasswd -cm /etc/httpd/htuser 用户名1
htpasswd -m /etc/httpd/htuser 用户名2

注意:
-cm
c创建
m更改
再次创建用户把c去掉,否则会覆盖上次创建的用户
在这里插入图片描述
编辑配置文件

vim /etc/httpd/conf.d/adefult.conf

注意:将前面的黑白名单取消掉,即允许所有用户
在这里插入图片描述
注意:
13行和14行的功能类似选一种即可
如上面表示允许本机的所有用户
登陆admin,需要输入用户名和密码
在这里插入图片描述
登陆成功
在这里插入图片描述
设置只允许admin登陆
在这里插入图片描述

6.apache识别语言

(1)html
(2)php

vim /var/www/html/index.php

在这里插入图片描述
测试
172.25.254.136/index.php
在这里插入图片描述

(3)cgi
创建cgi目录
修改安全上下文
编辑cgi语言文件
给执行权限
在这里插入图片描述

vim cgi/index.cgi

在这里插入图片描述
用命令测试
在这里插入图片描述

注意:若不会cgi语言,可以在http手册中查看
登陆172.25.254.136/manual
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

复制上面到编辑配置文件并作修改

在这里插入图片描述

测试
172.25.254.136/cgi/index.cgi
在这里插入图片描述

^(/.*)$

(4)wsgi(cgi 安全模式)

yum install mod_wsgi -y
vim /var/www/html/cgi/westos.wsgi
chmod +x westos.wsgi

用python语言编辑脚本
在这里插入图片描述

编辑配置文件并给执行权限

   vim /etc/httpd/conf.d/adefult.conf

在这里插入图片描述
测试172.25.254/WSGI
在这里插入图片描述

7.https认证构建

http超文本传输协议
https超文本传输协议加密

简单来说就是如何让自己的http变成https
yum install mod_ssl -y
yum install crypto-utils -y

加锁

genkey www.westos.com

在这里插入图片描述
CA认证选择NO
在这里插入图片描述
其余的都选择next
认证信息填写
在这里插入图片描述

在这里插入图片描述

编辑配置文件

vim /etc/httpd/conf.d/ssl.conf

101行和108行复制上面的.crt和.key

在这里插入图片描述
在浏览器进入https://www.westos.com
选择下方add

在这里插入图片描述
该网址已经被认证嗯
在这里插入图片描述
在这里插入图片描述

8.设定https虚拟主机并设定网页重写

简单来说就是如何让一个网址直接跳到https://

cd /var/www/virtual/
mkdir westos.com/login
vim westos.com/login/index.html

在这里插入图片描述
编辑配置文件

vim /etc/httpd/conf.d/adefult.conf

在这里插入图片描述

^(/.*)$          ##客户端在浏览器地址栏中输入的所有字符
https://         ##强制客户端加密访问
%{HTTP_HOST}     ##客户端请求主机
$1               ##表示 ^(/.*)$的值
[redirect=301]   ##更改永久生效   302一次性生效

测试
输入login.westos.com
直接跳到https://login.westos.com
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44416500/article/details/87630062