1、下载所需软件包

   根据官网所示,安装apache2.4.9必须先安装apr、apr-util、pcre包

The following requirements exist for building Apache httpd:
APR and APR-Util
Make sure you have APR and APR-Util already installed on your system. If you 
don't, or prefer to not use the system-provided versions, download the latest 
versions of both APR and APR-Util from Apache APR, unpack them into ./srclib/apr and 
./srclib/apr-util (be sure the directory names do not have version 
numbers; for example, the APR distribution must be under ./srclib/apr/) and use 
./configure's --with-included-apr option. On some 
platforms, you may have to install the corresponding -dev packages 
to allow httpd to build against your installed copy of APR and APR-Util.
Perl-Compatible Regular Expressions Library (PCRE)
This library is required but not longer bundled with httpd. Download the 
source code from http://www.pcre.org, or install a Port or Package. If your 
build system can't find the pcre-config script installed by the PCRE build, 
point to it using the --with-pcre parameter. On some platforms, you 
may have to install the corresponding -dev package to allow httpd 
to build against your installed copy of PCRE.

apr-1.5.1.tar.gz  apr-util-1.5.3.tar.gz  cd.sh  httpd-2.4.9.tar.gz  pcre-8.33.zip

2、安装

# 解压缩
tar fvxz apr-1.5.1.tar.gz 
tar fvxz apr-util-1.5.3.tar.gz 
tar httpd-2.4.9.tar.gz 
tar fvxz httpd-2.4.9.tar.gz 
tar fvxz pcre-8.33.zip 
unzip pcre-8.33.zip

# 编译安装apr

cd /data/apr-1.5.1
./configure --prefix=/usr/local/apr
make && make install

# 编译安装apr-util

cd ../apr-util-1.5.3
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

# 编译安装pcre
cd ../pcre-8.33
./configure --prefix=/usr/local/pcre
make && make install

# 编译安装apache
# 安装之前请确保系统之前预装的httpd已被卸载
cd ../httpd-2.4.9
# 参数依次是: httpd安装路径  httpd配置文件存放路径  启用模块化方式  启用ssl安全连接# 启用cgi脚本功能  启用url重写  启用服务器压缩  启用正则表达式支持    apr安装路径 
# apr util安装路径   启用常用模块以确保apache正常工作    将多进程模型非静态化 
# 启用事件异步模型
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event
make && make install

3、错误提示

安装openssl依赖关系 即可解决下面问题

checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures


4、启动&测试

# /usr/local/apache/bin/apachectl start

wKioL1OB0wmQ9liDAACG0Q6BZy4309.jpg

如果成功,可以停止 Apache 服务器并继续安装 PHP:

/usr/local/apache2/bin/apachectl stop  
OR 
/usr/local/apache/bin/apachectl -k stop(推荐)


5、安装php5.5.12

tar fvxz php-5.5.12.tar.gz
./configure --prefix=/usr/local/php5 --with-apxs2=/usr/local/apache/bin/apxs
   
 make && make install


6、配置php.ini

cp php.ini-development /usr/local/lib/php.ini


7、编辑 httpd.conf 文件以调用 PHP 模块。LoadModule 达式右边的路径必须指向系统中的 PHP 模块。以上的 make install 命令可能已经完成了这些,但务必要检查

LoadModule php5_module modules/libphp5.so


8、apache解析php,添加如下内容:

# 让Apache将扩展名.php 解析成 PHP。为了避免潜在的危险,例如上传或者创建类似 exploit.php.jpg 的文件并被当做 PHP 执行,我们不再使用 Apache 的 AddType 指令来设置。
<FilesMatch \.php$>
    SetHandler application/x-httpd-php
</FilesMatch>

# 将.php,.php2,.php3,.php4,.php5,.php6,以及.phtml文件都当做PHP来运行
<FilesMatch "\.ph(p[2-6]?|tml)$">
    SetHandler application/x-httpd-php
</FilesMatch>

# .phps 文件由 PHP 源码过滤器处理,使得其在显示时可以高亮源码
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

# mod_rewrite也有助于将那些不需要运行的.php文件的源码高亮显示,而并不需要将他们更名.phps文件
RewriteEngine On
RewriteRule (.*\.php)s$ $1 [H=application/x-httpd-php-source]