把MAP等对应于linux的压缩包文件copy到usr/自己建的down目录(也可以在其他目录下,最好相关文件都放在同一地方便于安装和查询),安装前的准备工作是下载全linux下的php运行的相关源码安装压缩包,我的/usr/down下的列表:
libxml2-2.6.11.tar.gz
ZendOptimizer-3.2.6-linux-glibc21-i386.tar.gz
phpMyAdmin-2.10.0.2-all-languages.tar.gz
httpd-2.2.4.tar.gz
php-5.2.1.tar.gz
mysql-5.0.37.tar.gz
ZLIB:zlib-1.2.1.tar.gz 下载:http://www.zlib.net/zlib-1.2.3.tar.gz
FreeType:freetype-2.1.9.tar.gz 网站: http://sourceforge.net/projects/freetype/
下载:http://umn.dl.sourceforge.net/sourceforge/freetype/freetype-2.1.9.tar.gz
PNG:libpng-1.2.5.tar.gz http://prdownloads.sourceforge.net/png-mng/libpng-1.2.5.tar.gz
JPEG:jpegsrc.v6b.tar.gz 网站:http://freshmeat.net/projects/libjpeg/
下载 http://freshmeat.net/redir/libjpeg/5665/url_tgz/jpegsrc.v6b.tar.gz
GDgd-2.0.28.tar.gz 下载:http://www.boutell.com/gd/http/gd-2.0.28.tar.gz 已支持gif

在usr/下建立了down源文件目录及新建/server/apache的apache安装目录

安装Apache

1. 执行 cd /usr/down

2. 执行 tar -zxvf httpd-2.2.4.tar.gz

3. 执行 cd httpd-2.2.4 

4. 执行 ./configure --prefix=/server/apache --enable-so 

5. 执行 make 

6. 执行 make install 

7. 执行 /server/apache/bin/apachectl start 

8. 在浏览器打开 http://localhost/ 或者 http://127.0.0.1
如果出现“It works”则说明apache已经安装好了

安装PHP

A、安装支持库
php编程肯定会用到字符串处理,图形处理等一系列问题,必须先安装好所需要的支持库,才能节省以后编程的麻烦,我就是都装完了才意识到图片显示不了,立马回过头安装GD库等一系列支持库,麻烦啊!
建立初始目录:

mkdir /usr/local/modules

#jpeg目录
mkdir /usr/local/modules/jpeg6
mkdir /usr/local/modules/jpeg6/bin
mkdir /usr/local/modules/jpeg6/lib
mkdir /usr/local/modules/jpeg6/include
mkdir /usr/local/modules/jpeg6/man
mkdir /usr/local/modules/jpeg6/man/man1 

A1、安装libxml
#tar -zxvf libxml2-2.6.11.tar.gz 

系统自动列出各解压项.
小提示:解压完成后可以执行 clear 命令清屏 

#cd libxml2-2.6.11

执行 ./configure

执行 make 有些源码编译时要相当相当的时间.大家一定要耐心

执行 make install

A2、安装zlib

tar xzvf zlib-1.2.1.tar.gz
cd zlib-1.2.1
#不要用--prefix自定义安装目录,影响gd的安装
./configure

make

make install

A3、安装freetype

tar xzvf freetype-2.1.5.tar.gz
cd freetype-2.1.5
./configure --prefix=/usr/local/modules/freetype

make

make install

A4、安装libpng

tar xzvf libpng-1.2.5.tar.gz
#不要用--prefix自定义安装目录,影响gd的安装
cd libpng-1.2.5
cp scripts/makefile.std makefile

make test

make install

A5、安装jpeg

tar xzvf jpegsrc.v6b.tar.gz
./configure --prefix=/usr/local/modules/jpeg6 --enable-shared --enable-static

make

make install

A6、安装GD

tar xzvf gd-2.0.28.tar.gz
./configure --prefix=/usr/local/modules/gd --with-jpeg=/usr/local/modules/jpeg6 --with-png --with-zlib --with-freetype=/usr/local/modules/freetype

make

make install

B、安装PHP

tar xzvf php-5.2.1.tar.gz

cd  php-5.2.1

./configure --prefix=/server/php  --with-gd=/usr/local/modules/gd --with-jpeg-dir=/usr/local/modules/jpeg6 --with-zlib --with-png --with-freetype-dir=/usr/local/modules/freetype --enable-magic-quotes --with-mysql=/server/mysql --with-apxs2=/server/apache/bin/apxs --enable-track-vars --enable-force-cgi-redirect --enable-ftp --with-config-file-path=/usr/local/lib

注:
--prefix=/server/php 指定把php-5.2.1安装到/server/php目录中;
--with-mysql=/server/mysql 指定mysql数据服务器安装的位置;
--with-apxs2=/server/apache/bin/apxs 这是加入apache中为DSO模块的位置;
-enable-track-vars 为启动cookie的get/post等追踪功能
--with-config-file-path=/usr/local/lib指定php的配制文件存放的目录是/usr/local/lib目录,后面的cp命令会把php.ini复制到这个目录中来。


# make 

# make install 

# cp php.ini-dist /usr/local/lib/php.ini

配置Apache关联php

执行 vi /server/apache/conf/httpd.conf
用vi编辑器打开apache的配置文件.如图

进入的是vi的命令行方式. 

输入 /LoadModule
然后点击 回车
其中/LoadModule 是向下查找 LoadModule.?LoadModule是向上查找 

我们可以看到 LoadModule php5_module modules/libphp5.so
这是我们安装时设置好的.但也务必检查一下.我的是正确的了 

输入 /AddType

找到 AddType application/x-gzip .tgz

点击 i 进入 插入编辑方式
右下角会出现插入字样.

将光标移到AddType application/x-gzip .tgz后面.回车后加入一行
AddType application/x-httpd-php .php (注意.php前有空格)

点击 Esc 键.回到vi命令行方式.
并输入 /DirectoryIndex

点击 i 键进入 插入编辑方式.并且在 DirectoryIndex index.html
后面加一空格再加index.php

找到 Options Indexes FollowSymLinks (这个选项是决定用户是否能通过浏览器浏览你的文件夹目录及文件的,再编码工作完成上线前一定要#注释掉,去处安全隐患)

*************************
参考:
Options FollowSymLinks ExecCGI MultiViews Indexes Includes
#             Option:定义在目录内所能执行的操作。
#             None:表示只能浏览,
#             FollowSymLinks:允许页面连接到别处,
#             ExecCGI:允许执行CGI,
#             MultiViews:允许看动画或是听音乐之类的操作,
#             Indexes:允许服务器返回目录的格式化列表,
#             Includes:允许使用SSI。这些设置可以复选。
#             All:则可以做任何事,但不包括MultiViews。
*************************

点击 Esc 键.回到vi命令行方式.
输入 :wq  然后点击回车
其中 :wq 是存盘退出的命令,:q!是不存盘退出

可以选择安装时也可以选择写php程序时候根据需要修改php.ini文件
查找safe_mode=Off,更改为safe_mode=On
(1)查找max_execution_time = 30,更改为max_execution_time = 600   
(2)查找max_input_time = 60,更改为max_input_time = 600
(3)查找memory_limit = 8M ,更改为memory_limit = 20M
(4)查找display_errors = On,更改为display_errors = Off
(5)查找register_globals = Off,更改为register_globals = On
(6)查找post_max_size = 8M,更改为post_max_size = 20M
(7)查找upload_max_filesize = 2M,更改为upload_max_filesize = 20M
(8)查找session.auto_start = 0,更改为session.auto_start = 1
:wq 是存盘退出,重启apache,让修改生效。


补充:
有的服务器php版本太低,好像必须静态编译iconv库,否则不能使用iconv(),所以可以在php编译时候添加--with-iconv选项,前提请确认php解压文件夹ext中有iconv库文件夹,也可以单独安装libiconv库,方法如下:
下载:ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.8.tar.gz
安装:
#cp libiconv-1.8.tar.gz /usr/local/src
#tar zxvf lib*
#./configure --prefix=/usr/local/libiconv
#make
#make install
编译php
#./configure --prefix=/usr/local/php4.3.2 --with-iconv=/usr/local/libiconv/

posted on 2007-07-28 17:39  林宁  阅读(473)  评论(0编辑  收藏  举报