首页 > 代码库 > 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 apr和mv 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!
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编译配置