LAMP环境搭建
网上有关LAMP环境搭建的文章不少,但感觉太乱,不知道该照着哪个做,索性自己写一下。
安装过程中出现的问题 :
1、使用源码编译的方法安装MySQL时报错:
当设置完./configure后,提示
- checking for termcap functions library... configure: error: No curses/termcap library found
后退出。
LAMP环境搭建 解决办法:
网上大多数人都是认为缺少ncurses,于是刚开始我先装的是ncurses。
ncurses-devel.***.rpm 包解决
或者去下载一个ncurses-5.6.tar.gz,
- cd ncurses-5.6
- ./configure –prefix=/usr/local/ncurses –with-shared –without-debug
- make
- make install clean
然后再重新编译Mysql进行安装。
但是在MySQL中configure时还是提示如上错误,网上还提出了一种原因:缺少ncurses-devel,于是又从centos(我安装的是centos5.5)安装文件中找到ncurses-devel的rpm文件,
- rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm
装完后,在MySQL下进行configure设置正常,问题解决。
2、编译gd-2.0.35.tar.gz时报错:
gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/local/freetype/include/freetype2 -I/usr/local/freetype/include -I/usr/local/freetype/include -I/usr/local/jpeg/include -g -O2 -MT gd_png.lo -MD -MP -MF .deps/gd_png.Tpo -c gd_png.c -fPIC -DPIC -o .libs/gd_png.o
gd_png.c:16:53: error: png.h: No such file or directory
gd_png.c:47: error: expected specifier-qualifier-list before 'jmp_buf'
gd_png.c:54: error: expected ')' before 'png_ptr'
gd_png.c:82: error: expected ')' before 'png_ptr'
gd_png.c:92: error: expected ')' before 'png_ptr'
解决办法:
vi gd_png.c
将
- #include "png.h" /* includes zlib.h and setjmp.h */
替换成:
- #include "/usr/local/libpng/include/png.h" /* includes zlib.h and setjmp.h */
然后再make就可以了
3、configure libpng时出错:
- checking for zlibVersion in -lz... no
- configure: error: zlib not installed
提示没有安装zlib,但其实我在安装libpng之前安装就是zlib。
网上说有一种解决办法是回到zlib目录执行make clean后重新配置安装,但失败。
还有一种是,回到zlib目录执行make clean命令,然后依次执行./configure、make、make install,其中configure时不要设置--prefix的值。然后回来配置libpng,成功(没有删除前一次在配置zlib时创建的目录/usr/local/zlib,不知道以后会不会产生影响)。解决。
4、安装php时,make test后出现问题:
解决方案:
安装
- libtool-ltdl
- libtool-ltdl-devel
rpm包后解决
详细安装 :
1、配置PHP完美开发环境所需软件清单(总共13个):
autoconf-2.61.tar.gz
freetype-2.3.5.tar.gz
gd-2.0.35.tar.gz
httpd-2.2.17.tar.gz
jpegsrc.v6b.tar.gz
libmcrypt-2.5.8.tar.gz
libpng-1.2.31.tar.gz
libxml2-2.6.30.tar.gz
mysql-5.0.45.tar.gz
php-5.3.3.tar.gz
phpMyAdmin-3.3.8.1-all-languages.tar.gz
ZendOptimizer-3.3.0a-linux-glibc21-i386.tar.gz
zlib-1.2.3.tar.gz
准备工作:
将上述软件放到/usr/local/src下,使用 tar zxvf *.tar.gz命令解压。
安装gcc,如果在centOS下,可以使用yum install gcc gcc-c++命令在线安装,如果是RedHat,而且像我一样没有系统的注册码,这能手工安装了。
2、安装顺序
按照Apache-->MySQL-->PHP的顺序安装
在安装 PHP 之前,应先安装 PHP5 需要的最新版本库文件,比如 libxml2 、 libmcrypt 以及 GD2 库等文件。安装 GD2 库是为了让 PHP5 支持 GIF 、 PNG 和 JPEG 图片格式,所以在安装 GD2 库之前还要先安装最新的 zlib 、 libpng 、 freetype 和 jpegsrc 等库文件。而且中间还会穿插安装一些软件。
a.编译安装libxml2
- ./configure --prefix=/usr/local/libxml2
- make && make install
如果安装成功,会在 /usr/local/libxml2/ 目录下存在 bin 、 include 、 lib 、 man 和 share 五个目录。在安装 PHP5 配置时, configure 命令的选项要加上“ --with-libxml-dir=/usr/local/libxml2 “选项,指定 libxml2 库文件的位置。
b.安装libmcrypt
- ./configure --prefix=/usr/local/libmcrypt
- make && make install
安装成功会在 /usr/local/libmcrypt/ 目录下存在 bin 、 include 、 lib 、 man 和 share 五个目录。在安装 PHP5 配置时, configure 命令的选项要加上“ --with-mcrypt-dir=/usr/local/libmcrypt “选项,指定 libmcrypt 库文件的位置。
安装完成 libmcrypt 库以后,有一些 Linux 系统版本还要安装一下 libltdl 库。可以进入到解压缩的目录 /usr/local/src/ libmcrypt-2.5.8 下,找到 libltdl 库源代码文件所在的目录 libltdl ,进入这个目录按照下面几个命令配置、编译、安装。
- ./configure --enable-ltdl-install
- make && make install
c.安装zlib库
- ./configure --prefix=/usr/local/zlib
- make && make install
安装成功会在 /usr/local/zlib 目录下存在 include 、 lib 和 share 三个目录。在安装 PHP5 配置时, configure 命令的选项要加上“ --with-zlib-dir=/usr/local/libmcrypt “选项,指定 zlib 库文件的位置。
d.安装libpng
- ./configure --prefix=/usr/local/libpng
出现错误:
checking for zlibVersion in -lz... no
configure: error: zlib not installed
(错误3)
make && make install
如果安装成功会在/usr/local/libpng目录下存在bin、include、lib和share四个目录。在安装GD2库配置时,configure命令的选项要加上“--with-png=/usr/local/libpng“选项,指定libpng库文件的位置。
e.安装jpeg6
安装GD2库使用的jpeg6库文件,需要自己手动的创建安装需要的目录,它们在安装时不能自动创建。
- mkdir /usr/local/jpeg6
- mkdir /usr/local/jpeg6/bin
- mkdir /usr/local/jpeg6/lib
- mkdir /usr/local/jpeg6/include
- mkdir -p /usr/local/jpeg6/man/man1
- ./configure --prefix=/usr/local/jpeg6/ --enable-shared --enable-static
- make && make install
在安装GD2库配置时,configure命令的选项要加上“--with-jpeg=/usr/local/jpeg6/“选项,指定jpeg6库文件的位置。
f.安装freetype
- ./configure --prefix=/usr/local/freetype
- make && make install
如果安装成功会在/usr/local/freetype目录下存在bin、include、lib和share四个目录。在安装GD2库配置时,configure命令的选项要加上“--with-freetype=/usr/local/freetype/“选项,指定freetype库文件的位置。
g.安装autoconf
- ./configure
- make && make install
h.安装gd2
./configure --prefix=/usr/local/gd2 \
--with-zlib=/usr/local/zlib/ \
--with-jpeg=/usr/local/jpeg6/ \
--with-png=/usr/local/libpng/ \
--with-freetype=/usr/local/freetype/
(出现错误2)
make && make install
如果安装成功会在 /usr/local/gd2 目录下存在 bin 、 include 和 lib 三个目录。在安装 PHP5 时, configure 命令的选项要加上“ --with-gd=/usr/local/gd2/ “选项,指定 GD 库文件的位置。
【编辑推荐】