CentOS7.3上如何安装Apache/2.4.34

 1)卸载系统自带的httpd

              Centos可能自带了httpd,但是版本可能会较低,执行下面的命令检测是否已经安装了httpd

          rpm -qa | grep httpd

    如果检测已经安装了二进制的httpd,则使用下面的命令卸载,防止现在的二进制httpd对你之后安装的源码httpd干扰

    可能已经安装,但是版本相当于官网较低,为防止干扰,所以先卸载自带httpd

      yum -y remove httpd

  2) 下载httpd源码包

      wget http://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.35.tar.gz

          此处还下载两个httpd在生产环境下两个很重要的包,apr和apr-util(具体想了解这两个包,可以度娘一下)

      wget http://mirrors.hust.edu.cn/apache//apr/apr-1.6.5.tar.gz
      wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.6.1.tar.gz

  3)解压apr以及apr-util源码包  

      tar xf apr-1.6.3.tar.gz -C /usr/local/src
      tar xf apr-util-1.6.1.tar.gz -C /usr/local/src
      tar xf httpd-2.4.34.tar.gz -C /usr/local/src

     下载的源码包最好都放在/usr/local/src下,当然如果你不放在这里也不影响功能的使用

      安装apr

      cd /usr/local/src/apr-1.6.3
      ./configure --prefix=/usr/local/apr

               --prefix是指定安装目录

         如果是第一次安装源码包,可能会出现以下问题

              

   这个错误是因为你缺少解码编译器,进行如下操作即可

      yum -y install gcc gcc-c++ make

     安装完成后,再次进行安装apr

      ./configure --prefix=/usr/local/apr
      make && make install

         &&的意思是前一条命令执行成功才会执行下一条命令

   安装apr-util

      cd ../apr-util-1.6.1/
      ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
      make

   可能会出现如下报错

      

   缺少依赖关系,安装expat-devel:  

      yum -y install expat-devel

      然后 

      make && make install

    安装httpd

      cd ../httpd-2.4.34
      ./configure 
      --prefix=/usr/local/apache 
      --enable-so  
      --enable-ssl 
      --enable-rewrite 
      --enable-cgi 
      --enable-cgid 
      --enable-modules=most 
      --enable-mods-shared=most 
      --with-apr=/usr/local/apr 
      --with-apr-util=/usr/local/apr-util 

 这是我选择了一些配置的功能,你可以根据自己的需要改变,如果只是简单的安装httpd,直接./configure --prefix=/usr/local/apache

  可能会出现如下的报错

     

      yum -y install pcre-devel

    

      yum -y install mod_ssl openssl-devel

    重新httpd的安装./configure,然后 

      make

    此时可能出现如下问题

       

      yum -y install libtool-ltdl-devel

    然后重新编译一下apr-util 然后重新安装http,步骤和之前安装apr-util步骤一致,然后在回到httpd的目录中进行如下操作即可安装完成

      make && make install

    安装完成后,可通过如下如下命令查询你http的版本

      /usr/local/apache/bin/apachectl -v
          Server version: Apache/2.4.34 (Unix)
          Server built:  Aug 10 2018 21:47:10

  注:

    在安装httpd时如果不确定哪一步是否正确执行,可以使用echo $?判断命令是否执行成功

              为了方便以后使用apache可以将执行路径添加的PATH中,这样下次执行命令时,就不需要使用路径

    

echo PATH=$PATH:/usr/local/apache/bin/apachectl >> /etc/profile
      source /etc/profile                   //加载配置文件
      apachectl start                       //启动apache
      ss -antp | grep :80                //判断apache是否启动成功     

  如果在启动服务时发生如下错误

      

需要修改httpd的配置文件  /usr/local/apache/conf/httpd.conf 

    将ServerName www.example.com:80这一行的注释去掉,修改完成之后重启apache服务

    

      /usr/local/apache/bin/apachectl restart                  //未添加PATH
      apachectl restart                                        //添加了PATH路径

  

原文地址:https://www.cnblogs.com/xll970105/p/9495880.html