1、安装libxml2最新库文件
# ./configure --prefix=/usr/local/libxml2
# make
# make install
注意:安装完这个部分时,应该要检查是否已经安装了libxml2-devel,若没有,可以从
centos光盘中手动安装。
2、安装libmcrypt最新库文件
# ./configure --prefix=/usr/local/libmcrypt # make # make install
3、安装zlib最新库文件
# ./configure (这里不能用--prefix=/usr/local/zlib 指定安装目录,后面会出问题) # make # make install 注意:安装完这个部分时,应该要检查是否已经安装了zlib-devel,若没有,可以从cebntos光盘中安装
4、安装libpng最新库文件
# ./configure --prefix=/usr/local/libpng # make # make install
5、安装jpeg6最新库文件
#mkdir /usr/local/jpeg6 //建立jpeg6软件安装目录 # mkdir /usr/local/jpeg6/bin //建立存放命令的目录 # mkdir /usr/local/jpeg6/lib //创建jpeg6库文件所在目录 # mkdir /usr/local/jpeg6/include //建立存放头文件目录 # mkdir -p /usr/local/jpeg6/man/man1 //建立存放手册的目录 # ./configure \ > --prefix=/usr/local/jpeg6/ \ > --enable-shared \ //建立共享库使用的GNU的libtool > --enable-static //建立静态库使用的GNU的libtool # Make && make install
6、安装freetype最新库文件
# ./configure --prefix=/usr/local/freetype # make # make install
7、安装autoconf最新的库文件
# ./configure # make # make install
8、安装最新的GD库文件
#./configure \ //配置命令 > --prefix=/usr/local/gd2/ \ //指定软件安装的位置 > --with-zlib=/usr/local/lib/ \ //指定到哪去找zlib库文件的位置(注意这里不是zlib,因为前面没有指定安装目录,网上很多资料多指定为zlib,但是指定为zlib,就是安装不上去) > --with-jpeg=/usr/local/jpeg6/ \ //指定到哪去找jpeg库文件的位置 > --with-png=/usr/local/libpng/ \ //指定到哪去找png库文件的位置 > --with-freetype=/usr/local/freetype/ //指定到哪去找freetype 2.x字体库的位置 # make && make install
编译gd-2.0.35.tar.gz时报错:gd_png.c:16:53: error: png.h: No such file or directory 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就可以了 注:include“”双引号里包含的是libpng安装的路径里的include文件夹里的png.h文件
9、安装新版本的Apache服务器
#./configure \ //执行当前目录下软件自代的配置命令
> --prefix=/usr/local/apache2 \ //指定Apache软件安装的位置
> --sysconfdir=/etc/httpd \ //指定Apache服务器的配置文件存放位置
> --with-z=/usr/local/lib/ \ //指定zlib库文件的位置
> --with-included-apr \ //使用捆绑APR/APR-Util的副本
> --enable-so \ //以动态共享对象(DSO)编译
> --enable-deflate=shared \ //缩小传输编码的支持
> --enable-expires=shared \ //期满头控制
> --enable-rewrite=shared \ //基于规则的URL操控
> --enable-static-support //建立一个静态链接版本的支持
# make && make install
测试Apache服务器
检查安装目录 检查配置文件目录 /usr/local/apache2/bin/apachectl start //启动Apache /usr/local/apache2/bin/apachectl stop //关闭Apache # netstat -tnl | grep 80 //查看80端口是否开启 http://localhost/去访问Apache服务器 echo "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local 添加自启动
10、安装MySQL数据库管理系统
# groupadd mysql //添加一个mysql标准组 # useradd -g mysql mysql //添加mysql用户并加到mysql组中 # ./configure \ > --prefix=/usr/local/mysql \ > --with-extra-charsets=all # make && make install
配置MySQL数据库
创建MySQL数据库服务器的配置文件 # cp support-files/my-medium.cnf /etc/my.cnf # cd /usr/local/mysql/ # bin/mysql_install_db --user=mysql //创建授权表 # chown -R root . //将文件的所有属性改为root用户 # chown -R mysql var //将数据目录的所有属性改为mysql用户 # chgrp -R mysql . //将组属性改为mysql组 # /usr/local/mysql/bin/mysqld_safe --user=mysql & 启动数据库 # netstat -tnl|grep 3306 //查看3306端口是否开启 # bin/mysqladmin version //简单的测试 # bin/mysqladmin variables //查看所有mysql参数 # bin/mysql -u root //没有密码可以直接登录本机服务器 mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User=''; mysql> FLUSH PRIVILEGES; mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456'); # bin/mysql -u root -h localhost –p //回车进入MySQL客户端 # bin/mysqladmin -u root –p shutdown //关闭MySQL数据库
11、安装最新版本的PHP模块
# ./configure \ //执行当前目录下软件自代的配置命令
> --prefix=/usr/local/php \ //设置PHP5 的安装路径
> --with-config-file-path=/usr/local/php/etc \ //指定PHP5配置文件存入的路径
> --with-apxs2=/usr/local/apache2/bin/apxs \ //告诉PHP查找Apache 2的地方
> --with-mysql=/usr/local/mysql/ \ //指定MySQL的安装目录
> --with-libxml-dir=/usr/local/libxml2/ \ //告诉PHP放置libxml2库的地方
> --with-png-dir=/usr/local/libpng/ \ //告诉PHP放置libpng库的地方
> --with-jpeg-dir=/usr/local/jpeg6/ \ //告诉PHP放置jpeg库的地方
> --with-freetype-dir=/usr/local/freetype/ \ //告诉PHP放置freetype库的地方
> --with-gd=/usr/local/gd2/ \ //告诉PHP放置gd库的地方
> --with-zlib-dir=/usr/local/lib/ \ //告诉PHP放置zlib库的地方(注意这里也为lib,不是zlib)
> --with-mcrypt=/usr/local/libmcrypt/ \ //告诉PHP放置libmcrypt库的地方
> --with-mysqli=/usr/local/mysql/bin/mysql_config \ //变量激活新增加的MySQLi功能
> --enable-soap \ //变量激活SOAP和Web services支持
> --enable-mbstring=all \ //使多字节字符串支持
> --enable-sockets //变量激活socket通讯特性
#make && make install
安装时,后面的参数确实很长,这里我提取出来了,仅供参考
(# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc/ --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-libxml-dir=/usr/local/libxml2/ --with-png-dir=/usr/local/libpng/ --with-jpeg-dir=/usr/local/jpeg6/ --with-freetype-dir=/usr/local/freetype/ --with-gd=/usr/local/gd2/ --with-zlib-dir=/usr/local/lib/ --with-mcrypt=/usr/local/libmcrypt/ --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --enable-mbstring=all --enable-sockets)
php编译报错 make:***[libphp5.la] Error 1: 报错: /usr/bin/ld: cannot find -lltdl collect2: ld returned 1 exit status make: *** [libphp5.la] Error 1 lltdl找不到,解决方法:安装libltdl-dev就可以解决问题 把下面三个包都安装上,应该就可以解决了 # rpm -ivh libtool-1.5.22-7.el5_4.i386.rpm # rpm -ivh libtool-ltdl-1.5.22-7.el5_4.i386.rpm # rpm -ivh libtool-ltdl-devel-1.5.22-7.el5_4.i386.rpm 此处可能会提示要安装perl,需要下载perl的源码包进行安装。 *进行测试时要注意关闭服务器的防火墙。
LAMP环境整合
# cp php.ini-dist /usr/local/php/etc/php.ini //创建配置文件 # vi /etc/httpd/httpd.conf //使用vi编辑apache配置文件 Addtype application/x-httpd-php .php .phtml #添加这一条 # vi test.php //编辑test.php文件 <?php phpinfo(); ?>
12、安装Zend加速器
# cd ZendOptimizer-3.2.6-linux-glibc21-i386/ # ./install.sh //执行安装
13、phpMyAdmin的安装
# cp -a phpMyAdmin-3.0.0-rc1-all-languages \ /usr/local/apache2/htdocs/phpmyadmin //拷贝目录到指定位置并改名为phpmyadmin # cd /usr/local/apache2/htdocs/phpmyadmin/ # cp config.sample.inc.php config.inc.php