Linux下的Apache

实验环境

Redhat企业8主机(192.168.1.19):开启Apache服务器,作为服务端
Redhat企业7主机(192.168.1.29)、window主机(192.168.1.5):作为客户端,用浏览器去访问企业8主机,测试httpd服务效果

1. Apache的基本介绍

  • Web服务器:是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用 HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。目前最主流的三个Web服务器是Apache、 Nginx 、IIS。
  • HTTP:是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
  • Apache(web服务器):Apache HTTP Server
  • curl -I 查看header头信息: 在这里插入图片描述

2.Apache的安装

①:搜索有关Apache的安装包
在这里插入图片描述
②:找到Apache http server 的软件包,进行安装
在这里插入图片描述

3.Apache的启用

①:开启httpd服务,并设置开机自启
在这里插入图片描述
②:查看防火墙所有规则,可以看到未开启http服务
在这里插入图片描述
③:在火墙中永久开启http,https服务(- -permanent 表示永久生效)
在这里插入图片描述
④:重新加载防火墙规则,可以看到服务开启成功
在这里插入图片描述

4.Apache的基本信息

  • 服务名称:httpd

  • 配置文件:配置文件修改后,要重启服务

    • 主配置文件:/etc/httpd/conf/httpd.conf
    • 子配置文件:/etc/httpd/conf.d/*.conf
  • 默认发布目录: /var/www/html

  • 默认发布文件:index.html

  • 默认端口:

  • http: 80

  • https: 443

  • 用户:Apache

  • 日志:/etc/httpd/logs

5.Apache的基本配置

5.1 、 Apache端口修改
①:修改主配置文件,设置端口号8080
在这里插入图片描述
在这里插入图片描述
②:在火墙中开启8080端口号
在这里插入图片描述
③:在selinux中开启8080端口
在这里插入图片描述
在这里插入图片描述
④:重启httpd服务,httpd的端口号被修改为 8080
在这里插入图片描述
5.2、默认发布文件
①:在/var/www/html目录下编写test.html文件
在这里插入图片描述
在这里插入图片描述
②:在客户端访问服务端(192.168.1.19)时需指定test.html文件才能看到test.html内容
在这里插入图片描述
在这里插入图片描述
③:修改配置文件/etc/httpd/conf/httpd.conf,设置默认发布文件为test.html
在这里插入图片描述
④:重启httpd服务,在客户端浏览器中可以直接访问到test.html的内容
在这里插入图片描述
5.3 、默认发布目录
①:建立/httpd目录,在这个目录下编写testdir.html文件
在这里插入图片描述
在这里插入图片描述
②:修改主配置文件,设定默认发布目录为/httpd目录,并对其进行授权
在这里插入图片描述
③:修改/httpd目录的安全上下文为/var/www/html目录的安全上下文的类型
在这里插入图片描述
④:重启httpd服务,在客户端访问服务端,可以看到/httpd/testdir.html文件的内容
在这里插入图片描述

6.Apache的访问控制

实验素材:
还原默认发布目录为/var/www/html
创建/var/www/html//westos目录;
在新建目录下编写index.html文件
在这里插入图片描述
6.1 、基于客户端IP的访问控制
IP黑名单
①:修改/etc/httpd/conf/httpd.conf文件,设置禁止客户端(192.168.1.29)访问/westos目录
在这里插入图片描述
②:重启服务后,在客户端192.168.1.29主机测试,无法访问http://192.168.1.19/westos
在这里插入图片描述
③:在window(192.168.1.5)的浏览器中测试:可以访问http://192.168.1.19/westos
在这里插入图片描述
IP白名单
①:修改主配置文件,设置只有192.168.1.29客户端可以访问http:/192.168.1.19/westos
在这里插入图片描述
②:在客户端192.168.1.29主机上测试,可以访问http://192.168.1.19/westos
在这里插入图片描述
③:在window(192.168.1.5)主机上测试,无法访问http://192.168.1.19/westos
在这里插入图片描述
6.2 、基于用户认证访问
实验素材:修改index.html文件内容为
在这里插入图片描述
①:编写主配置文件(认证文件名称自定义)
在这里插入图片描述
②:生成认证文件,当文件存在后,添加用户时不要用-c参数,否则会覆盖原文件内容
在这里插入图片描述
③:重启服务,在客户端测试,只有输入正确用户名及密码才可访问http://192.168.1.19/westos
在这里插入图片描述
在这里插入图片描述
④:清空浏览器缓存,输入无效的用户名及密码,认证失败,无法访问
在这里插入图片描述
在这里插入图片描述
设定部分用户可以访问:
⑤:修改主配置文件,设定允许通过的认证用户为admin
在这里插入图片描述
⑥:重启httpd服务,清空浏览器历史,输入正确的student用户名及密码,认证失败,无法访问http://192.168.1.19/westos
在这里插入图片描述
在这里插入图片描述
⑦:admin用户可以正常访问
在这里插入图片描述
在这里插入图片描述

7. Apache的虚拟主机

  • 作用:一个IP对应多个站点

7.1 实验素材
①:在搭建Apache服务器的192.168.1.19主机上创建两个层级目录 /var/www/westos.com/{news,wenku},作为两个不同站点的发布目录
在这里插入图片描述
②:编写这两个站点的发布文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
③:编写默认访问的发布文件
在这里插入图片描述
在这里插入图片描述
7.2 、Apache虚拟主机的配置
①:编写虚拟主机配置文件(文件名自定义)在这里插入图片描述
②:在该配置文件中指定默认访问目录为/var/www/html;当访问news.westos.com时,指定访问目录为/var/www/westos.com/news/;当访问wenku.westos.com时,指定访问目录为/var/www/westos.com/wenku/
在这里插入图片描述
③:重启httpd服务,Apache服务器主机上的设定就完成了
7.3、设定客户端解析
在客户端主机上修改本地解析文件,指定相应的ip和域名
在这里插入图片描述
在这里插入图片描述
7.4、测试
①:在客户端的浏览器访问http://www.westos.com 或是http://192.168.1.19,可以浏览到指定的默认访问文件
在这里插入图片描述
在这里插入图片描述
②:在客户端浏览器,访问http://news.westos.com
在这里插入图片描述
③:在客户端浏览器,访问http://wenku.westos.com
在这里插入图片描述

8.Apache的语言支持

Apache支持的语言:

  • HTML (默认): 超文本标记语言
  • php :即“超文本预处理器”,是一种通用开源脚本语言
  • cgi:公共网关接口(Common Gateway Interface,CGI)是Web 服务器运行时外部程序的规范,按CGI 编写的程序可以扩展服务器功能。

8.1、php
①:安装php
在这里插入图片描述
②:编写php测试页面
在这里插入图片描述
在这里插入图片描述
③:重启httpd服务
④:在客户端浏览器访问 http://192.168.1.19/index.php
在这里插入图片描述8.2、cgi
①:在/var/www/cgi-bin目录下编写index.cgi文件,作为测试cgi页面(也可以创建一个单独的目录,存放.cgi文件,但需要将创建的目录的安全上下文修改成cgi-bin目录的安全上下文)
在这里插入图片描述
在这里插入图片描述
②:因为.cgi文件需要执行,所以我们给index.cgi文件加上可执行权限
在这里插入图片描述
③:编写子配置文件,文件名称自定义,设定可以执行.cgi文件,以及cgi的重要标识
在这里插入图片描述
在这里插入图片描述
④:重启httpd服务,在客户端浏览器,访问http://192.168.1.19/cgi-bin/index.cgi,可以看到cgi测试页面
在这里插入图片描述

9.Apache的加密访问(https)

HTTPS (全称:Hyper Text Transfer Protocol over SecureSocket Layer,是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL 层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与 TCP 之间)。这个系统提供了身份验证与加密通讯方法。它被广泛用于万维网上安全敏感的通讯,例如交易支付等方面。

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层与应用层之间对网络连接进行加密。

OpenSSL(Open Secure Sockets Layer) 是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。

9.1、实验素材
①:创建/var/www/westos.com/login目录,作为https测试站点的访问目录
在这里插入图片描述
②:编写https测试页面内容
在这里插入图片描述
在这里插入图片描述
9.2、生成证书
①:下载ssl插件
在这里插入图片描述
在这里插入图片描述
②:生成2048位的rsa私钥,并导入/etc/pki/tls/private/www.westos.com.key文件中
在这里插入图片描述
③:生成证书签名请求文件,导入/etc/pki/tls/certs/www.westos.com.csr文件中
在这里插入图片描述
④:通过证书请求及私钥,生成类型为x509,有效期为365天的证书,并导入/etc/pki/tls/certs/www.westos.com.crt文件中;
-req #请求; -in #加载证书请求
在这里插入图片描述
在这里插入图片描述
9.3、虚拟主机配置
编写虚拟主机配置文件,设定login.westos.com站点加密访问策略
在这里插入图片描述
在这里插入图片描述
我们在地址栏输入login.westos.com时,默认访问http://login.westos.com即80端口,因此我们需要对其进行网页重写,在输入login.westos.com 时,自动在域名前加上https字符
编写完配置文件后,需要重启httpd服务!
9.4、客户端测试
①:在客户端本地解析文件/etc/hosts/中,添加login.westos.com的域名解析
在这里插入图片描述
②:在浏览器访问login.westos.com,显示站点不安全,我们可以添加证书
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
③:证书下载后,我们就可以看到https测试站点的页面内容了
在这里插入图片描述
④:查看证书信息,和我们申请的证书内容一致
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值