Apache httpd 2.4.x版本源码安装

Apache httpd 2.4.x版本源码安装,httpd 2.4.x版本需要apr的版本为1.4以上。

什么是apr:可移值运行环境。因为现在httpd运行在多种版本的操作系统上,要开发多种平台的 httpd程序,为简少工作量,使用apr来整合底层硬件的不同。所以apr相当于一个虚拟机。在WINODOWS、LINUX等系统上分别安装对应的apr就可以运行相应平台的httpd。

apr-util是为apr提供工具组件的。

安装步骤为:

apr—-apr-util—-httpd2.4.x

以apr-1.5.2、apr-util-1.5.4、httpd-2.4.16安装为例讲解。

第一步安装apr-1.5.2

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

第二步安装apr-util-1.5.4

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr(指定apr安装在什么地方)
make
make install

第三步安装httpd2-4.16

先安装gcc编译环境 yum -y install gcc

接着安装

./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so
--enable-rewrite --enable-ssl --enable-cgi --enable-cgid --enable-modules=most
--enable-mods-shared=most --enable-mpms-shared=all --with-apr=/usr/local/apr
--with-apr-util=/usr/local/apr-util

遇到如下错误:
1、checking for OpenSSL… checking for user-provided OpenSSL base directory… none
checking for OpenSSL version >= 0.9.8a… 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

应该是ssl版本太老了,解决方法:
yum install openssl-devel
yum update openssl

2、提示没有安装pcre,解决方法:
yum -y install pcre-devel

继续安装:
make
make install

如没有报错就安装好了。

第四步启动httpd

# /usr/local/apache/bin/apachectl restart(遇到如下错误)
AH00557: httpd: apr_sockaddr_info_get() failed for apache24
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name,

using 127.0.0.1. Set the ‘ServerName’ directive globally to suppress this message
httpd not running, trying to start

应该是没有设置域名,解决方法如下:
vim /etc/httpd/httpd.conf

找到ServerName这一行改为ServerName www.rfyy.net:80

再启动就没有报错。

注意httpd2.4.x版本的MPM默认就是Event。
vim /etc/httpd/httpd.conf看到加载的MPM模块就是Event:
LoadModule mpm_event_module modules/mod_mpm_event.so
#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so

切换不同的MPM也是在这实现的

此条目发表在linux分类目录,贴了, , , 标签。将固定链接加入收藏夹。