Apache的管理及优化web
1.Apache的作用
在web被访问时通常使用http://的方式
http:// ##超文本传输协议
http:// 超文本传输协议提供软件:
Apache
nginx
stgw
jfe
Tengine
2.Apache的安装
dnf install httpd.x86_64 -y
3.Apache的启用
systemctl enable --now httpd #开启服务并设定服务位开机启动
firewall-cmd --permanent --add-service=http ##在火墙中永久开启http访问
firewall-cmd --permanent --add-service=https ##在火墙中永久开启https访问
firewall-cmd --reload #刷新火墙使设定生效
4.Apache的基本信息
服务名称:httpd
配置文件:
/etc/httpd/conf/httpd.conf #主配置文件
/etc/httpd/conf.d/*.conf #子配置文件
默认发布目录: /var/www/html
默认发布文件: index.html
默认端口:80
用户: apache
日志: /etc/httpd/logs
5.Apache的基本配置
1.Apache端口修改
默认情况下端口是80
vim /etc/httpd/conf/httpd.conf
Listen 8080
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
systemctl restart httpd
2.默认发布文件
默认显示的是index.html中的内容
DirectoryIndex test.html index.html #添加test.html 从前到后显示,前一个没有就显示后一个
3.默认发布目录
semanage fcontext -a -t httpd_sys_content_t '/www(/.*)' ##更改安全上下文
restorecon -RvvF /www/ #刷新文件后更改的安全上下文生效
6.Apache的访问控制
实验素材
mkdir /var/www/html/westos
vim /var/www/html/westos/index.html
1.基于客户端ip的访问控制
#ip白名单#
<Directory "/var/www/html/westos">
Order Deny,Allow
Allow from 172.25.254.20
Deny from All
</Directory> #仅172.25.254.20主机可以查看
#ip黑名单#
<Directory "/var/www/html/westos">
Order Allow,Deny
Allow from All
Deny from 192.168.0.10
</Directory> #仅172.25.254.20主机不可以查看
2.基于用户认证
htpasswd -cm /etc/httpd/.htpasswd admin #-cm 文件不存在时使用,如果文件已经存在会覆盖之前的内容
htpasswd -m /etc/httpd/.htpasswd lee #-m 文件已经存在,在存在的文件中添加用户
vim /etc/httpd/conf/httpd.conf
<Directory "/var/www/html/westos">
AuthUserfile /etc/httpd/htpasswdfile ##指定认证文件
AuthName "Please input your name and password" ##认证提示语
AuthType basic ##认证类型
Require user admin ##允许通过的认证用户 2选1
Require valid-user ##允许所有用户通过认证 2选1
</Directory>
只有lee用户认证后可以查看
文件中所有用户认证后都可以查看
7.Apache的虚拟主机
创建目录
在浏览器所在主机中
vim /etc/hosts
vim /etc/httpd/conf.d/vhosts.conf
测试
8.Apache的语言支持
php
dnf install php -y
cgi
dnf install httpd-manual -y
vim /etc/httpd/conf.d/vhosts.conf
测试,会出现时间,需要刷新才会更新时间
wsgi
dnf install python3-mod_wsgi.x86_64 -y
vim /etc/httpd/conf.d/vhosts.conf
firefox: wsgi.westos.org
9.Apache的加密访问
安装加密插件
在防火墙中永久开启https访问,重启火墙,此时在浏览器中访问https://192.168.122.38弹出安全警告页面
openssl req --newkey rsa:2048 -nodes -sha256 -keyout /etc/httpd/westos.org.key -x509 -days 365 -out /etc/httpd/westos.org.crt ##生成证书
##-req 请求,rsa 加密文件长度,x509 证书格式,-in 加载签证名称
分别输入国家、省、市、机构名称、单位名称、域名,邮箱
vim /etc/httpd/conf.d/ssl.conf
在/etc/httpd/tls中查看生成的密钥和认证,在httpd的共享位置建立/var/www/virtual/westos.org/login目录,在该目录下编写其发布文件index.html,编写虚拟主机配置文件件/etc/httpd/vhost.conf如下,重启httpd服务
^(/.*)$ ##客户地址栏中输入的地址
%{HTTP_HOST} ##客户主机
$1 ##RewriteRule后面跟的第一串字符的值