Apache的管理及优化web
前言
本章我们主要介绍了Apache的作用、安装、如何使用、配置相关文件、访问控制、Apache的虚拟主机、语言支持以及加密访问。
一、Apache的安装与启用
- http:// 超文本传输协议
安装:dnf install httpd -y
启用httpd服务
firewall-cmd --permanent --add-service=http
在火墙中添加http服务
firewall-cmd --reload
reload火墙(刷新火墙)
firewall-cmd --list-all
查看火墙信息
可以看到火墙支持的服务李添加了http。
systemctl restart httpd 重启httpd服务
打开网友输入本机ip即可进入共享页面。
二、基本信息
服务名称 | httpd |
主配置文件 | /etc/httpd/conf/httpd.conf |
子配置文件 | /etc/httpd/conf.d/*.conf |
默认发布目录 | /var/www/html |
默认发布文件 | index.html |
默认端口http | 80 |
默认端口https | 443 |
用户 | apache |
日志 | /etc/httpd/logs |
三、基本配置
1.端口修改
打开主配置文件,修改端口为8080
firewall-cmd --permanent --add-port=8080/tcp
添加端口到火墙
刷新火墙,重启服务
网页进入
http://172.25.254.139:8080
注:修改完端口后记得改回,避免影响后续实验。
若发现重启httpd服务时间较长,可添加本地解析/etc/hosts/
2.默认发布文件修改
进入主配置文件,默认发布文件为index.html 添加新文件westos.html
编辑index.html和westos.html进行对比,重启服务
已将默认发布文件修改为westos.html
3.默认发布目录修改
创建新的发布目录,由于文件安全上下文的关系,我们将新目录先在/etc/www/下创建 ,再将其移到/var/下
修改主配置文件vim /etc/httpd/conf/httpd.conf
重启服务,打开网页进行测试
打开成功,即可证明发布目录修改成功,试验成功记得改回原配置。
四、Apache的访问控制
建立实验素材
1.基于ip的访问控制
黑名单:
打开主配置文件,
此修改项表示,先读取allow,再读取deny,即为黑名单。
重新访问,访问被拒绝
白名单:
表示只有39ip的主机允许访问。
使用其他主机进行访问:
curl http://172.25.254.139/westos
访问被拒绝。
2.基于用户认证
首先进入/etc/httpd/
htpasswd -cm .htpasswd admin 生成认证文件
按图要求改好配置文件,允许hyl用户进入,重启服务。
打开网页测试,输入hyl和密码访问被允许,输入其他用户访问被拒绝
五、Apache的虚拟主机
先建立测试页
mkdir -p /var/www/vhost/{linux,java,python}
进入子配置文件目录,编写 vhost.conf
测试客户端主机:
vim /etc/hosts 编写本地解析
打开网页输入www.westos.org linux.westos.org java.westos.org python.westos.org
六、Apache的语言支持
1.php
首先,下载php到主机中
php -m 可查看php支持的服务
编写php测试页面index.php
重启服务,进入网页进行测试
2.cgi
编写cgi测试页面 index.cgi
vim vhost.conf 编辑子配置文件
/etc/httpd/conf.d/vhost.conf
将selinux设置为警告
chmod +x /var/www/html/index.cgi
修改被执行文件权限
重启服务进入网页测试
3.wsgi
编写测试页index.wsgi
vim /etc/httpd/conf.d/vhost.conf apache虚拟主机配置
dnf install python3-mod_wsgi.x86_64 -y 下载插件
重启服务
客户端测试机:
vim /etc/hosts
网页输入http://wsgi.westos.org/
七、加密访问Apache
基本原理:证书,锁,钥匙
Apache的加密访问中有证书,锁和钥匙。在Apache加密访问中,客户先向服务下载获取证书、锁,通过证书确定这个锁是否配对,若配对,则使用锁将信息加密传输到网页中,再通过Apache中的钥匙来打开相应的锁以实现加密访问,中间环节有一处不配对,则访问被拒绝。
dnf install mod_ssl -y 下载插件,可观察下载前后,/etc/pki/tls/certs 变化
firewall-cmd --permanent --add-service=https
火墙打开https端口
firewall-cmd --reload
重启服务 进入网页https://172.25.254.139查看
生成证书:
openssl req --newkey rsa:2048 -nodes -sha256 -keyout /etc/httpd/westos.org.key -x509 -days 365 -out /etc/httpd/westos.org.crt
其中-req 请求
x509 证书格式
rsa: 证书大小
按提示填写信息,然后生成证书。
编辑子配置文件vhost.conf
加密访问认证信息配置,并将80端口的访问转到443端口,保证加密作用。
重启服务。
测试客户端主机:
vim /etc/hosts
网页输入login.westos.org
八、Squid与Apache
1.正向代理
实验素材为两台虚拟机,一台可上网,一台不可上网。
可上网主机:squid下载,
修改主评为配置文件,rpm -qc suqid 查找主配置文件目录
修改相应位置,此文件为后部分文字会覆盖前部分文字内容,所以在后面部分进行修改
修改完后记得将squid服务重启。
开启服务,关火墙
首先保证真机能上网,将需要上网的虚拟机网关配置为真机ip
firewall-cmd --add-masquerade
139即可上网
真机:
可上网虚拟机:
不可上网主机:下载浏览器,
进入浏览器进行配置setting---->Preferences---->general---->network setting---->manual---->添加ip 和3128端口
红框部分均为要修改的部分,修改完成后保存退出,在网页输入www.baidu.com
配置完成进入百度成功,此时仍然ping不通www.baidu.com
实质上是通过squid服务在139主机进行访问。即139主机关闭squid服务后,239主机上网功能停止.
2.反向代理
CDN加速机制原理:
企业端通过增加用户本地代理服务器来进行三重加速访问,1用户与本地服务器的加速,2本地服务器与总服务器加速,3缓解总服务器访问访问压力进而加快反应速度。
实验需要两台主机,一台模拟本地服务器,一台模拟远程总服务器。
本地服务主机:139
修改squid配置文件,
端口修改为80 vhost vport
接受来自父辈239的资源缓存,可参考/usr/share/doc/squid/squid.conf ----> cache
卸载apache
重启squid服务,关闭火墙
主服务虚拟机:239
安装apache,
开启httpd服务,编辑测试页码,关闭火墙
测试结果:主机139 打开网页输入172.25.254.139 ----> 可以看到来自239端的测试页
总结
学习本章之后,要对Apache有足够的了解,对Apache的管理及优化操作要熟练。