如果你能获得Linux的root权限,那么安装可以比这简单得多,几个yum或apt-get命令就搞定了
如果你不能获得root权限,但是系统是32位的,推荐考虑一下xampp,是一个LAMP的集成包,直接下载、解压,就算安装完成了
xampp没有64位版本,所以64位Linux,而且没有root权限的我,就开始了下面的折腾。
1. 安装 httpd 2.2.21
官方下载地址 http://httpd.apache.org/download.cgi
tar xzf httpd-2.2.21.tar.gz cd httpd-2.2.21 ./configure --prefix=/users/ghtang/lamp/apache --enable-so --enable-vhost-alias --enable-rewrite --enable-deflate --enable-mods-shared=all make make install
2. 安装 MySQL 5.0.77
官方下载地址 http://www.mysql.com/downloads/mysql/
由于系统里已经安装好了MySQL,我这里就把这一步省略掉了。要查看详细的安装方法,可以参考本文最后给出的链接。
3. 安装 PHP 5.2.17
因为我要安装GD库,所以还要安装很多其他依赖的软件,先把依赖的软件安装好,最后再安装PHP。
(1) FreeType 2.4.6
官方下载地址 http://www.freetype.org/download.html
tar xjf freetype-2.4.6.tar.bz2 cd freetype-2.4.6 ./configure --prefix=/users/ghtang/lamp/freetype make make install
(2) Libtool 2.2
官方下载地址 http://www.gnu.org/software/libtool/
tar xzf libtool-2.2.tar.gz cd libtool-2.2 ./configure --prefix=/users/ghtang/lamp/libtool make make install
(3) jpeg v6b
官方下载地址 http://www.ijg.org/
tar xzf jpegsrc.v6b.tar.gz cd jpeg-6b/ ./configure --prefix=/users/ghtang/lamp/jpeg --enable-shared make make install
如果出现这个错误:
make: ./libtool: Command not found
说明编译时找不到libtool,解决办法:
ln -s /users/ghtang/lamp/libtool/bin/libtool libtool
如果出现类似这个错误
/usr/bin/install: cannot create regular file `/users/ghtang/lamp/jpeg/bin/cjpeg': No such file or directory
那么把缺少的目录手工创建好就可以了
mkdir /users/ghtang/lamp/jpeg/bin
(4) zlib 1.2.5
官方下载地址 http://zlib.net/
tar xzf zlib-1.2.5.tar.gz cd zlib-1.2.5 ./configure --prefix=/users/ghtang/lamp/zlib make make install
(5) libpng 1.2.23
官方下载地址 http://www.libpng.org/pub/png/libpng.html
tar xzf libpng-1.2.23.tar.gz cd libpng-1.2.23 ./configure --prefix=/users/ghtang/lamp/libpng make make install
(6) gettext 0.17
官方下载地址 http://www.gnu.org/s/gettext/
tar xzf gettext-0.17.tar.gz cd gettext-0.17 ./configure --prefix=/users/ghtang/lamp/gettext make make install
(7) LibGD 2.0.35
官方网站http://www.boutell.com/gd/没有这个版本,直接google一下文件名就能找到下载
tar xzf gd-2.0.35.tar.gz cd gd-2.0.35 ./configure --prefix=/users/ghtang/lamp/gd --with-jpeg=/users/ghtang/lamp/jpeg --with-png=/users/ghtang/lamp/libpng --with-zlib=/users/ghtang/lamp/zlib --with-freetype=/users/ghtang/lamp/freetype make make install
(8) PHP 5.2.17
官方下载地址 http://www.php.net/downloads.php
安装完所有依赖后,终于可以开始安装PHP了
tar xzf php-5.2.17.tar.gz cd php-5.2.17 ./configure --prefix=/users/ghtang/lamp/php --with-apxs2=/users/ghtang/lamp/apache/bin/apxs --with-mysql=/usr/bin/mysql --with-gd=/users/ghtang/lamp/gd --enable-gd-native-ttf --with-jpeg-dir=/users/ghtang/lamp/jpeg --with-png-dir=/users/ghtang/lamp/libpng --with-freetype-dir=/users/ghtang/lamp/freetype --with-zlib=/users/ghtang/lamp/zlib make make install
这里如果出现类似下面的错误
/usr/bin/ld: skipping incompatible /usr/lib/mysql/libmysqlclient.so when searching for -lmysqlclient
说明系统里面有32位和64位的.so文件,php安装时找到的.so是32位的,和64位不兼容。在./configure时加上下面的参数可以解决这个问题。
--with-libdir=lib644. 启动apache
在安装完php后,还需要在apache里面进行配置才能识别.php文件
# Make sure there's only **1** line for each of these 2 directives: # Use for PHP 4.x: #LoadModule php4_module modules/libphp4.so #AddHandler php-script .php # Use for PHP 5.x: LoadModule php5_module modules/libphp5.so AddHandler php5-script .php # Add index.php to your DirectoryIndex line: DirectoryIndex index.html index.php AddType text/html .php # PHP Syntax Coloring # (optional but useful for reading PHP source for debugging): AddType application/x-httpd-php-source phps
配置完成,开始启动apache
apache/bin/apachectl start
如果出现这样的错误信息:
(13)Permission denied: make_sock: could not bind to address [::]:80 (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
有可能是系统不允许普通用户绑定80端口,那么编辑apache的配置文件 apache/bin/httpd.conf ,将80端口换成其他端口(比如8877端口)即可。
5. 参考资料
[1]. http://swengineer.iteye.com/blog/1103459
[2]. http://php.net/manual/en/image.installation.php
[3]. http://www.vr.org/knowledgebase/4362/CentOS-5-64-bit–configure-error-ZLIB-extension-requires-zlib-equals-109-or-orusrorbinorld-skipping-incompatible-orusrorliborlibmso-when-searching-for–lm.html
[4]. http://dan.drydog.com/apache2php.html











