Apache的部署和优化

1、Apache作用
http://
超文本传输协议

http://超文本传输协议提供软件
Apache
nginx
stgw
jfe
Tengine
在这里插入图片描述

2.Apache的安装
dnf search http
在这里插入图片描述

dnf install httpd.x86_64 -y
在这里插入图片描述

3、Apache的启用
systemctl enable --now httpd #开启http服务并设定开机启动
firewall-cmd --permanent --add-service=http
#设置防火墙策略,一直允许http服务
在这里插入图片描述
firewall-cmd --reload
#重新加载防火墙,让策略生效
在这里插入图片描述
firewall-cmd --list-all
#在防火墙策略可以看到http
在这里插入图片描述

如果设定成功,此页面可以看到,这为Apache默认页面
在这里插入图片描述

4、Apache的基本信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

服务名称:httpd
配置文件:
/etc/httpd/conf/httpd.conf #主配置文件
/etc/httpd/conf.d/*.conf #子配置文件
默认发布目录 :/var/www/html
在这里插入图片描述
可以更改,但更改时也需要授权访问,否则访问不到
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
可以更改,但更改时也需要授权访问,否则访问不到
在这里插入图片描述

默认发布文件:index.html
在这里插入图片描述
在这里插入图片描述
可以在主配置文件更改(默认发布文件可以有多个)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

写上westos index.html 意为访问时可直接看到westos内容,但若westos删除,则可以直接看到index.html内容
在这里插入图片描述

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

默认端口: 80 #http
443 #https
可以更改,但在更改后需要在防火墙更改策略,并且访问时写上端口号
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
日志 /etc/httpd/logs

5.Apache的访问控制权限

1)在配置文件更改访问控制权限
/etc/httpd/conf/httpd.conf
在这里插入图片描述
在这里插入图片描述
<Directory “var/www/html/westos”>
Order Allow ,Deny #allow和deny访问的读取顺序
Allow fron ALL #允许任何人访问westos
Deny from 172.168.1.216 #不允许216访问westos

#因为先读allow后读deny,那么deny里面的信息会覆盖allow中的信息
在这里插入图片描述
cat var/www/html/westos #查看westos中的内容
在这里插入图片描述
此时可以在其他主机上看到westos内容,但216主机上不可以
在这里插入图片描述
在这里插入图片描述
但若是修改访问控制权限,则216主机也可以访问得到
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2)建立Apache目录认证文件
htpasswd -cm /etc/httpd/.htpasswd admin
#当认证文件不存在时需要加参数-c,当认证文件存在时加-c参数会删除原有内容
#注意,这里的用户,在系统中可不存在,只是借用一下身份
在这里插入图片描述
编辑配置文件
/etc/httpd/conf/httpd.conf
在这里插入图片描述
<Directory “/var/www/html/westos”>
AuthUserFile /etc/httpd/.htpasswd #指定认证文件
AuthName “Please input username and passwd” #指定认证提示
AuthType basic #指定认证类型
Require user admin #认证文件中admin用户可以通过认证
#Require valid-user #认证文件中任一个用户都可以通过
#上面这两句都是指定认证用户,两句任选其一
< /Directory>
在这里插入图片描述
在这里插入图片描述
ctrl+shift +del #清空浏览器信息
在这里插入图片描述
此时输入用户和你刚设定的密码即可通过认证
在这里插入图片描述
在这里插入图片描述
6、Apache的虚拟主机
我们设置的Apache同一网址只能看到同一页面,但一般情况下同一页面关键字不同看到的东西不同

准备条件:
在这里插入图片描述
浏览器所在主机书写本地解析
vim /etc/hosts
在这里插入图片描述
在这里插入图片描述
cd /etc/httpd/conf.d/ #进入子配置目录
vim vhost.conf #指定子配置文件
在这里插入图片描述
在这里插入图片描述
书写配置文件,然后重启服务
在这里插入图片描述
就可以同一网址关键字不同对应的不同页面
访问输入没有被设定过的域名时,会访问到设置的默认路径下的内容;输入设定过的内容时,会显示服务器在http子配置文件设定的此域名的访问路径里的内容
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、Apache的语言支持

dnf install httpd-manual -y #apache文档
在这里插入图片描述
1)php
dnf install php -y
在这里插入图片描述
vim /var/www/html/index.php
在这里插入图片描述
在这里插入图片描述
在访问时就会出现php说明页面
在这里插入图片描述

2)cgi

在默认发布目录下建立cgi目录,并编辑文件
在这里插入图片描述
再给文件执行权限
在这里插入图片描述
vim /etc/httpd/conf.d/vhost.conf
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时在网页上访问,会显示此脚本执行过后的结果
在这里插入图片描述
3)wsgi

书写wsgi测试脚本
vim /var/www/html/wsgi/index.wsgi
在这里插入图片描述
在这里插入图片描述
dnf install python3-mod_wsgi
在这里插入图片描述

vim /etc/httpd/conf.d/vhost.conf
在这里插入图片描述

在这里插入图片描述

systemctl restart httpd
在这里插入图片描述
vim /etc/hosts
将域名解析写入其中
在这里插入图片描述
此时在页面上访问,会显示此脚本执行过后的结果
在这里插入图片描述

9、Apache的加密传输

安装加密插件,并且可以观察到此时已经生成ssl文件
dnf install mod_ssl -y
在这里插入图片描述

firewall-cmd --permanent --add-service=https #使防火墙永久允许https服务
在这里插入图片描述
在这里插入图片描述
此时访问网页可通过https访问,但我们可以看到,所生成的证书不是我们自己生成的
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
我们在浏览器可以删掉已经拥有的此证书
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

生成私钥
在这里插入图片描述
生成证书签名文件
在这里插入图片描述
在这里插入图片描述
生成证书
在这里插入图片描述
编辑文件
在这里插入图片描述
编辑ssl配置文件
vim /etc/httpd/conf.d/ssl.conf
(上面写的是公钥位置,下面写的是证书位置)
在这里插入图片描述
在这里插入图片描述
vim /etc/httpd/conf.d/vhost.conf
在这里插入图片描述
在这里插入图片描述
systemctl restart httpd
在这里插入图片描述
vim /etc/hosts
在这里插入图片描述
在这里插入图片描述

此时通过https服务访问页面,可以看到证书为我们自己所生成的那个
在这里插入图片描述
在这里插入图片描述

但此时我们发现仍是可以绕过https的加密,直接通过http访问页面,不安全
所以再次vim /etc/httpd/conf.d/vhost.conf
在这里插入图片描述
添加
在这里插入图片描述
systemctl restart httpd
在这里插入图片描述
此时访问页面,可以看到被强制访问https
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shanshuyue/article/details/113572773