最近開(kāi)始看《Ajax for Dummies》,書里的示例一些是基于php的,所以需要建個(gè)php服務(wù)器才可以演示這些示例。拿自己的Ubuntu試了一下。
1.準(zhǔn)備工作先分別從
http://httpd.apache.org和
http://www.php.net下載回httpd2和php5的源碼包,分別為:httpd-2.2.3.tar.gz和php-5.2.0.tar.gz。
在編譯之前,先大概瀏覽一下它們的INSTALL文件,看看都有哪些說(shuō)明。
httpd的說(shuō)明很簡(jiǎn)單,再看php的說(shuō)明,里面有一段是:
? 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.)
也就是說(shuō),要有C編譯器,flex,bison,一個(gè)web服務(wù)器,還要一些模塊的組件。由于計(jì)劃用apache做web服務(wù)器程序,基本編譯環(huán)境早就裝好(如果沒(méi)有,就sudo apt-get install build-essential 安裝之。),就看flex和bison這兩個(gè)東東了。
新立得里面搜索了一下,有是有,就不知道是不是版本太陳舊了。還是問(wèn)了一下google,得到了flex和bison的地址,
http://www.gnu.org/software/flex/和
http://www.gnu.org/software/bison/。分別下載回源碼包,然后先編譯安裝這兩個(gè)東西,同樣看了看說(shuō)明,直接
./configure
make
sudo?make?install
2.開(kāi)始安裝Apache?再回過(guò)頭來(lái)看php的說(shuō)明。
文件里先講到的是apache1.3.×的版本如何編譯,這里我下載的是2.2.3版的Apache了,直接跳過(guò)這一節(jié),看關(guān)于Apache2的編譯安裝說(shuō)明。
?? 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.
前面還有一點(diǎn)版本方面的說(shuō)明就不管了,根據(jù)示例,進(jìn)入httpd的文件夾,直接執(zhí)行? ./configure --enable-so來(lái)編譯apache就可以了。考慮到,Apache在我機(jī)器上待的時(shí)間可能不長(zhǎng),如果按默認(rèn)的安裝,安裝到/usr/local下面去,我可能過(guò)幾天就忘了,找不到了。就用prefix參數(shù)修改一下安裝路徑。??
./configure?--enable-so?--prefix=/opt/apache
然后就是等待配置的完成,生成Makefile,完了之后就 make 一下,現(xiàn)在可以去泡杯茶了。水燒開(kāi),茶泡好,sudo make install? 完成Apache的安裝。興沖沖地轉(zhuǎn)到/opt/apache/bin目錄, sudo ./apachectl start ,然后在FF里localhost一下,“It works!”,em,不錯(cuò),apache已經(jīng)可以運(yùn)行了。 趕緊,sudo ./apachectl stop 。
3.開(kāi)始編譯PHP5
還是看說(shuō)明:
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.
進(jìn)入到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
然后,除了等就還是等了 :( 機(jī)子破了點(diǎn),沒(méi)辦法。(在等待的時(shí)間里,“我還抽了點(diǎn)時(shí)間洗了個(gè)澡,換了件衣服~~”)。然后,make 一下,這次,我去會(huì)了會(huì)新導(dǎo)師~~~,回來(lái)的時(shí)候,sudo make install 。到此,編譯安裝結(jié)束。
4.配置Apache,是php能夠運(yùn)行起來(lái)再看說(shuō)明:
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.
經(jīng)過(guò)這樣簡(jiǎn)單的步驟,再啟動(dòng)Apache,就可以執(zhí)行php腳本了。
posted on 2006-11-23 15:45
xiaosilent 閱讀(929)
評(píng)論(1) 編輯 收藏 所屬分類:
Linux相關(guān)