Apache的管理及优化Web
一.Apache的作用
在web被访问时通常使用http://的方式
http:// 超文本传输协议
http://超文本传输协议提供软件:
Apache
nginx
stgw
jfe
Tengine
二.Apache安装
dnf install httpd.x86_64 -y
三.Apache的启用
systemctl enable --now httpd 开启服务并设定服务位开机启动
firewall-cmd --list-all 查看火墙信息
firewall-cmd --permanent --add-service=http 在火墙中永久开启http访问
firewall-cmd --permanent --add-service=https 在火墙中永久开启https访问
firewall-cmd --reload 重载火墙使设定生效
四.Apache的基本信息
服务名称:httpd
配置文件:
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.d/*.conf 子配置文件
/var/www/html 默认发布目录
index.html 默认发布文件
80 http默认端口
443 https默认端口
apache 用户
/etc/httpd/logs 日志
五.Apache的基本配置
1.Apache端口修改
vim /etc/httpd/conf/httpd.conf
Listen 8080
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
systemctl restart httpd
http://172.25.254.110:8080
2.默认发布文件
vim /etc/httpd/conf/httpd.conf
DirectoryIndex westos.html index.html
systemctl restart httpd
3.默认发布目录
mkdir /var/www/westos
mv /var/www/westos /var
vim /etc/httpd/conf/httpd.conf
<Directory "/var/westos">
Require all granted
</Directory>
systemctl restart httpd
firefox http://172.25.254.110
由于安全上下文关系,先在/var/www下创建westos目录,再移动:
六.Apache的访问控制
实验素材#
mkdir /var/www/html/westos
vim /var/www/html/westos/index.html
<h1>westosdir's page</h1>
firefox http://192.168.0.11/westos
1.基于客户端ip的访问控制
ip白名单
<Directory "/var/www/html/westos">
Order Deny,Allow
Allow from 172.25.254.50
Deny from All
</Directory>
ip黑名单
<Directory "/var/www/html/westos">
Order Allow,Deny
Allow from All
Deny from 172.25.254.50
</Directory>
2.基于用户认证
htpasswd -cm /etc/httpd/.htpasswd admin 生成认证文件
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 允许通过的认证用户
Require valid-user 允许所有用户通过认证
</Directory>
允许admin认证登陆
admin访问:
lee访问:
注意:
当/etc/httpd/.htpasswd存在那么在添加用户时不要加-c参数否则会覆盖源文件内容
清除缓存快捷键 ctrl + shift + del
七.Apache的虚拟主机
创建实验环境:
主机:172.25.254.110
建立/var/www/vhost 目录
在vhost下建立linux,java,python目录
配置三个目录下index.html文件:
在 /etc/httpd/conf.d/下建立 vhost.conf文件,编辑内容:
在测试机配置本地解析:
在测试机访问:
八.Apache的语言支持
1.php
安装php:
dnf install php.x86_64 -y
编写测试页 /var/www/html/index.php
重启服务,测试:
2.cgi
创建测试页:index.cgi
编辑子配置文件:vhost.conf
设置selinux为警告模式并赋予index.cgi执行权限:
重启服务测试:
3.wsgi
安装wsgi
dnf install python3-mod_wsgi.x86_64 -y
建立测试页:indxe.wsgi
修改子配置文件:vhost.conf
重启服务
添加测试机本地解析:
测试;
九.Apache的加密访问
加密访问原理:
Apache加密访问三要素:安全证书、钥匙、锁
服务端本身具有一整套安全证书、钥匙和锁,客户机加密访问服务端时,会从服务端获取安全证书和锁,下到本地的证书和锁会进行匹配,只有匹配成功才能进行下一步。匹配成功,将要传递信息用锁进行加密,传输到服务端,在服务端用钥匙进行解密,从而访问。
安装加密软件:
dnf install mod_ssl -y
安装成功,则 对应证书及钥匙目录会生成相应文件:
打开防火墙端口,并reload:
生成证书:
证书生成方法:
方法2:
输入证书信息:
启用证书,编辑 /ect/httpd/conf.d/ssl.conf 文件
测试:
查看证书:
自动转加密配置:http访问自动转为https
/var/www/vhost下建立login目录,配置index.html
配置子配置文件:vhost.conf
重启服务,配置客户机本地解析 login.westos.org 并测试: