centos系统编译apache-2.4.x常见错误总结

今天公司居然要求安装apache-2.4.9的版本,在安装过程中我遇到了2个错误,现在记录下来分享给大家.

系统:centos 5.x
  需要的软件包:httpd-2.4.9.tar.gz
               apr-1.5.0.tar.gz
               apr-util-1.5.3.tar.gz
               pcre-8.35.tar.gz
1.先把依赖包安装完

 代码如下 复制代码
yum -y install gcc  gcc-c++ libtool-libs autoconf 
 freetype-devel gd libjpeg-devel  libpng-devel libxml2-devel 
ncurses-devel zlib-devel zip unzip curl-devel wget crontabs 
file bison cmake patch mlocate flex diffutils automake make 
kernel-devel cpp readline-devel openssl-devel vim-minimal 
glibc-devel  glib2-devel bzip2-devel e2fsprogs-devel 
libidn-devel  gettext-devel expat-devel libcap-devel 
libtool-ltdl-devel pam-devel pcre-devel libmcrypt-devel

2.编译apache-2.4.9

 代码如下 复制代码

wget http://mirror.esocc.com/apache//httpd/httpd-2.4.9.tar.gz

tar zxf httpd-2.4.9.tar.gz && cd httpd-2.4.9
./configure --prefix=/usr/local/apache --enable-so 
--enable-deflate=shared --enable-ssl=shared --enable-expires=shared  
--enable-headers=shared --enable-rewrite=shared --enable-static-support --with-included-apr

这里出现了第一个错误:
configure: error: Bundled APR requested but not found at ./srclib/. Download and unpack the corresponding apr and apr-util packages to ./srclib/.

说是需要把apr和apr-util解压到apache的./srclib/目录里.
解决办法:

 代码如下 复制代码

wget http://mirror.esocc.com/apache//apr/apr-1.5.0.tar.gz
wget http://mirror.esocc.com/apache//apr/apr-util-1.5.3.tar.gz

tar zxf apr-1.5.0.tar.gz && cp -fr apr-1.5.0 ./httpd-2.4.9/srclib/apr
tar zxf apr-util-1.5.3.tar.gz && cp -fr apr-util-1.5.3 ./httpd-2.4.9/srclib/apr-util

然后重新执行./configure --prefix=.....

在执行make的时候,报第2个错误:
error: ‘PCRE_DUPNAMES‘ undeclared (first use in this function)

网上搜了下说是yum安装的pcre的版本太老了,不支持PCRE_DUPNAMES 和 PCRE_JAVASCRIPT_COMPAT 这样的PCRE特性.好吧,我去下个最新版的pcre来编译安装.

解决办法:

 代码如下 复制代码
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.35.tar.gz
tar zxf pcre-8.35.tar.gz && cd pcre-8.35
./configure
make && make install

编译完成后,我们重新对httpd-2.4.9执行编译,这下就不会继续报错.

3.当编译完成LAMP环境后,我们要启动apache来检查是否有问题
由于还没有做软链和启动服务项,所以先暂时用这条命令来启动:
/usr/local/apache/bin/apachectl start

发现报错:
httpd: Syntax error on line 149 of /usr/local/apache/conf/httpd.conf: Cannot load modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied

很明显的selinux的权限问题,解决办法:

 代码如下 复制代码
chown -R apache:apache /usr/local/apache
setenforce 0
chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so

最后启动apache:
/usr/local/apache/bin/apachectl start好了,没有问题了.

centos系统编译apache-2.4.x常见错误总结

时间: 2024-08-08 12:57:39

centos系统编译apache-2.4.x常见错误总结的相关文章

CentOS系统编译安装服务如何添加开机自启动

今天在重启CentOS系统时,发现已设置开机自启动的服务并没有随开机自启动,于是查阅资料,定位原因,特更此文,以备查阅. 首先,之前的做法是将命令写入/etc/rc.local文件中,如下: vi /etc/rc.local #!/bin/bash #省略...... /date/server/bin/startup.sh    #tomcat 但是重启之后,Tomcat服务并没有启动.网上查阅资料,大部分说是执行权限问题,执行chmod +x /etc/rc.d/rc.local后,仍不能开机

大数据技术之_03_Hadoop学习_02_入门_Hadoop运行模式+【本地运行模式+伪分布式运行模式+完全分布式运行模式(开发重点)】+Hadoop编译源码(面试重点)+常见错误及解决方案

第4章 Hadoop运行模式4.1 本地运行模式4.1.1 官方Grep案例4.1.2 官方WordCount案例4.2 伪分布式运行模式4.2.1 启动HDFS并运行MapReduce程序4.2.2 启动YARN并运行MapReduce程序4.2.3 配置历史服务器4.2.4 配置日志的聚集4.2.5 配置文件说明4.3 完全分布式运行模式(开发重点)4.3.1 虚拟机准备4.3.2 编写集群分发脚本xsync4.3.3 集群配置4.3.4 集群单点启动4.3.5 SSH无密登录配置4.3.6

关于debian,redhat系列系统的相关配置,和常见错误解决

一:Debian 1.  使用apt-get install  安装软件时有以下错误: W: GPG error: \  lable: NO_PUBKEY  40976EAF437D05B 解决:运行以下命令: apt-key adv --keyserver keyserver.ubuntu.com --recv-keys  40976EAF437D05B5 2.  或者出现的这样的问题: E: Sub-process /usr/bin/dpkg returned an error code (

Git在开发android系统时常用的技巧及常见错误解决方案

Git常用的技巧及常见错误解决方案 项目管理工作 repo 常用命令 ==目标== 了解repo工作原理及常用的repo命令 Git 日常使用的命令,常见问题及解决方案 ==关键词== Repo , Git ==工作指南== == <big>Repo</big> == Android代码其实是由若干个git 工作组织在一起的,repo 是一个便于整体管理这些项目的脚本. 拉代码时需要用到几个步骤,分别对几个步骤进行阐述一下,网上有很多repo 的使用方法,但是对其工作原理描述的并不

Linux编译Hadoop成64位常见错误

[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.2.0:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: protoc version is 'libprotoc 2.4.1', expected version is '2.5.0' -> [Help 1]

CentOS下编译php时的一些典型错误及解决办法.

configure: error: xml2-config not found. Please check your libxml2 installation.yum install libxml2-devel configure: error: Cannot find OpenSSL'syum install openssl-devel configure: error: Please reinstall the libcurl distribution - easy.h should be

linux服务器centos系统apache路径不区分大小写的解决办法

大家都知道linux服务器的centos系统.ubuntu系统等 访问路径都是区分大小写,这里分享centos系统下apache路径不区分大小写的解决办法.修改 http.conf文件: usr/local/apache/为我的环境apache目录,完成上述后会在/usr/local/apache/modules/目录下多一个mod_speling.so模块文件 在/usr/local/apache/conf/httpd.conf中加上 1 2 LoadModule speling_module

JetBrains 系列软件--操作数据库+centos系统

这系列软件贼强大! 能操作数据库 也能操作centos(linux)系统 由于这系列都有这两个功能,下面以最近常用的JetBrains PhpStorm 2017.2.1 x64来举例子: 一.操作数据库: 1.入口: 2.新建连接 3.选择操作数据库客户端类型: 4.填写信息 测试 连接成功! 输入命令,运行就行了 二.操作centos系统 1.入口 2.填写信息 遇到错误: host写错: 连接超时: 请检查host或者密码还有用户名是不是填写正确,还有记得目标centos系统一定记得开机!

CentOS 6.5 Maven 编译 Apache Tez 0.8.3 踩坑/报错解决记录

最近准备学习使用Tez,因此从官网下载了最新的Tez 0.8.3源码,按照安装教程编译使用.平时使用的集群环境是离线的,本打算这一次也进行离线编译,无奈一编译就开始报缺少jar包的错,即使手动下载jar包复制到目录.尝试使用Maven的包安装命令,还是无法消除错误.只得尝试在联网环境下先进行编译(环境与离线集群环境相同),再看编译得到的jar包是否可以在Hadoop离线集群上正常使用了. 之前从没接触过Maven,网上资料也多是和Eclipse放在一起,作为Eclipse的一个插件来说明的.时间