linux中Apache的安装

Apache

  • 环境:VMware Workstation
  • 操作系统:CentOS7
  • 操作用户:root

安装步骤

  1. 安装wget工具

    yum install -y wget

  2. 仓库查询

    ls /etc/yum.repos.d/

  3. epel仓库安装

    链接:

    [https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.13081b11neMg7u]:

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

  1. 仓库查询验证

  2. 查询可用仓库

    yum repolist

  3. 查询可用软件包

    yum search httpd

  4. 安装Apache服务

    yum install -y httpd-* httpd

  5. 安装验证

    rpm -qa | grep httpd

  6. 查询详细信息

    rpm -qil httpd-2.4.6-93.el7.centos.x86_64

  7. 进入配置文件所在文件夹

    cd /etc/httpd/conf

  8. 修改配置文件,首先进行文件备份

    cp httpd.conf httpd.conf.bak

  9. 文件处理(去除#注释与空行)

    sed -i '/#/d' httpd.conf

    sed -i '/^$/d' httpd.conf

  10. 配置文件简易校验

    httpd -t

  11. 防火墙端口放行

    firewall-cmd --add-port=80/tcp --permanent

  12. 防火墙配置重载

    firewall-cmd --reload

  13. 开启Apache服务

    systemctl start httpd

  14. 查看端口状态

    没有netstat命令需要进行安装

    yum install -y net-tools

    netstat -ntlp

在这里插入图片描述
18. 浏览器访问ip,地址栏输入ip/manual查看帮助手册

虚拟主机配置

准备
  1. 编辑Apache配置文件如图

vim /etc/httpd/conf/httpd.conf

在这里插入图片描述

在这里插入图片描述

  1. 保存退出,文件验证

    httpd -t

  2. 进入/etc/httpd/conf.d,创建文件名.conf 文件

单机配置
  1. 编辑创建的**.conf**文件,如下

    <VirtualHost *:80>
     	DocumentRoot /mnt/z(根目录)
      	ServerName xxx(域名)
    <Directory "/mnt/z">
    	Options Indexes FollowSymLinks
    	AllowOverride All
    	Require all granted
    </Directory>
    <Directory "/mnt/z/z">
    	Options Indexes FollowSymLinks
    	AllowOverride All
    	Require all granted
    </Directory>
    </VirtualHost>
    
  2. 文件校验,提示/mnt/z目录不存在

  3. /mnt下创建多级目录/z/z,并分别在两个/z目录下创建index.html文件,并添加验证内容

  4. 文件校验,OK

  5. 因为之前将80端口放行过,所以这次不用在此更改防火墙配置

  6. 重启Apache服务

    systemctl restart httpd

  7. 浏览器访问,地址栏添加/z访问查看,是否跳转并显示自己创建的index.html内容

tips:

​ 域名可以随意修改,只需在物理机修改hosts文件即可

多机配置

此处设再次添加一个虚拟主机,并监听8080端口

tips:

前期准备中,添加了Listen 8080

多机配置可以选择同一IP,同一端口,不同域名,也可以同一IP,不同端口,不同域名

域名可在物理机hosts文件中修改

  1. 修改之前的**.conf**文件,添加以下内容

    <VirtualHost *:8080>
      DocumentRoot /mnt/g(根目录)
      ServerName xxx(域名)
    <Directory "/mnt/g">
    	Options Indexes FollowSymLinks
    	AllowOverride All
    	Require all granted
    </Directory>
    <Directory "/mnt/g/g">
    	Options Indexes FollowSymLinks
    	AllowOverride All
    	Require all granted
    </Directory>
    </VirtualHost>
    
    
  2. 文件校验,提示/mnt/g目录不存在

  3. /mnt下创建多级目录/g/g,并分别在两个/g目录下创建index.html文件,并添加验证内容

  4. 文件校验,OK

  5. 修改防火墙规则,放行8080端口

    firewall-cmd --add-port=8080/tcp --permanent

  6. 重载防火墙规则

    firewall-cmd --reload

  7. 重启Apache服务

    systemctl restart httpd

  8. 浏览器访问,地址栏添加/g访问查看,是否跳转并显示自己创建的index.html内容

用户访问控制

帮助文档:浏览器输入:ip/manual

ip限制
  1. 进入/etc/httpd/conf.d

    cd /etc/httpd/conf.d

  2. 编辑主机配置文件,如下图

    vim test.conf

    拒绝访问

    Require not ip 172.16.11.0/24

    <Requireall>
    	Require all granted
    	Require [no] ip 172.16.11.30
    </Requireall>
    

在这里插入图片描述

  1. 保存,退出,文件校验

    httpd -t

  2. 重启Apache服务

    systemctl restart httpd

用户身份限制
  1. 进入/etc/httpd/conf.d

    cd /etc/httpd/conf.d

  2. 生成用户密码信息

    htpasswd -c passwd wk(用户名)

  3. 编辑主机配置文件,如下图

    vim test.conf

    <Requireall>
        AuthType Basic
        AuthName "Restricted Files"
        AuthBasicProvider file
        AuthUserFile /usr/local/apache/passwd/passwords
        Require valid-user
    </Requireall>
    

在这里插入图片描述

  1. 保存,退出,文件校验

    httpd -t

  2. 重启Apache服务

    systemctl restart httpd

服务器安全控制

linux内访问网站响应头

curl -I 域名

隐藏响应头内服务器版本号

vim /etc/httpd/conf/httpd.conf
serverTokens Prod

在这里插入图片描述
保存、退出、验证、重启

文件后缀解析控制

tips:

此时虚拟主机的配置文件中重写已打开AllowOverride all

在网站主目录(/mnt/z)下创建.htaccess文件
cd /mnt/z
vim .htaccess
编辑写入以下内容

<FilesMatch "1.jpg">(引号内为匹配文件)
        SetHandler application/x-httpd-php
</FilesMatch>

在这里插入图片描述

tips:
此种操作具备安全危险

关闭后缀匹配
进入虚拟主机配置文件,将允许重写关闭AllowOverride none

vim /etc/httpd/conf.d/test.conf
在这里插入图片描述
保存、退出、验证、重启

猜你喜欢

转载自blog.csdn.net/qq_45149707/article/details/107346734