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路径

  

CentOS7.3上如何安装Apache/2.4.34的更多相关文章

  1. Kubernetes+Docker的云平台在CentOS7系统上的安装

    Kubernetes+Docker的云平台在CentOS7系统上的安装 1.运行VirtualBox5. 2.安装CentOS7系统. 注意:选择Basic Server类型 安装过程略. 3.修改计 ...

  2. 转载:centos上yum安装apache+php+mysql等

    1. 更新系统内核到最新. [root@linuxfei ~]#yum -y update 系统更新后,如果yum安装时提示错误信息,请执行以下命令修复. [root@linuxfei ~]#rpm ...

  3. 尝试在CentOS7.2上编译安装Swift

    苹果提供 Ubuntu上构建Swift 的教程,通过这个教程我尝试使用CentOS7.2上玩儿一把.目前已经成功在CentOS7.2上班成功安装 swift 4.0 https://github.co ...

  4. 最小化安装的centos7.5上编译安装git2.19

    VMware Workstation已经采用最小化安装CentOS7,显示版本为CentOS7.5,准备采用yum安装git. 采用yum list git发现可安装的GIT软件包版本1.8.3.1, ...

  5. MySQL-5.7.19 在阿里云 CentOS-7.0 上的安装

    工具准备 查看系统是否安装了yum工具: [root@wangbo srv]# rpm -qa | grep yum yum-metadata-parser-1.1.4-10.el7.x86_64 y ...

  6. centos7.3上编译安装percona5.7.18

    一,删除操作系统自带mariadb yum remove mariadb 二,下载需要的安装包 percona-toolkit-3.0.3-1.el7.x86_64.rpm boost_1_59_0. ...

  7. CentOS7 服务器上如何安装python3

    1.官网下载python3的源码包 网址:https://www.python.org/ 进去之后点击导航栏的Downloads,也可以鼠标放到Downloads上弹出菜单选择Source code, ...

  8. Linux CentOS7.5上二进制安装MySQL5.7.23

    1.下载二进制文件 cd /usr/local/src/ wget https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.23-linux-glib ...

  9. centos7.2安装apache比较简单,直接上代码

    centos7.2安装apache比较简单,直接上代码 1.安装 yum install httpd    2.启动apache systemctl start httpd.service    3. ...

随机推荐

  1. MySQL数据库一些常用命令

    输入mysql –u root(用户名) -p 回车后输入密码,就可以连接到mysql数据库. 1. 创建数据库:create database 数据库名称: 2. 删除数据库:drop databa ...

  2. Unable to convert MySQL date/time value to System.DateTime问题解决方案

    原因:可能是该字段(date/datetime)的值默认缺省值为:0000-00-00/0000-00-00 00:00:00,这样的数据读出来转换成System.DateTime时就会有问题: 解决 ...

  3. js数组代码库

    1 数组操作 1.1 数组去重:ES6的方法 //ES6新增的Set数据结构,类似于数组,但是里面的元素都是唯一的 ,其构造函数可以接受一个数组作为参数 //let arr=[1,2,1,2,6,3, ...

  4. 关于Java8 Stream流的利与弊 Java初学者,大神勿喷

    题目需求: 1:第一个队伍只要名字为3个字成员的姓名,存储到新集合 2:第一个队伍筛选之后只要前3人:存储到一个新集合 3:第2个队伍只要姓张的成员姓名:存储到一个新集合 4:第2个队伍不要前2人,存 ...

  5. iPhone IOS10安装APP没提示连接网络(无法联网)的解决办法

    iPhone升级ios10之后,遇到如标题所述问题时: 1.退出APP,设置-蜂窝移动网络-无线局域网助理-开启 2.进入APP,这时候就回提示连接网络了. 提醒: 数据流量有限的朋友,平时请关闭&q ...

  6. upload-labs

    upload-labs是一个和sqli-labs类似的靶场平台,只不过是一个专门学习文件上传的.整理的很好,虽然并不能将服务器解析漏洞考虑进去,但毕竟一个靶场不可能多个web容器吧,关键是思路很重要, ...

  7. 屏幕适配(UGUI)非UI

    using UnityEngine; public enum Suit_UIType { Background, Effect, } [RequireComponent(typeof(Transfor ...

  8. PHP插入数据库代码,编辑,删除

    插入代码 $action=$_GET['action']; switch($action){ //添加记录 case"add"; $mail = trim(htmlspecialc ...

  9. dygod.net

    # -*- coding: utf-8 -*- import scrapy from scrapy.linkextractors import LinkExtractor from scrapy.sp ...

  10. 【2017-05-02】winform弹出警告框选择性操作、记事本制作、对话框控件和输入输出流

    一.winform弹出警告框选择性操作 MessageBox.Show()返回一个枚举类值(第一个参数为弹出窗口显示的内容,第二个参数为弹出窗口的标题,第三个参数为弹出窗口包含的按钮) 先新建一个变量 ...