我在编译安装完Nginx、MySQL和PHP(见之前一篇博客:LNMP环境搭建详细教程)之后,进行apache的编译安装:
cd /usr/local/src 
wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.34.tar.gz 
tar zxvf httpd-2.4.34.tar.gz  
cd httpd-2.4.34  

./configure --prefix=/usr/local/httpd  
就在这个时候提示:configure: error: APR not found. Please read the documentation.
这说明缺少APR依赖,那么安装即可,可以用yum安装但是不推荐,因为yum安装的APR版本可能不足以支持你所安装的apache版本,所以还是要用编译安装高版本的APR:
cd /usr/local/src
wget http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz 
wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz

依次下载上述两个安装包并逐个解压缩:

tar zxvf apr-1.6.3.tar.gz
tar zxvf apr-util-1.6.1.tar.gz
cd/usr/local/src/apr-1.6.3 #安装apr

./configure --prefix=/usr/local/apr  

make && make install
cd /usr/local/src/apr-util-1.6.1  #安装apr-util

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr   

make && make install
依赖全部安装完毕后再次切换到httpd的安装目录安装apache:
cd /usr/local/src/httpd-2.4.34

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

make && make install

到此安装成功,想要启动、停止、重启apache需要用到命令:

/usr/local/httpd/bin/httpd -k start   ##开启
/usr/local/httpd/bin/httpd -k stop ##停止
/usr/local/httpd/bin/httpd -k restart ##重启

这里我在重启的时候就报了之前一篇博客:LNMP环境搭建详细教程中讲述的一个错误:

bind() to 0.0.0.0:80 failed (98: Address already in use)  这是因为我之前安装了nginx已经占用了80端口并且正在运行端口发生冲突,

所以就需要修改httpd的端口号,配置文件位置/usr/local/httpd/conf/httpd.conf:

vim /usr/local/httpd/conf/httpd.conf

搜索Listen 80将其改为Listen 8080(修改的端口号可以随便定义,范围是0~65535,其中0没有任何意义,也可以理解为1~65535),重启httpd提示新的错误:Could not reliably determine the server's fully qualified domain name,

这是因为httpd.conf中ServerName未修改,搜索ServerName,将其改为:ServerName localhost:8080之后再次重启错误消失,查看一下正在运行的服务:

ps:上述安装的依赖版本并不是固定的,在安装的时候最好到官网看一下文档说明,选用高级的版本,比如用apr-1.3.*的版本,用来编译安装httpd-2.4.*的apache的时候就编译不了了

Linux下编译安装Apache报APR not found错误的解决办法的更多相关文章

  1. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  2. Linux下编译安装Apache及模块

    Apache是时下最流行的Webserver软件之中的一个,支持多平台,可高速搭建web服务,并且稳定可靠.并可通过简单的API扩充.就能够集成PHP/Python等语言解释器. 文章这里解说怎样在l ...

  3. Linux下编译安装Apache 2.4

    Linux一般会自带httpd服务,但是版本一般不是最新,性能也不是最好,生产中建议手动安装官方源码包,安装Apache官方包之前首先要停止之前的httpd服务,停止后也可以卸载之前的版本 准备工作做 ...

  4. linux下编译安装apache

    在linux(CentOS6.5)上安装Apache,要首先确保以下程序事先安装 apr:The mission of the Apache Portable Runtime (APR) projec ...

  5. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  6. 在linux下手动安装 apache, php, mysql--终极版

    在linux下手动安装 apache, php, mysql: 参考: http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html ...

  7. linux中编译安装Apache、PHP、MySQL(上)

    1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...

  8. CentOS 下编译安装Apache

    CentOS 下编译安装Apache 卸载原有的apache 首先从 http://httpd.apache.or 下载apache源码包httpd-2.4.4.tar.gz然后从 http://ap ...

  9. (转)Linux下编译安装log4cxx

    Linux下编译安装log4cxx 一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. log4cxx ...

随机推荐

  1. CSharp工程中的几个文件

    以下基于.NET Framework4.6及.NET Core2.0 .csproj 用于配置项目信息,如: 程序集名称.类型 Framework版本 项目所包含的文件信息,如:cs.html.js. ...

  2. .NET面试题01-值类型与引用类型

    常见面试题目: 1. 值类型和引用类型的区别? 2. 结构和类的区别? 3. delegate是引用类型还是值类型?enum.int[]和string呢? 4. 堆和栈的区别? 5. 什么情况下会在堆 ...

  3. C#中MessageBox.Show问题(让提示窗口不显示在任务栏中)

    在winform中让MessageBox.Show显示的窗口不显示在任务栏中:第一个参数很明显是你要显示的内容   类型是string 语法Visual Basic(声明) Public Shared ...

  4. [android] 异步http框架与实现原理

    介绍github上的异步http框架android-async-http loopj开发 获取AsyncHttpClient对象,通过new 调用AsyncHttpClient对象的get(url,r ...

  5. 细说flush、ob_flush的区别

    ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑… 其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情.. ob_* ...

  6. Java高并发--线程安全策略

    Java高并发--线程安全策略 主要是学习慕课网实战视频<Java并发编程入门与高并发面试>的笔记 不可变对象 发布不可变对象可保证线程安全. 实现不可变对象有哪些要注意的地方?比如JDK ...

  7. python基础学习(十二)变量进阶

    目录 1. 变量的引用 1.1 引用的概念 1.2 变量引用 的实例 1.3 函数的参数和返回值的传递 2. 可变和不可变类型 哈希 (hash) 3. 局部变量和全局变量 3.1 局部变量 3.2 ...

  8. How to Create a First Shell Script

    How to Create a First Shell Script   Shell scripts are short programs that are written in a shell pr ...

  9. javascript中Ajax的简单封装

    GET方式的在线:DEMO POST方式在线:DEMO // 1.封裝AJAX函數 function nativeAjax(option,success,error){ // 定义domain,方便环 ...

  10. Vue项目build打包部署到Tomcat后,刷新报404错误解决方案

    问题描述: 一.更新依赖,并打包项目 cd /root/.jenkins/workspace/v-test;npm installcd /root/.jenkins/workspace/v-test; ...