实验环境
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。
- 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用户可以正常访问