最近开始看《Ajax for Dummies》,书里的示例一些是基于php的,所以需要建个php服务器才可以演示这些示例。拿自己的Ubuntu试了一下。
1.准备工作先分别从
http://httpd.apache.org和
http://www.php.net下载回httpd2和php5的源码包,分别为:httpd-2.2.3.tar.gz和php-5.2.0.tar.gz。
在编译之前,先大概浏览一下它们的INSTALL文件,看看都有哪些说明。
httpd的说明很简单,再看php的说明,里面有一段是:
Prerequisite knowledge and software for compiling:
* Basic Unix skills (being able to operate "make" and a C compiler)
* An ANSI C compiler
* flex: Version 2.5.4
* bison: Version 1.28 (preferred), 1.35, or 1.75
* A web server
* Any module specific components (such as gd, pdf libs, etc.)
也就是说,要有C编译器,flex,bison,一个web服务器,还要一些模块的组件。由于计划用apache做web服务器程序,基本编译环境早就装好(如果没有,就sudo apt-get install build-essential 安装之。),就看flex和bison这两个东东了。
新立得里面搜索了一下,有是有,就不知道是不是版本太陈旧了。还是问了一下google,得到了flex和bison的地址,
http://www.gnu.org/software/flex/和
http://www.gnu.org/software/bison/。分别下载回源码包,然后先编译安装这两个东西,同样看了看说明,直接
./configure
make
sudo make install
2.开始安装Apache 再回过头来看php的说明。
文件里先讲到的是apache1.3.×的版本如何编译,这里我下载的是2.2.3版的Apache了,直接跳过这一节,看关于Apache2的编译安装说明。
Example 2-4. Installation Instructions (Apache 2 Shared Module
Version)
1. gzip -d httpd-2_0_NN.tar.gz
2. tar xvf httpd-2_0_NN.tar
3. gunzip php-NN.tar.gz
4. tar -xvf php-NN.tar
5.
cd httpd-2_0_NN6.
./configure --enable-so7.
make8.
make install Now you have Apache 2.0.NN available under
/usr/local/apache2,
configured with loadable module support and the standard MPM prefork.
To test the installation use your normal procedure for starting
the Apache server, e.g.:
/usr/local/apache2/bin/apachectl start
and stop the server to go on with the configuration for PHP:
/usr/local/apache2/bin/apachectl stop.
前面还有一点版本方面的说明就不管了,根据示例,进入httpd的文件夹,直接执行 ./configure --enable-so来编译apache就可以了。考虑到,Apache在我机器上待的时间可能不长,如果按默认的安装,安装到/usr/local下面去,我可能过几天就忘了,找不到了。就用prefix参数修改一下安装路径。
./configure --enable-so --prefix=/opt/apache
然后就是等待配置的完成,生成Makefile,完了之后就 make 一下,现在可以去泡杯茶了。水烧开,茶泡好,sudo make install 完成Apache的安装。兴冲冲地转到/opt/apache/bin目录, sudo ./apachectl start ,然后在FF里localhost一下,“It works!”,em,不错,apache已经可以运行了。 赶紧,sudo ./apachectl stop 。
3.开始编译PHP5
还是看说明:
9. cd ../php-NN
10. Now, configure your PHP. This is where you customize your PHP
with various options, like which extensions will be enabled. Do a
./configure --help for a list of available options. In our example
we'll do a simple configure with Apache 2 and MySQL support. Your
path to apxs may differ, in fact, the binary may even be named apxs2 on
your system.
./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql11.
make12.
make install If you decide to change your configure options after installation,
you only need to repeat the last three steps. You only need to
restart apache for the new module to take effect. A recompile of
Apache is not needed.
Note that unless told otherwise, 'make install' will also install PEAR,
various PHP tools such as phpize, install the PHP CLI, and more.
进入到php源码目录,示例中是 ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql这样的,但是,我不需要安装mysql,apache的安装目录也不是/usr/local/apache2,所以,稍做修改
./configure --with-apxs2=/opt/apache/bin/apxs --prefix=/opt/php
然后,除了等就还是等了 :( 机子破了点,没办法。(在等待的时间里,“我还抽了点时间洗了个澡,换了件衣服~~”)。然后,make 一下,这次,我去会了会新导师~~~,回来的时候,sudo make install 。到此,编译安装结束。
4.配置Apache,是php能够运行起来再看说明:
13. Setup your php.ini
cp php.ini-dist /usr/local/lib/php.ini
You may edit your .ini file to set PHP options. If you prefer having
php.ini in another location, use --with-config-file-path=/some/path in
step 10.
If you instead choose php.ini-recommended, be certain to read the list
of changes within, as they affect how PHP behaves.
14.
Edit your httpd.conf to load the PHP module. The path on the right hand
side of the LoadModule statement must point to the path of the PHP
module on your system. The make install from above may have already
added this for you, but be sure to check.
For PHP 4:
LoadModule php4_module modules/libphp4.so
For PHP 5:
LoadModule php5_module modules/libphp5.so15. Tell Apache to parse certain extensions as PHP. For example,
let's have Apache parse the .php extension as PHP. You could
have any extension(s) parse as PHP by simply adding more, with
each separated by a space. We'll add .phtml to demonstrate.
AddType application/x-httpd-php .php .phtml It's also common to setup the .phps extension to show highlighted PHP
source, this can be done with:
AddType application/x-httpd-php-source .phps16. Use your normal procedure for starting the Apache server, e.g.:
/usr/local/apache2/bin/apachectl start
Following the steps above you will have a running Apache 2.0 with
support for PHP as SAPI module. Of course there are many more
configuration options available for both, Apache and PHP. For more
information use ./configure --help in the corresponding source tree.
In case you wish to build a multithreaded version of Apache 2.0 you
must overwrite the standard MPM-Module prefork either with worker or
perchild. To do so append to your configure line in step 6 above
either the option --with-mpm=worker or --with-mpm=perchild. Take care
about the consequences and understand what you are doing. For more
information read the Apache documentation about the MPM-Modules.
经过这样简单的步骤,再启动Apache,就可以执行php脚本了。
posted on 2006-11-23 15:45
xiaosilent 阅读(918)
评论(1) 编辑 收藏 所属分类:
Linux相关