Apache服务的部署及优化

1.Apache的作用

  • 在访问web时通常使用http://的方式
  • http:// ##超文本传输协议
  • 为http:// 超文本传输协议提供软件 Apache nginx stgw jfe Tengine

2.Apache的安装

(Linux与Windows虚拟机调制同一网段)

  • 配置网卡IP和软件仓库
  • 搜索dnf search http 安装阿帕奇所需软件
    在这里插入图片描述
  • dnf install httpd.x86_64 -y ##安装软件
    在这里插入图片描述
  • 3.Apache的启用
systemctl enable --now httpd ##开启apache服务
  systemctl status httpd  ##查看apache服务是否开启

在这里插入图片描述

  firewall-cmd --permanent --add-service=http ##防火墙策略永久设定
  firewall-cmd --reload ##刷新防火墙让策略生效
  firewall-cmd --list-all  ##查看火墙策略
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: br0 ens160
  sources: 
  services: cockpit dhcpv6-client http ssh  ##http服务在火墙策略中对外开放
  ports: 
  protocols: 
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 

在这里插入图片描述

4.Apache的基本信息

  • 服务名称:httpd

  • 配置文件:

    • /etc/httpd/conf/httpd.conf ###主配置文件
    • /etc/httpd/conf.d/ ##子配置文件
  • 默认发布目录: /var/www/html

  • 默认发布文件:index.html

  • 默认端口:

    • 80 ##端口http

    • 443 ##https

  • 用户: apache

  • 日志: /etc/httpd/logs

5.Apache的基本配置

1.Apache端口更改

  • getenforce ##获取selinux状态
  • vim /etc/httpd/conf/httpd.conf 45行修改 8080 ##编辑主配置文件
    在这里插入图片描述

为不受selinux的影响 vim /etc/sysconfig/selinux SELINUX=disable reboot
在这里插入图片描述
在这里插入图片描述

  • systemctl restart httpd ##重启httpd 服务
  • netstat -antlupe | grep httpd ##查看端口
  • firewall-cmd --add-port=8080/tcp ##火墙设置使之添加8080端口
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

实验完成修改回实验环境

2.修改默认发布目录

  • vim index.html ##在默认发布文件中添加信息,可直接访问
  • vim /etc/httpd/conf/httpd.conf ##修改默认发布文件 /index 167行,添加新的默认文件参数
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述

  • westos index.html ##当westos不存在访问index.html,位于前面的优先级更高
  • systemctl restart httpd
    在这里插入图片描述

3.修改默认发布目录

  • vim /var/www/html/westos/index.html ##建立默认发布文件的默认发布目录

在这里插入图片描述

  • vim /etc/httpd/conf/httpd.conf /DocumenRoot 122行
    “/var/www/westos” ##更改默认发布目录
    在这里插入图片描述
#对访问授权 
 <Directory “/var/www/westos”>
      require all granted
 </Directory>

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

6.控制访问

1.权限访问控制

  • 创建实验环境:

    • mkdir /var/www/html/westos
    • vim /var/www/html/westos/index.html
      在这里插入图片描述
  • vim /etc/httpd/conf/httpd.conf ##编辑配置文件

<Directory "/var/www/html/westos">   ##131行
   Order Allow,Deny 
   Allow from all
   Deny from 192.168.1.112  ##允许任何人访问,不许192.168.1.112访问
   (先读allow 后读deny deny中的信息会覆盖allow中的内容)

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

<Directory "/var/www/html/westos2">   ##131行
   Order Deny,Allow   ##Deny Allow的优先顺序
   Allow from 192.168.1.112
   Deny from all  ##只允许192.168.1.112访问,其他都不允许

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

2.基于用户的访问控制

  • htpasswd -cm /etc/httpd/.htpasswd admin ##建立认证文件
    (再次建立,文件已存在,去掉c,文件存在,-c会删掉所有已存在文件)
    在这里插入图片描述
  • cat /etc/httpd/.htpasswd ##查看认证文件是否存在
 <Directory "/var/www/html/westos2">  ##指定需认证才可访问的文件
    AuthUserFile /etc/httpd/.htpasswd  ##指定认证文件
    AuthName "Please input username and passwd" ##指定认证提示
    AuthType basic  ##指定认证类型
    Require user admin  ##指定认证用户admin
 #Require Vaild-user  ##认证文件中的所有用户都可访问(与上一句二选一)
 </Directory>

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

7.apache虚拟主机

  • mkdir -p /var/www/westos.org/{linux,shell,pythpn} ##创建网址
    在这里插入图片描述

  • 解析 vim /etc/hosts ##浏览器所在主机中书写本地解析
    192.168.1.112 linux.westos.org shell.westos.org python.westos.org www.westos.org
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • cd /etc/httpd/conf.d/ ##apache子配置目录

  • vim vhost.conf ##指定子配置文件

<VirtualHost _default_:80>   ###apache默认主机
    DocumentRoot /var/www/html
    CustomLog  logs/defaults.log combined  ##相对路径,混合型日志
</VirtualHost>

<VirtualHost *:80>      ##apache虚拟主机
    Severname linux.westos.org    ##虚拟机主机名
    DocumentRoot /var/www/westos.org/linux   ##虚拟主机默认发布目录
    CustomLog  logs/defaults.log combined  ##虚拟主机日志,相对路径,combined混合型日志
</VirtualHost>

<VirtualHost *:80>
    Severname shell.westos.org
    DocumentRoot /var/www/westos.org/shell
    CustomLog  logs/defaults.log combined  ##相对路径,混合型日志
</VirtualHost>

<VirtualHost *:80>
    Severname python.westos.org
    DocumentRoot /var/www/westos.org/python
    CustomLog  logs/defaults.log combined  ##相对路径,混合型日志
</VirtualHost>

在这里插入图片描述

  • systemctl restart httpd ##重启服务
    在这里插入图片描述

  • 重启不了

/var/log/messages
systemctl restart httpd
cat /var/log/messages

  • 直接访问域名,可得到文本内容
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

8.apache的语言支持

1.php

#php语言#  ##安装php 软件即可执行
vim /var/www/html/index.php
<?php
   phpinfo()
 ?>

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

2.C++

  • dnf install httpd-manual -y ##apache文档访问

  • chmod +x index.cgi
    在这里插入图片描述
    在这里插入图片描述

  • vim /etc/httpd/ ##编辑子配置文件

<Directory> /var/www/html/cgi>
   options +ExCGI   ##执行cgi程序
   AddHandler cgi-script .cgi   ##程序触发器
</Directory>

在这里插入图片描述

  • perl XXXXX ##再次执行
    在这里插入图片描述

3.python

  • “wsgi” mkdir wsgi ##创建wsgi文件
##python脚本
##vim index.wsgi  ##编辑脚本
def application(env, westos):
      westos('200 ok',[('Content-Type', 'text/html')])
       return [b'hello world!']

在这里插入图片描述

  • chmod +x index.wsgi ##增加可执行权限

  • vim /etc/httpd.conf.d/vhost.d

<VirtualHost>
  ServerName wsgi.westos.org
   WSGIScriptAlias  / /var/www/html/wsgi/indx.wsgi
</VirtualHost>

在这里插入图片描述

  • 安装wsgi插件 dnf install python3-mod_wsgi systemctl restart httpd
    在这里插入图片描述
  • vim /etc/hosts wsgi.westos.org ##添加本地解析
    在这里插入图片描述
  • 访问wsgi文件

在这里插入图片描述

9.Apache的加密访问

  • ##安装加密插件 dnf install mod_ssl -y
    在这里插入图片描述
    在这里插入图片描述

  • systemctl restart httpd

  • firewall-cmd --permanent --add-service=https ##火墙服务

  • firewall-cmd --list-all ##查看火墙
    在这里插入图片描述

  • 查看认证证书并删除
    由https://www.westos.org进入,选择前进与接受更改

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

  • ##生成密钥

  • mkdir -p /etc/httpd/webkey/ ##建立key目录

  • openssl genrsa -out /etc/httpd/webkey/www.westos.org.key 2048 #生成私钥

openssl x509 -req -days 365 -in /etc/httpd/webkey/www.westos.org.csr
  -signkey /etc/httpd/webkey/www.westos.org.key 
  -out /etc/pki/tls/certs/www.westos.org.crt  ##生成签证请求证书 x509 证书格式 -rep 请求  -in  加载签证姓名

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

  • mkdir /var/www/westos.org/login -p

  • echo login.westos.org > /var/www/westos.org/login/index.html
    在这里插入图片描述

  • vim vhost.conf ##编写配置文件

<VirtualHost *:443>
   ServerName login.westos.org
   DocumentRoot /var/www/westos.org/login
   CustomLog logs/login.log combined
   SSLEngine on
   SSLCertificateFile /etc/httpd/webkey/www.westos.org.crt
   SSLCertificateKeyFile /etc/httpd/webkey/www.westos.org.key
</virtualHost>

在这里插入图片描述

  • 查看证书信息已更新

在这里插入图片描述

  • 强制直接进入https服务
<VirtualHost *:80>
   ServerName login.westos.org
   RewriteEngine On
   RewriteRule ^(/.*)$ https://%{HTTP_HOST}$1
</virtualHost>

^(/.*)$ ##客户地址栏中输入的地址
%{HTTP_HOST} ##客户主机 $1
##RewriteRule后面跟的第一串字符的值

  • login.westos.org 可直接进入https://login.westos.org

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44632711/article/details/113572487