RHCE-Appache
整理实验环境
rhel7中
思路:
1.配置ip地址为192.168.43.10
2.网关:192.168.0.1
3.子网掩码 PREFIX=24
4.主机名 hostnamectl set-hostname rhel7_node1.westos.com
5.验证:ping 114.114.114.144成功,说明该主机可以连接外网
ping www.baidu.con 若显示不知道baidu是个什么东西,说明DNS没有设置
6.设置DNS DNS1=114.114.114.114
步骤:
(1) ifconfig 查看ip情况
(2) vim /etc/sysconfig/network-scripts/ifcfg-ens33 进入配置文件进行编辑
(3)systemctl restart network 重启网络
(4)ifconfig 查看ip是否配置成功
(5)ping 114.114.114.114 查看是否能连接外网
(6)ping -w 3 www.baidu.com 查看DNS是否配置好
图1 2
rhel8中
思路:
1.配置ip地址为192.168.43.11
2.子网掩码 PREFIX=24
3.配置yum源(下载时自动解决软件依赖关系)
配置ip等基本信息
(1)vim /etc/sysconfig/network-scripts/ ifcfg-ens160
(2) systemctl restart NetworkManager
(3) nmcli connection show
(4) nmcli connection down ens160
(5) nmcli connection up ens160
(6) systemctl restart NetworkManager
(7) ping 192.168.43.10
配置yum 源
(1) df 查看挂载位置
(2) cd /run/media/root/RHEL-8-0-0-BaseOS-x86_64 查看到目录中有AppStream和BaseOS两个目录
(3) cd /etc/yum.repos.d/ 进入配置目录
(4) vim westos.repo 配置系统访问路径
(5) yum clean all 清空旧的,加载新的仓库
(6) yum repolist 显示资源仓库数有没有列出
图3-5
一、Apache 的作用
一些常识:
- http:// 超文本传输协议,互联网的文件传输协议
- 协议是什么? 就是商量好的事!人就是商量好事情的载体,协议是商量好的事
- 在web被访问时同时自动在前面加上http://,也就是通常使用http://方式
- 为什么可以通过浏览器访问到csdn呢?这是因为超文本协议
- web是开发人员开发好的界面,我们可以可以通过浏览器浏览图片等信息
- 但是这些并不在我的主机中,而在我所访问的目标主机中。但是目标主机中的内容,我们为什么能够看到呢? 这是因为我们使用了别人共享出来的资源
- 他怎么共享出来,我怎么可以访问,这是商量好的事情。也就是今天的主角:超文本协议了!
- http:// 超文本传输协议,互联网的文件传输协议
常用的提供协议的软件:
- 协议是通过软件提供的
- 你在系统里安装了这些软件,这些系统对外就支持这样的协议
- 如何查看是使用什么软件来提供协议的呢?
- curl -I baidu.com此命令必须在有网的情况下使用
curl -I baidu.com
主流的软件:Apache、nginx
apache 百度使用;(老牌的,稳定性高)
nginx 163/阿里巴巴(轻量级,速度快)
下面的软件为公司二次开发,适合本公司的软件
stgw:腾讯使用的server
jdf: 京东
tengine:淘宝
wts:westos使用的软件
二、Apache的安装和启用
实验思路:
rhel7访问rhel8,7是客户端,8是有apache的服务端
1.Apache的启用必要条件
(1)安装
(2)启用服务
(3)设置防火墙允许Apache服务
(4)http://访问有Apache服务的主机ip
若启用失败,检查三要素:服务状态+防火墙+是否是http://访问
安装Apache
(1) yum search apache 搜索Apache服务
(2) dnf install httpd.x86_64 -y 安装Apache
开启Apache
(1) systemctl status httpd.service 查看服务状态
(2) systemctl enable --now httpd 当前开启服务,并设定Apache开机启动
(3) firewall-cmd --list-all 查看防护墙允许的服务
(4) firewall-cmd --permanent --add-service=http添加防火墙允许的服务
(5) firewall-cmd --permanent --add-service=https在火墙中永久开启https访问
(6) firewall-cmd --list-all 如果内有重启防火墙,添加失败
(7) firewall-cmd --reload 重启防火墙
(8) firewall-cmd --list-all添加允许的服务成功
三、Apache 的基本信息
- 服务名称:httpd
- 配置文件:
主配置文件 /etc/httpd/conf/httpd.conf
子配置文件 /etc/httpd/conf/*.conf - √ 默认发布目录:/var/www/html
- √ 默认端口:80 (http) 443 (https 加密的)
- 用户:apache
- 日志:/etc/httpd/logs
四、Apache 的基本配置
Apache 的基本信息的有意义的更改项:默认发布目录和默认端口
4.1默认发布端口修改
默认发布端口(selinux允许端口列表中存在,比如8080)
实验:更改rhel8中Apache端口为8080,rhel7通过浏览器访问页面
实验思路:
rhel8中
1.修改apache端口号
2.重启apache服务
3.修改完,rhel7直接通过浏览器访问失败,这是因为火墙没有允许使用8080端口
4.设置火墙允许使用8080端口,并重启火墙--relaod
rhel7中
1.浏览器访问http://192.168.43.11:8080
apache服务器更改端口,服务器端设置火墙允许8080端口
实验过程:
(1)vim /etc/httpd/conf/httpd.conf 进入主配置文件,修改端口号(注释掉之前的,重新写入8080)
(2)systemctl restart httpd.service 重启Apache服务
(3)netstat -anltupe | grep http查看端口号是否配置成功
(4)但是这个时候rhel7仍然不能访问服务器(rhel8),这是因为火墙中没有允许8080端口,于是乎 设置火墙中允许8080
注意火墙是在rhel8中(服务器端设置的)
firewall-cmd --permanent --add-port=8080/tcp*添加8080端口
firewall-cmd --reload 重启火墙
firewall-cmd --list-all 查看是否设置成功(port后有没有多出来8080端口)
(5)测试(rhel7通过浏览器访问到apache的测试页)
(二)修改端口号为6666
- selinux端口列表中没有6666
- selinux设定服务器端口的运行时有自己的规则的!
- 两种设定方式:一:将安全上下文设置为警告模式
- 二:设置selinux允许端口列表中将6666加在apache服务器上
实验:修改端口号为6666,并允许rhel7通过浏览器访问测试页
实验思路:
1.修改端口号,并重启Apache服务
2.设置selinux为警告模式(结果是可以服务重启成功)
3.别怂,我更改selinux的允许端口列表范围(apache服务重启成功)
4.服务器端设置火墙,但是浏览器有安全检测,访问被限制
(1) vim /etc/httpd/conf/httpd.conf 更改主配置文件里的端口号
(2) systemctl restart httpd.service 重启服务失败(因为selinux端口列表中无!)
(3) setenforce 0 设置警告模式
(4) systemctl restart httpd.service 重启服务成功
(5) netstat -anltupe |grep httpd查看设置的端口是否成功
(6) firewall-cmd --permanent --add-port=6666/tcp 火墙中添加允许端口号
(7) firewall-cmd --reload重启
(8) firewall-cmd --list-all 查看多了个6666
(9)rhel7测试(这是因为浏览器有安全检测)
第二种方式:不怂,不关安全上下文,我更改你哦
实验思路:
1设置selinux允许使用6666端口
2.将selinux设置为强制模式
3查看是否能够重启Apache服务
实验过程:
(1)semanage port -l|grep http 查看selinux允许的端口列表
(2) semanage port -a -t http_port_t -p tcp 6666添加6666到端口列表
(3) semanage port -l|grep http再次查看是否添加成功
注意:semanage port -l 参数-l一定是写在port后面的
(4) setenforce 1 设置为强制模式
(5) getenforce 查看是否设置成功
(6) systemctl restart httpd.service 重启服务
(7) systemctl status httpd.service 查看服务状态
4.2默认发布文件修改
- 默认发布文件位置: /var/www/html/index.html
- 默认发布目录:/var/www/html
- 默认发布文件内容不存在,默认访问appache测试面
- 存在的话,访问的是文件中的所写的内容
- 如果想访问默认访问 非index.html文件,需要修改主配置文件
实验思路:
0.首先将上述更改的端口号修改为默认的80
1.没有默认发布文件index.html,默认访问测试页
2.新建index.html文件,并写入html默认识别的语言格式
3.测试访问到的是默认文件内的内容
4.若想默认访问到westos.html内的内容,修改主配置文件
实验过程:
(1) vim /etc/httpd/conf/httpd.conf 进入主配置文件,修改端口号为80
(2)systemctl restart httpd.service 重启服务
(3)netstat -anltupe | grep httpd查看已修改的端口号
(4)cd /var/www/html/进入默认发布目录本身目录中没有文件
(5)vim index.html新建默认发布文件,并写入内容
(7)测试访问到默认发布文件内的内容
(8)vim westos.html 在默认发布目录中新建westos.html文件
(9)rhel7访问还是测试页,如果想访问到westos.html文件,需要在网址输入http://192.168.43.11/westos.html
(10)vim /etc/httpd/conf/httpd.conf 修改配置文件,加入westos.html文件
(11)systemctl restart httpd.service 修改配置文件后一定重启服务
下图的意思是:默认首先访问westos.html文件,如果不存在,则访问index.html文件内容
(12) rhel7中测试成功
4.3默认发布目录修改
来源:CSDN
作者:HeyJY
链接:https://blog.csdn.net/baidu_40389082/article/details/104721799