首页 > 代码库 > Linux Apache PHP编译配置

Linux Apache PHP编译配置

1、下载Apache Web服务器源码及相关依赖库

进入http://www.apache.org,选择一个服务器下载相关的源码。这里请注意:apache其实是一个基金会名称,旗下有很多开源项目,apache web服务器只是apache基金会其中一个项目而已,所以很多朋友在进入apache主页后,很难找到apache web server下载的地方,apache web server在其源码库中名称为httpd-xxx(xxx为版本)。基本步骤是:首页点击download,进入下载页后,选择一个服务器,一般选择国内服务器即可(.cn域名或标注为在China的服务器即可),这里我们选择:http://mirrors.hust.edu.cn/apache/,进入服务器后,点击httpd目录,选择一个最新稳定版下载即可(如:http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.10.tar.bz2);下载好web server 源码后,返回上级目录(即:http://mirrors.hust.edu.cn/apache/),下载httpd的依赖库apr(apr好像是apache portalble runtime的简写,就是apache的可移植运行库,很多开源软件都构建在这个库上,如PHP,这个库提供一些跨平台的系统功能,如内存管理等),点击apr文件夹,下载apr和apr-uitl源码(如:http://mirrors.hust.edu.cn/apache/apr/apr-1.5.1.tar.bz2,http://mirrors.hust.edu.cn/apache/apr/apr-util-1.5.4.tar.bz2)。

apache除了依赖apr和apr-util,还依赖于pcre库,这个库是一个跨平台的正则表达式处理库,官方网址为http://www.pcre.org/,进入主页后,选择一个服务器,下载一个最新版本源码即可(如:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.bz2)。

2、Apache Web服务器编译

编译安装pcre库,编译比较简单,经典的configure、make、make install ,这里我们将其安装目录指定为/opt/pcre,并编译为静态库:

tar -jxvf pcre-8.36.tar.bz2
cd pcre-8.36
./configure --prefix=/opt/pcre --disable-shared --enable-static
make
make install
(可能需要root权限)

下面编译apache,这里我们将安装目录指定为/opt/apache:

解压相关源码:

tar -jxvf httpd-2.4.10.tar.bz2
tar -jxvf apr-1.5.1.tar.bz2 -C httpd-2.4.10/srclib
tar -jxvf apr-util-1.5.4.tar.bz2 -C httpd-2.4.10/srclib

后两句命令功能是将apr和apr-util源码解压httpd-2.4.10/srclib目录下。

解压完成后,进入httpd-2.4.10/srclib目录,将apr-1.5.1目录重命名为apr,将apr-util-1.5.4重命名为apr-util(在srclib下执行命令mv apr-1.5.1 aprmv apr-util-1.5.4 apr-util即可)。

这里将apr和apr-util源码解压在srclib且进行重命名主要是要通过apache的编译配置选项--with-included-apr指定apr的位置,以免再单独安装这两个库。

httpd-2.4.10目录下执行:

./configure --prefix=/opt/apache --with-pcre=/opt/pcre --with-included-apr --enable-so
make
make install
(可能需要root权限)

安装完成后即可启动apache服务器了;apache的基本操作(注意,以下操作需要root权限):

/opt/apache/bin/apachectrl start(启动)
/opt/apache/bin/apachectrl restart(重启)
/opt/apache/bin/apachectrl stop(停止)

如果没有配置服务器名称,在启动时,会有警告信息,打开apache/conf/httpd.conf,设置:

ServerName localhost

即可。启动apache后,使用浏览器输入127.0.0.1,如果出现

It works!

表示apache已经成功启动了。

3、PHP源码及依赖库下载

php依赖libxml2库,libxml2官方地址为:http://www.xmlsoft.org/,进入下载页(ftp://xmlsoft.org/libxml2/),下载最新版本的libxml2即可,这里我们选择(ftp://xmlsoft.org/libxml2/libxml2-sources-2.9.0.tar.gz);

PHP官方地址为http://www.php.net/,进入下载页http://www.php.net/downloads.php,下载最新稳定版本源码即可,这里我们选择(http://cn2.php.net/distributions/php-5.4.36.tar.bz2);

4、PHP编译

编译libxml2,这里我们将安装目录指定为/opt/libxml2,和pcre库一样,也编译为静态库:

tar -jxvf libxml2-sources-2.9.0.tar.gz
cd libxml2-2.9.0

./configure --prefix=/opt/libxml2 --enable-static --disable-shared
make
make install
(可能需要root权限)

下面编译PHP:

tar -jxvf php-5.4.36.tar.bz2
cd php-5.4.36
./configure --prefix=/opt/php/ --with-apxs2=/opt/apache/bin/apxs --with-pcre-dir=/opt/pcre/ --with-libxml-dir=/opt/libxml2 --with-config-file-path=/opt/php

其中选项--with-apxs2是指定apache apxs工具位置,指定这个选项后,配置php时,会自动搜索apr的相关配置,并且在安装php时,会将libphp5.so安装在apache动态模块目录,并自动修改apache的配置加载libphp5.so等;--with-config-file-path是指定PHP的配置文件php.ini的搜索目录。

make
make install

安装完成后,将php-5.4.36/php.ini-production复制到/opt/php/php.ini(运行命令 cp php.ini-production /opt/php/php.ini即可),复制完成后,打开apache配置文件apache/conf/httpd.conf,在<IfModule mime_module></IfModule>之间添加以下内容,否则apache不能解析php文件:

AddType application/x-httpd-php .php

搜索index.html,在其后添加index.php

配置完成后,重新启动apache(运行命令:/opt/apache/bin/apachectrl restart即可<需要root权限>)。

5、简单测试

在/opt/apache/htdocs/下创建index.php文件,输入php经典测试内容:

<?php
phpinfo();
?>

打开浏览器,输入127.0.0.1/index.php

Linux Apache PHP编译配置