apache编译问题汇总

1、安装httpd-2.2.27./configure 的时候报错如下

checking for void pointerlength... yes configure: error: Size of "void *" is less than size of"long"


解决方法vi configure

if test"$ap_cv_void_ptr_lt_long"  ="yes"; then

     as_fn_error $? "Size of \"void*\" is less than size of \"long\"" "$LINENO" 5

改为if test"$ap_cv_void_ptr_lt_long" != "yes"; then

     as_fn_error $? "Size of \"void*\" is less than size of \"long\"" "$LINENO" 5

保存重新编译

 

 

2、linux下安装安装pcre-8.32
./configure --prefix=/usr/local/pcre 出现以下错误
configure: error: You need a C++ compiler for C++ support

正解

yum install -y gcc gcc-c++

 

3、如果在安装apache的时候入到 error: mod_deflate has beenrequested but can not be built due to prerequisite failures的错误,那是没有安装zlib包。centos下可以采用yum install zlib-devel, ubuntu下可以采用apt-get install zlib1g-dev.

 

4、在编译apache的过程中出现如下错误:

no SSL-C headers found
configure: error: ...No recognized SSL/TLS toolkit detected

解决办法:

安装openssl-devel

 

 

5、安装apache报错

代码如下:

rotatelogs.o: In function post_rotate':
rotatelogs.c:(.text+0x5ed): undefined reference to apr_file_link'
collect2: ld returned 1 exit status
make[2]: *** [rotatelogs] Error 1
make[2]: Leaving directory /root/src/httpd-2.4.2/support'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory /root/src/httpd-2.4.2/support'
make: *** [all-recursive] Error 1

这些是因为没apr的包

有2个解决方法:

第一种解决办法:

.代码如下:

yum remove “apr*”
wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-1.4.6.tar.gz
tar xzf apr-1.4.6.tar.gz
cd apr-1.4.6
./configure ; make ; make install
wget http://ftp.jaist.ac.jp/pub/apache/apr/apr-util-1.4.1.tar.gz
tar zxvf apr-util-1.4.1.tar.gz
cd apr-util-1.4.1
./configure �Cwith-apr=/usr/local/apr
yum install -y pcre-devel lua-devel libxml2-devel


第二种解决办法:
下载arp的包以后 cp到httpd的文件夹

.代码如下:

cp -r apr-1.4.6 httpd-2.4.2/srclib/apr
cp -r apr-util-1.4.1 httpd-2.4.2/srclib/apr-util

就可以解决了

第二个常见的错误这种只有mini安装会出现 一般大部分菜鸟都不会安装devel的包

.代码如下:

checking for OpenSSL version >= 0.9.7… FAILED
configure: WARNING: OpenSSL version is too old
no
checking whether to enable mod_ssl… configure: error:mod_ssl has been requested but can not be built due to prerequisite failures

解决办法

.代码如下:

yum install openssl-devel
yum update openssl

 

6、CENTOSapache启动时httpd:apr_sockaddr_info_get()failed for报错

今天安装Apache httpd web服务器时,从官方网站上下载httpd,然后在centos下解压,安装过程分为三部分:

     1./configure

     2make

     3make install (需要root权限)

默认安装在/usr/sbin/下,执行apachectl start时候,提示如下错误:

httpd: apr_sockaddr_info_get() failed for shiwei
httpd: Could not reliably determine the server's fully qualified domain name,using 127.0.0.1 for ServerName

wKiom1Ve7U6DAh-0AAEMbMHzhAI702.jpg

于是上网查了一下,根据前人的经验,问题终于解决了。总结一下,方便以后使用。

原因:这个问题应该是没有在 /etc/httpd/conf/httpd.conf 中设定 ServerName。所以apache会用主机上的名称来取代,首先会去找 /etc/hosts 中有没有主机的定义。

解决办法:

1)可以设定httpd.conf文件中的 ServerName,如下:ServerName localhost:80                       

2)在 /etc/hosts 中填入自己的主机名称 bogon,如下:127.0.0.1 shiwei (用户名称)

 


你可能感兴趣的:(linux,error,local)