LAMP开发环境的搭建

安装前准备

一、获取软件包

安装之前,我们需要到相应的网站上,下载安装所需要的软件源代码文件。包括ApacheMySQLPHP以及相关库文件的源码包。使用的Linux操作系统主要以Red HatLinux操作系统系列为主。需要下载的软件和下载的地址:

推荐个华为网盘的下载地址:http://dl.vmall.com/c0ua0omlgm

软件名称

下载地址

httpd-2.2.9.tar.gz

http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz

mysql-5.0.41.tar.gz

http://download.freelamp.com/LAMP/mysql-5.0.41.tar.gz

php-5.2.6.tar.gz

http://cn2.php.net/get/php-5.2.6.tar.gz/from/cn.php.net/mirror

phpMyAdmin-3.0.0-rc1-all-languages.tar.gz

http://sourceforge.net/project/downloading.php?groupname=phpmyadmin&filename=phpMyAdmin-3.0.0-rc1-all-languages.tar.gz&use_mirror=nchc

libxml2-2.6.30.tar.gz

ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.30.tar.gz

libmcrypt-2.5.8.tar.gz

http://prdownloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz?use_mirror=peterhost

zlib-1.2.3.tar.gz

http://www.zlib.net/zlib-1.2.3.tar.gz

gd-2.0.35.tar.gz

http://www.libgd.org/releases/gd-2.0.35.tar.gz

Autoconf-2.61.tar.gz

ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz

freetype-2.3.5.tar.gz

http://download.savannah.gnu.org/releases/freetype/freetype-2.3.5.tar.gz

libpng-1.2.31.tar.gz

ftp://ftp.simplesystems.org/pub/libpng/png/src/libpng-1.2.31.tar.gz

jpegsrc.v6b.tar.gz

http://www.ijg.org/files/jpegsrc.v6b.tar.gz

ZendOptimizer330a.tar.gz

http://wt1.mycodes.net/soft/20071108/ZendOptimizer330a.tar.gz


上表中一共有13LAMP环境安装需要的软件包,把下载的所有源代码包都放到Linux系统下的/usr/local/src/目录中。如下所示:


[root@localhost src]# ls /usr/local/src/

autoconf-2.61.tar.gzlibxml2-2.6.30.tar.gz

freetype-2.3.5.tar.gzmysql-5.0.41.tar.gz

gd-2.0.35.tar.gzphp-5.2.6.tar.gz

httpd-2.2.9.tar.gzphpMyAdmin-3.0.0-rc1-all-languages.tar.gz

jpegsrc.v6b.tar.gzZendOptimizer330a.tar.gz

libmcrypt-2.5.8.tar.gzzlib-1.2.3.tar.gz

libpng-1.2.31.tar.gz  

[root@localhost src]# ls|wc -l

13//总计13个文件

[root@localhost src]#



二、检查安装时使用的编译工具是否存在


我们下载的软件的源代码文件都是使用C语言编写的,需要在本机编译后才能安装使用,所以在安装前首先要检查一下系统中编译工具gcc是否已经安装,可以在命令行中使用“gcc -v”来查看是否安装了gcc。如下所示:


[root@localhost  root]# gcc –v

Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs

Configured with: ../configure  --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info  --enable-shared--enable-threads=posix --disable-checking --with-system-zlib  --enable-__cxa_atexit --host=i386-redhat-linux

Thread model: posix

gcc version 3.2.2 20030222 (Red Hat Linux  3.2.2-5)


如果系统中已经安装了gcc编译工具,则显示上述信息,如果没有安装gcc工具,读者需要下载gcc工具软件并安装上。


三、卸载默认的低版本环境

目前发行的Linux操作系统版本中,如果选择默认全部安装,就已经安装了LAMP环境,但是版本相对都比较低。我们可以再安装一个LAMP环境和原来的并存,但是这样做没有必要,因为同时只能开启一个LAMP环境。所要我们要在安装之前,先应检查一下系统中是否已经安装了低版本的环境,如果已经安装过了,停止原来的服务运行,或者把原来的环境卸载掉。如下所示:


查询系统中已安装的Apache相关软件包

[root@localhost root]# rpm -qa|grep -ihttpd

httpd-manual-2.0.40-21

httpd-2.0.40-21

redhat-config-httpd-1.0.1-18


如果Apache已开启,停止运行Apache服务器

[root@localhost root]#service httpd stop


卸载Apache服务器

[root@localhost root]# rpm -e httpd-manual-2.0.40-21  --nodeps

[root@localhost root]# rpm -e httpd-2.0.40-21  --nodeps

[root@localhost root]# rpm -e redhat-config-httpd-1.0.1-18  --nodeps


查询系统中已安装的MySQL相关软件包

[root@localhost root]# rpm -qa|grep -imysql

mysql-devel-3.23.54a-11

mysql-3.23.54a-11

mysql-server-3.23.54a-11


如果MySQL已开启,停止运行MySQL服务器

[root@localhost root]#service mysqld stop


卸载MySQL服务器

[root@localhost root]# rpm -e mysql-devel-3.23.54a-11 --nodeps

[root@localhost root]# rpm -e mysql-3.23.54a-11 --nodeps

[root@localhost root]# rpm -e mysql-server-3.23.54a-11 --nodeps


查询系统中已安装的PHP相关软件包

[root@localhost root]# rpm -qa|grep -i php

php-ldap-4.2.2-17

php-imap-4.2.2-17

php-4.2.2-17


卸载PHP应用服务器

[root@localhost root]# rpm -e php-ldap-4.2.2-17  --nodeps

[root@localhost root]# rpm -e php-imap-4.2.2-17  --nodeps

[root@localhost root]# rpm -e php-4.2.2-17  --nodeps



编译安装

   搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按Apache->MySQL->PHP顺序安装。但在安装PHP之前,应先安装PHP5需要的最新版本库文件,比如libxml2libmcrypt以及GD2库等文件。安装GD2库是为了让PHP5支持GIFPNGJPEG图片格式,所以在安装GD2库之前还要先安装最新的zliblibpngfreetypejpegsrc等库文件。而且中间还会穿插安装一些软件,所以读者可以按照本节内容的顺序安装。


1.编译安装libxm2最新库文件,源码包为libxml2-2.6.30.tar.gz

(1)进入下载的软件源码包所在目录/usr/local/src/下,解压软件包libxml2-2.6.30.tar.gz到当前目录libxml2-2.6.30下,并进入libxml2-2.6.30目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf libxml2-2.6.30.tar.gz//解包解压到libxml2-2.6.30目录

[root@localhost src]# cd libxml2-2.6.30//进入目录libxml2-2.6.30


2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下;

[root@localhost libxml2-2.6.30]#  ./configure --prefix=/usr/local/libxml2

选项--prefix=/usr/local/libxml2作用,是在安装时将软件安装到/usr/local/libxml2目录下;


3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost libxml2-2.6.30]#  make//对软件源代码文件进行编译


4)使用“make install”命令进行安装,命令行如下;

[root@localhost libxml2-2.6.30]#  make install//开始安装libxml2库文件


如果安装成功,会在/usr/local/libxml2/目录下存在binincludelibmanshare五个目录。在安装PHP5配置时,configure命令的选项要加上“--with-libxml-dir=/usr/local/libxml2“选项,指定libxml2库文件的位置。


2.编译安装libmcrypt最新库文件,源码包为libmcrypt-2.5.8.tar.gz

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包libmcrypt-2.5.8.tar.gz到当前目录libmcrypt-2.5.8下,并进入libmcrypt-2.5.8目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf libmcrypt-2.5.8.tar.gz  //解包解压到libmcrypt-2.5.8目录

[root@localhost src]# cd libmcrypt-2.5.8//进入目录libmcrypt-2.5.8


(2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下;

[root@localhost libmcrypt-2.5.8]# ./configure  --prefix=/usr/local/libmcrypt

选项--prefix=/usr/local/libmcrypt,是在安装时将软件安装到/usr/local/libmcrypt目录下;


(3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost libmcrypt-2.5.8]#  make//对软件源代码文件进行编译


(4)使用“make install”命令进行安装,命令行如下;

[root@localhost libmcrypt-2.5.8]#  make install//开始安装libmcrypt库文件


如果安装成功会在/usr/local/libmcrypt/目录下存在binincludelibmanshare五个目录。在安装PHP5配置时,configure命令的选项要加上“--with-mcrypt-dir=/usr/local/libmcrypt“选项,指定libmcrypt库文件的位置。


(5)安装完成libmcrypt库以后,有一些Linux系统版本还要安装一下libltdl库。可以进入到解压缩的目录/usr/local/src/ libmcrypt-2.5.8下,找到libltdl库源代码文件所在的目录libltdl,进入这个目录按照下面几个命令配置、编译、安装就可以了。


[root@localhost root]# cd /usr/local/src/libmcrypt-2.5.8/libltdl  

[root@localhost libltdl]# ./configure--enable-ltdl-install//配置ltdl库的安装

[root@localhost libltdl]# make //编译

[root@localhost libltdl]# make install//安装


3.编译安装zlib最新库文件,源码包为zlib-1.2.3.tar.gz

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包zlib-1.2.3.tar.gz到当前目录zlib-1.2.3下,并进入zlib-1.2.3目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf zlib-1.2.3.tar.gz//解包解压到zlib-1.2.3目录

[root@localhost src]# cd zlib-1.2.3//进入目录zlib-1.2.3


2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下;

[root@localhost zlib-1.2.3]# ./configure \

--prefix=/usr/local/zlib

选项--prefix=/usr/local/zlib,是在安装时将软件安装到/usr/local/zlib目录下;


3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost zlib-1.2.3]#  make//对软件源代码文件进行编译


4)使用“make install”命令进行安装,命令行如下;

[root@localhost zlib-1.2.3]# make install //开始安装zlib库文件


如果安装成功会在/usr/local/zlib目录下存在includelibshare三个目录。在安装PHP5配置时,configure命令的选项要加上“--with-zlib-dir=/usr/local/zlib“选项,指定zlib库文件的位置。


4.编译安装libpng最新库文件,源码包为libpng-1.2.31.tar.gz

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包libpng-1.2.31.tar.gz到当前目录libpng-1.2.31下,并进入libpng-1.2.31目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src/ //进入软件源码包所在目录

[root@localhost src]# tar zxvf libpng-1.2.31.tar.gz//解包解压到libpng-1.2.31目录

[root@localhost src]# cd libpng-1.2.31//进入目录libpng-1.2.31


2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下;

[root@localhost libpng-1.2.31]#  ./configure \

--prefix=/usr/local/libpng

选项--prefix=/usr/local/libpng,是在安装时将软件安装到/usr/local/libpng目录下;


3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost libpng-1.2.31]#make//对软件源代码文件进行编译


4)使用“make install”命令进行安装,命令行如下;

[root@localhost libpng-1.2.31]# make install //开始安装libpng库文件


如果安装成功会在/usr/local/libpng目录下存在binincludelibshare四个目录。在安装GD2库配置时,configure命令的选项要加上“--with-png=/usr/local/libpng“选项,指定libpng库文件的位置。


5.编译安装jpeg6最新库文件,源码包为jpegsrc.v6b.tar.gz

(1)安装GD2库使用的jpeg6库文件,需要自己手动的创建安装需要的目录,它们在安装时不能自动创建。

[root@localhost root]# mkdir /usr/local/jpeg6//建立jpeg6软件安装目录

[root@localhost root]# mkdir /usr/local/jpeg6/bin//建立存放命令的目录

[root@localhost root]# mkdir /usr/local/jpeg6/lib//创建jpeg6库文件所在目录

[root@localhost root]# mkdir /usr/local/jpeg6/include //建立存放头文件目录

[root@localhost root]# mkdir -p /usr/local/jpeg6/man/man1 //建立存放手册的目录

(2)进入软件源码包所在目录/usr/local/src/中,解压软件包jpegsrc.v6b.tar.gz到当前目录jpeg-6b下,并进入jpeg-6b目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src/ //进入软件源码包所在目录

[root@localhost src]# tar zxvf jpegsrc.v6b.tar.gz//解包解压到jpeg-6b目录

[root@localhost src]# cd jpeg-6b//进入目录jpeg-6b


(3)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下,使用“\”将一个命令换成多行;

[root@localhost jpeg-6b]# ./configure \

>  --prefix=/usr/local/jpeg6/ \ //在安装时将软件安装到/usr/local/jpeg6目录下

> --enable-shared  \//建立共享库使用的GNUlibtool

> --enable-static //建立静态库使用的GNUlibtool


4)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost jpeg-6b]# make//对软件源代码文件进行编译


5)使用“make install”命令进行安装,命令行如下;

[root@localhost jpeg-6b]# make install //开始安装jpeg6库文件


在安装GD2库配置时,configure命令的选项要加上“--with-jpeg=/usr/local/jpeg6/“选项,指定jpeg6库文件的位置。


6.编译安装freetype最新库文件,源码包为freetype-2.3.5.tar.gz

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包freetype-2.3.5.tar.gz到当前目录freetype-2.3.5下,并进入freetype-2.3.5目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf freetype-2.3.5.tar.gz//解包解压到freetype-2.3.5目录

[root@localhost src]# cd freetype-2.3.5//进入目录freetype-2.3.5


2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下;

[root@localhost freetype-2.3.5]#  ./configure --prefix=/usr/local/freetype

选项--prefix=/usr/local/freetype,是在安装时将软件安装到/usr/local/freetype目录下;


3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost freetype-2.3.5]#  make//对软件源代码文件进行编译


4)使用“make install”命令进行安装,命令行如下;

[root@localhost freetype-2.3.5]#  make install //开始安装freetype库文件


如果安装成功会在/usr/local/freetype目录下存在binincludelibshare四个目录。在安装GD2库配置时,configure命令的选项要加上“--with-freetype=/usr/local/freetype/“选项,指定freetype库文件的位置。


7.编译安装最新的autoconf库文件,源码包为autoconf-2.61.tar.gz

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包autoconf-2.61.tar.gz到当前目录autoconf-2.61下,并进入autoconf-2.61目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf autoconf-2.61.tar.gz//解包解压到autoconf-2.61目录

[root@localhost src]# cd autoconf-2.61//进入目录autoconf-2.61


2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下;

[root@localhost autoconf-2.61]#./configure


3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost autoconf-2.61]# make//对软件源代码文件进行编译


4)使用“make install”命令进行安装,命令行如下;

[root@localhost autoconf-2.61]#make install //开始安装autoconf库文件


8.编译安装最新的GD库文件,源码包为gd-2.0.35.tar.gz

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包gd-2.0.35.tar.gz到当前目录gd-2.0.35下,并进入gd-2.0.35目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf gd-2.0.35.tar.gz//解包解压到gd-2.0.35目录

[root@localhost src]# cd gd-2.0.35//进入目录gd-2.0.35


(2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下,使用“\”将一个命令换成多行;


[root@localhost gd-2.0.35]#  ./configure\//配置命令

>  --prefix=/usr/local/gd2/ \//指定软件安装的位置

>  --with-zlib=/usr/local/zlib/\//指定到哪去找zlib库文件的位置

>  --with-jpeg=/usr/local/jpeg6/\//指定到哪去找jpeg库文件的位置

>  --with-png=/usr/local/libpng/\//指定到哪去找png库文件的位置

>  --with-freetype=/usr/local/freetype/ //指定到哪去找freetype 2.x库文件的位置


3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost gd-2.0.35]#  make//对软件源代码文件进行编译


4)使用“make install”命令进行安装,命令行如下;

[root@localhost gd-2.0.35]#  make install //开始安装GD库文件


如果安装成功会在/usr/local/gd2目录下存在binincludelib三个目录。在安装PHP5时,configure命令的选项要加上“--with-gd=/usr/local/gd2/“选项,指定GD库文件的位置。


9.编译安装新版本Apache服务器,源码包为httpd-2.2.9.tar.gz

(1)进入软件源码包所在目录/usr/local/src/中,找到软件包httpd-2.2.9.tar.gz解压到当前目录httpd-2.2.9下,并进入httpd-2.2.9目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf httpd-2.2.9.tar.gz//解包解压到httpd-2.2.9目录

[root@localhost src]# cd httpd-2.2.9  //进入目录httpd-2.2.9


(2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下,使用“\”将一个命令换成多行;

[root@localhost httpd-2.2.9]#./configure \//执行当前目录下软件自代的配置命令

>  --prefix=/usr/local/apache2\//指定Apache软件安装的位置

>  --sysconfdir=/etc/httpd\ //指定Apache服务器的配置文件存放位置

>  --with-z=/usr/local/zlib/ \//指定zlib库文件的位置

>  --with-included-apr\//使用捆绑APR/APR-Util的副本

>  --disable-userdir \//请求的映象到用户特定目录

>  --enable-so \//以动态共享对象(DSO)编译

>  --enable-deflate=shared \//缩小传输编码的支持

>  --enable-expires=shared\ //期满头控制

>  --enable-rewrite=shared \ //基于规则的URL操控

>  --enable-static-support//建立一个静态链接版本的支持


(3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost httpd-2.2.9]#  make//Apache源代码文件进行编译


(4)使用“make install”命令进行安装,命令行如下;

[root@localhost httpd-2.2.9]#  make install //开始安装Apache服务器软件

(5)检查安装的文件,进入到/usr/local/apache2/目录下,是否有以下目录;


[root@localhost httpd-2.2.9]# cd /usr/local/apache2/

[root@localhost apache2]# ls

bincgi-binhtdocsincludelogsmanual

builderroriconslibmanmodules


检查配置文件是否指定正确,进入到/etc/httpd/目录下,查看配置文件httpd.confextra子目录是否存在;

(6)启动Apache服务器,并查看端口是否开启,启动Apache服务器的命令行如下;


[root@localhost apache2]# /usr/local/apache2/bin/apachectl start//启动Apache


Apache服务器启动之后,查看一下80端口是否打开,如果看到以下结果表明Apache服务器启动成功,命令行如下;


[root@localhost apache2]# netstat -tnl|grep 80//查看80端口是否开启

tcp00 0.0.0.0:800.0.0.0:*LISTEN


(7)测试安装结果,打开浏览器,在地址栏内输入URLhttp://localhost/去访问Apache服务器,如出现下图内容表示Aapache服务器可以使用,如下图所示;

145753773.jpg

(8)每种服务器软件都有必要制做成开机自启动。Apache服务器开机自启动,只要在“/etc/rc.d/rc.local”文件中,加上Apache服务器的启动命令即可,可以直接打开“/etc/rc.d/rc.local”文件,在最后一行写入Aapache启动命令,也可以使用“echo”命令追加进去,命令行如下;


[root@localhost root]#echo  "/usr/local/apache2/bin/apachectl start" >> /etc/rc.d/rc.local


10.编译安装MySQL数据库管理系统,源码包为mysql-5.0.41.tar.gz(5.5及以上版本用cmake安装,要先运行安装cmake-2.8.8.tar.gz)

(1)mysqld增加一个登录用户和组,用户名和组名都为“mysql”,如果将这些用户和组命名为mysql之外的名称,在下面的步骤中替换为相应的名称。命令行如下;


[root@localhost root]# groupadd mysql//添加一个mysql标准组

[root@localhost root]# useradd -g mysql mysql //添加一个mysql用户并加到mysql组中


(2)进入软件源码包所在目录/usr/local/src/中,解压软件包mysql-5.0.41.tar.gz到当前目录mysql-5.0.41下,并进入mysql-5.0.41目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf mysql-5.0.41.tar.gz//解包解压到mysql-5.0.41目录

[root@localhost src]# cd mysql-5.0.41//进入目录mysql-5.0.41


(3)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下,使用“\”将一个命令换成多行;

[root@localhost mysql-5.0.41]#  ./configure \

>  --prefix=/usr/local/mysql\ //是在安装时将软件安装到/usr/local/mysql目录下

>--with-extra-charsets=all//在安装mysql时安装所有字符集


(4)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost mysql-5.0.41]#  make//MySQL源代码文件进行编译


(5)使用“make install”命令进行安装,命令行如下;

[root@localhost mysql-5.0.41]#  make install //开始安装MySQL数据库系统

(6)创建MySQL数据库服务器的配置文件,可以使用源码包support-files目录中的my-medium.cnf文件作为模板,拷贝到/etc/目录下,命名为“my.cnf”文件即可。命令行如下;


[root@localhost mysql-5.0.41]#  cp support-files/my-medium.cnf  /etc/my.cnf


(7)如果还没有安装过MySQL,必须创建MySQL授权表,进入到安装目录“/usr/local/mysql”下,执行bin目录下的mysql_install_db脚本,用来初始化mysql数据库的授权表,其中贮存了服务器访问允许。命令行如下;


[root@localhost mysql-5.0.41]#cd /usr/local/mysql//建入安装目录

[root@localhost mysql]# bin/mysql_install_db --user=mysql//创建授权表


如果使用root用户运行上面的命令,应当使用--user选项,选项的值应与你在第一步为运行服务器所创建的登录账户(mysql用户)相同。如果用mysql用户登录来运行上面命令,可以省略--user选项。用mysql_install_db创建MySQL授权表后,需要手动重新启动服务器。


(8)将程序二进制的所有权改为root用户,数据目录的所有权改为运行mysqld程序的mysql用户。如果现在位于安装目录(/usr/local/mysql)下,命令应为:

[root@localhost mysql]# chown -R root  .//将文件的所有属性改为root用户

[root@localhost mysql]# chown -R mysql var //将数据目录的所有属性改为mysql用户

[root@localhost mysql]# chgrp -R mysql .//将组属性改为mysql

[root@localhost mysql]# ls -l//长格式显示当前目录下的内容

总用量 40

drwxr-xr-x2 rootmysql40969 12 00:35 bin

drwxr-xr-x3 rootmysql40969 12 00:34 include

drwxr-xr-x2 rootmysql40969 12 00:34 info

drwxr-xr-x3 rootmysql40969 12 00:34 lib

drwxr-xr-x2 rootmysql40969 12 00:35 libexec

drwxr-xr-x4 rootmysql40969 12 00:35 man

drwxr-xr-x8 rootmysql40969 12 00:35 mysql-test

drwxr-xr-x3 rootmysql40969 12 00:34 share

drwxr-xr-x5 rootmysql40969 12 00:35 sql-bench

drwx------4 mysqlmysql40969 12 01:16 var

(9)在所有东西被安装完成以后,应当使用该命令启动MySQL服务了,命令行如下;


[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe  --user=mysql &


MySQL数据库服务启动之后,查看一下3306端口是否打开,如果看到以下结果表明MySQL服务启动成功,命令行如下;


[root@localhost apache2]# netstat -tnl|grep 3306//查看3306端口是否开启

tcp00 0.0.0.0:33060.0.0.0:*LISTEN


(10)使用mysqladmin验证服务器在运行中。以下命令提供了简单的测试,可检查服务器是否已经启动并能响应连接;


[root@localhost mysql]# bin/mysqladmin version

bin/mysqladminVer 8.41 Distrib 5.0.41,  for pc-linux-gnu on i686

Copyright (C) 2000-2006 MySQL AB

This software comes with ABSOLUTELY NO  WARRANTY. This is free software,

and you are welcome to modify and  redistribute it under the GPL license


Server version5.0.41-log

Protocol version10

ConnectionLocalhost via UNIX socket

UNIX socket/tmp/mysql.sock

Uptime:15 min 41 sec


Threads: 1Questions: 25Slow queries: 0Opens: 12Flush tables: 1Open tables:  6Queries per second avg: 0.027

[root@localhost mysql]# bin/mysqladmin variables//查看所有mysql参数


(11)设置访问权限,在MySQL安装过程中,使用mysql_install_db程序安装了MySQL数据库授权表,表定义了初始MySQL用户账户和访问权限,所有初始账户均没有密码。这些账户为超用户账户,可以执行任何操作。初始root账户的密码为空,因此任何人可以用root账户不用任何密码来连接MySQL服务器,并具有所有权限,这意味着MySQL安装未受保护。如果你想要防止客户端不使用密码用匿名用户来连接,你应当为匿名账户指定密码或删掉匿名账户,应当为MySQL root账户指定密码。使用“mysql –u root”启动mysql客户端,连接MySQL服务器。命令行如下;


[root@localhost mysql]# bin/mysql -u root//没有密码可以直接登录本机服务器

Welcome to the MySQL monitor.Commands end with ; or \g.

Your MySQL connection id is 3

Server version: 5.0.41-log  Source distribution


Type 'help;' or '\h' for help. Type '\c'  to clear the buffer.


mysql>


如果有匿名账户存在,它拥有全部的权限,因此删掉它可以提高安全,在mysql客户端执行SQL语句如下;


mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User='';

Query OK, 1 rows affected (0.08 sec)


mysql> FLUSH PRIVILEGES;

Query OK, 1 rows affected (0.01 sec)



可以用几种方法为root账户指定密码,我们选用其中一种,在mysql客户端命令行上使用SET PASSWORD指定密码,一定要使用PASSWORD()函数来加密密码。设置localhost域的密码为“123456”,其它域可以使用同样的语句,使用的SQL语句如下;



mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

mysql> FLUSH PRIVILEGES;


Query OK, 0 rows affected (0.00 sec)


如果想退出MySQL客户端,可以在MySQL客户端提示符下输入命令“exit”或者“quit”、还可以按键盘“Ctrl+c”组合键,都可以从MySQL客户端中退出。因为已经给MySQL服务器的root账号设置了密码,所以再次登录MySQL客户端就要提供密码才能进入。退出MySQL客户端和重新启动MySQL客户端的命令如下;


mysql> exit//退出MySQL客户端

Bye

[root@localhost mysql]# bin/mysql -u root -h localhost –p//回车进入MySQL客户端

Enter  password://输入密码“123456

Welcome to the MySQL monitor.Commands end with ; or \g.

Your MySQL connection id is 9

Server version: 5.0.41-log  Source distribution


Type 'help;' or '\h' for help. Type '\c'  to clear the buffer.


mysql>


如果想关闭MySQL服务器,在命令行使用MySQL服务器的mysqladmin命令,通过-u参数给出MySQL数据库管理员用户名root和通过-p参数给出密码,即可以关闭MySQL服务器。命令行如下;


[root@localhost mysql]# bin/mysqladmin -u root –p shutdown//关闭MySQL数据库


(12)MySQL服务器和Apache服务器一样也有必要设置为开机自动运行,设置方法是进入到mysql源代码目录/usr/local/src/mysql-5.0.41/中,将子目录support-files下的mysql.server文件复制到/etc/rc.d/init.d目录中,并重命名为“mysqld”,命令行如下所示;


[root@localhost mysql]# cd /usr/local/src/mysql-5.0.41  

[root@localhost mysql-5.0.41]# cp support-files/mysql.server  /etc/rc.d/init.d/mysqld


修改文件/etc/rc.d/init.d/mysqld的权限,命令行如下所示;

[root@localhost mysql-5.0.41]#  chown root.root  /etc/rc.d/init.d/mysqld

[root@localhost mysql-5.0.41]# chmod 755 /etc/rc.d/init.d/mysqld


使用chkconfig命令设置在不同系统运行级别下的自启动策略,首先使用“chkconfig --add mysqld”命令增加所指定的mysqld服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据,使用命令如下;

[root@localhost mysql-5.0.41]#  chkconfig --add mysqld


然后使用“chconfig –level 3 mysqld on”命令和“chconfig –level 5 mysqld on”命令,在第三和第五等级中开启mysql服务,即在字符模式和图形模式启动时自动开启mysql服务,命令如下;

[root@localhost mysql5.0.41]#  chkconfig --level 3mysqld on

[root@localhost mysql-5.0.41]#  chkconfig --level 5mysqld on


再使用“chkconfig --list”命令检查设置,命令行如下;


[root@localhost mysql-5.0.41]#  chkconfig --list mysqld

mysqld0:关闭1:关闭2: 关闭3:启用4: 关闭5:启用6:关闭



11.编译安装最新版本的PHP模块,源码包为php-5.2.6.tar.gz

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包php-5.2.6.tar.gz到当前目录php-5.2.6下,并进入php-5.2.6目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf php-5.2.6.tar.gz  //解包解压到php-5.2.6目录

[root@localhost src]# cd php-5.2.6//进入目录php-5.2.6


(2)使用“configure”命令检查安装需要的系统配置,并生成安装配置文件,命令行如下,使用“\”将configure命令选项换成多行;

[root@localhost php-5.2.6]#  ./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/zlib/  \//告诉PHP放置zlib库的地方

> --with-mcrypt=/usr/local/libmcrypt/  \ //告诉PHP放置libmcrypt库的地方

>  --with-mysqli=/usr/local/mysql/bin/mysql_config \ //变量激活新增加的MySQLi功能

> --enable-soap  \ //变量激活SOAPWeb services支持

> --enable-mbstring=all  \ //使多字节字符串支持

> --enable-sockets//变量激活socket通讯特性


(3)使用“make”命令编译源代码文件并生成安装文件,命令行如下;


[root@localhost php-5.2.6]#  make//PHP源代码文件进行编译


(4)使用“make install”命令进行安装,命令行如下;

[root@localhost php-5.2.6]#  make install //开始安装PHP5



如果报错的话,先看看是什么原因?一般情况下是没有安装


rpm -ivhlibtool-ltdl-devel-1.5.22-7.el5_4.i386.rpmlibtool-ltdl-1.5.22-7.el5_4.i386.rpm



(5)安装完成后,需要建立PHP配置文件。在使用configure命令安装配置时使用了“--with-config-file-path=/usr/local/php/etc/”选项,指定了配置文件的位置,将源码包目录下的“php.ini-dist”文件拷贝到指定的目录“/usr/local/php/etc/”中,并改名为“php.int”即可,解命令行如下;


[root@localhost php-5.2.6]#  cp php.ini-dist  /usr/local/php/etc/php.ini//创建配置文件


(6)整合ApachePHP,上面PHP编译之前,我们使用configure命令安装配置时,使用了“--with-apxs2=/usr/local/apache2/bin/apxs”选项,以使 Apache 2 PHP 作为功能模块使用,但我们还要修改Apache配置文件,添加PHP的支持,告诉 Apache 将哪些后缀作为 PHP 解析。例如,让 Apache .php .phtml后缀的文件解析为PHP。使用vi打开Apache的配置文件/etc/httpd/httpd.conf,找到“AddType application/x-gzip .gz.tgz”项,在其下方添加“Addtypeapplication/x-httpd-php .php .phtml”可以将任何后缀的文件解析为 PHP,只要在添加的语句中加入并用空格分开。这里以多添加一个 .phtml 来示例。如下所示


[root@localhost php-5.2.6]#  vi /etc/httpd/httpd.conf//使用vi编辑apache配置文件

… …

# If the AddEncoding directives above are  commented-out, then you

# probably should define those extensions  to indicate media types:

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz//在这行下面添加


Addtype  application/x-httpd-php .php .phtml#添加这一条

#添这一个是为了将  .phps 作为 PHP 的源文件进行语法高亮显示

Addtype application/x-httpd-php-source .phps

# AddHandler allows you to map certain file  extensions to "handlers":

# actions unrelated to filetype. These  can be either built into the server

# or added with the Action directive (see  below)

… …


修改完成之后重新启动 Apache 服务器,加载配置文件使修改生效,命令如下所示;

[root@localhost php-5.2.6]#  /usr/local/apache2/bin/apachectl stop //停止Apache服务

[root@localhost php-5.2.6]#  /usr/local/apache2/bin/apachectl start  //开启Apache服务


(7)测试PHP环境是否可以正常运行,在/usr/local/apache2/htdocs目录下建一个test.phptest.phtml的文件,内容如下所示;

[root@localhost htdocs]# vi test.php//编辑test.php文件

<?php

phpinfo();

?>

打开浏览器,在地址栏中输入URLhttp://localhost/test.php来运行该文件,如果出现下图内容表示LAMP环境安装成功。如图所示;


150008763.jpg


上例中使用了phpinfo()函数,作用是输出有关PHP当前状态的大部分信息内容,这包括关于PHP的编译和扩展信息、PHP版本、服务器信息和环境、PHP的环境、操作系统信息、路径、主要的和本地配置选项的值、HTTP头信息和PHP的许可等。因为第个系统的安装不同,phpinfo()函数可以用于检查某一特定系统配置设置和可用的预定义变量等等。它也是一个宝贵的调试工具,因为它包含了所有EGPCS (Environment, GET, POST, Cookie, Server) 数据。


12.安装最新Zend加速器,源码包为ZendOptimizer330a.tar.gz


以上步骤已经搭建好LAMP环境了,为了提高PHP程序的运行速度,最好还是安装一个Zend加速器(Zend Optimizer)。Zend Optimizer用优化代码的方法来提高PHP 应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-TimeCompiler)产生的代码进行优化。一般情况下,执行使用Zend OptimizerPHP程序比不使用的要快40%100%。这意味着网站的访问者可以更快的浏览你的网页,从而完成更多的事务,创造更好的客户满意度。更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。安装的步骤如下;

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包ZendOptimizer330a.tar.gz到当前目录ZendOptimizer-3.3.0a-linux-glibc21-i386下,并进入ZendOptimizer-3.3.0a-linux-glibc21-i386目录,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf ZendOptimizer330a.tar.gz //解包解压

[root@localhost src]# cd ZendOptimizer-3.3.0a-linux-glibc21-i386 //进入解压目录


(2)直接执行目录下的install.sh文件安装,命令行如下;

[root@localhost ZendOptimizer-3.3.0a-linux-glibc21-i386]#  ./install.sh//执行安装


执行上面的操作会出现一个图形安装界面,按提示安装即可,部分安装过程如下图所示;

150230605.jpg

安装的欢迎界面

150239279.jpg

选择软件安装位置


150252261.jpg

选择PHP配置文件(php.ini)所在位置

150302808.jpg

选择Apache服务器启动命令所在位置


(3)安装完成以后同样使用phpinfo()函数可以检查安装结果,如果你能在输出的Zend部分找到像下面的输出,即安装成功,如下图所示


150311669.jpg


12phpMyAdmin的安装与配置,源码包为phpMyAdmin-3.0.0-rc1-all-languages.tar.gz


phpMyAdmin是使用PHP脚本编写的一个MySQL系统管理软件,是最受欢迎的MySQL系统管理工具。安装该工具后,即可以通过web形式直接管理mysql数据,而不需要通过执行系统命令来管理,非常适合对数据库操作命令不熟悉的数据库管理者,它可以用来创建、修改、删除数据库和数据表;可以用来创建、修改、删除数据记录;可以用来导入和导出整个数据库;还可以完成许多其它的MySQL系统管理任务。

与其它的PHP程序一样,是一个B/S结构的软件,phpMyAdmin软件需要在Web服务器上运行,因此它可以从互联网的任何地方访问操作。通常搭建的MySQL数据库服务器为了数据安全,只充许localhost域才能够操作,不充许远程连接访问,所以管理员在本机安装phpMyAdmin软件,就可以使用浏览器在远程登录管理MySQL数据库服务器了,安装的步骤如下;

(1)进入软件源码包所在目录/usr/local/src/中,解压软件包phpMyAdmin-3.0.0-rc1-all-languages.tar.gz到当前目录phpMyAdmin-3.0.0-rc1-all-languages下,命令行如下所示;


[root@localhost root]# cd /usr/local/src///进入软件源码包所在目录

[root@localhost src]# tar zxvf phpMyAdmin-3.0.0-rc1-all-languages.tar.gz  


(2)把解压的目录phpMyAdmin-3.0.0-rc1-all-languages下的文件,必须全部复制到ApacheDocumentRoot目录下的某个子目录里,根据我们前面Aapache的安装配置,复制到目录/usr/local/apache2/htdocs下,建一个名为“phpmyadmin”的目录下面,即安装完成。命令行如下;

[root@localhost src]# cp -aphpMyAdmin-3.0.0-rc1-all-languages\

/usr/local/apache2/htdocs/phpmyadmin//拷贝目录到指定位置并改名为phpmyadmin


(3)在可以使用phpMyAdmin之前,我们必须先配置一下,通过对phpMyAdmin顶层目录下的config.inc.php文件的几个选项做一些设置即可。默认不存在config.inc.php文件,我们需要手工创建一个,也可以复制config.sample.inc.php模板得到最低限度的配置文件,我们下面的示例对config.inc.php文件配置,只给出了必须要修改的部分,根据实际情况,也许还需要其它一些选项做出修改。创建config.inc.php配置文件命令行如下;


[root@localhost src]#cd /usr/local/apache2/htdocs/phpmyadmin/

[root@localhost phpmyadmin]# cp config.sample.inc.php config.inc.php


我们通过身份验证模式的要求,可以有两种配置方案,一种是httpcookie身份验证模式。在这两种模式下,用户必须先在一个登录窗口里输入MySQL数据库的有效用户名和密码,才能使用phpMyAdmin程序。这种做法有两个明显的好处;首先,因为MySQL数据库的密码没有出现在config.inc.php文件里,所以身份验证过程更加安全;其次,允许不同的用户身份登录对自己的数据库进行管理。这两种身份验证模式尤其适合数据库中多个用户账号的情况。

第二种方案是,config身份验证模式,这种模式下,密码以明文形式保存在config.inc.php文件里。只需要把MySQL用户名和密码直接写入到config.inc.php文件即可。这样,在登录phpMyAdmin时就不会提示输入用户名和密码了,而只直接用config.inc.php文件里写入的用户登录。如果只是在一个本地测试系统上使用phpMyAdmin,可以使用这种模式。

1.http身份验证模式

如果想让phpMyAdmin使用http身份验证模式,首先需要在config.inc.php文件里黑体部分做出如下所示的修改,具体内容如下;


[root@localhost phpmyadmin]# vi config.inc.php

… …

$cfg['blowfish_secret'] = '';

$i = 0;

$i++;

$cfg['Servers'][$i]['auth_type'] = 'http' ;//只将这一行修改成http身份验证模式即可

$cfg['Servers'][$i]['host'] =  'localhost';

$cfg['Servers'][$i]['connect_type'] =  'tcp';

$cfg['Servers'][$i]['compress'] = false;

$cfg['Servers'][$i]['extension'] =  'mysql';

… …


当完成设置之后,我们启动phpMyAdmin时,屏幕上将弹出一个Web浏览器对话框,需要在这个对话框里输入MySQL用户名和密码,才能进入phpMyAdmin操作界面。如下图所示,在Windows客户端使用IE浏览器,访问Web服务器的phpMyAdmin目录下的index.php文件,即启动了phpMyAdmin

150457588.jpg


2. cookie身份验证模式

cookie身份验证模式是http身份验证模式的补充,不能使用http身份验证模式的场合都可以使用它。Cookie身份验证模式要求用户必须允许来自phpMyAdmincookie进入自己的计算机。即用户需要开启客户端的cookie功能。

如果想让phpMyAdmin使用cookie身份验证模式,除了必须修改config.inc.php文件里的auth_type语句外,还必须向blowfish_secret参数提供一个字符串,这个字符串可以是任意的,目的是在把登录时使用的用户和密码在存储在客户端电脑上的cookie之前,系统将会使用这个字符串对它们进行加密,在config.inc.php中修改的内容如下;


[root@localhost phpmyadmin]# vi config.inc.php

… …

$cfg['blowfish_secret'] = ''xxxxxxx'';//这里需要一个任意的字符串

$i = 0;

$i++;

$cfg['Servers'][$i]['auth_type'] = 'cookie' ;//这条修改成cookie身份验证模式

$cfg['Servers'][$i]['host'] =  'localhost';

$cfg['Servers'][$i]['connect_type'] =  'tcp';

$cfg['Servers'][$i]['compress'] = false;

$cfg['Servers'][$i]['extension'] =  'mysql';

… …


和上面启动phpMyAdmin的方式一样,我们在Windows客户端使用IE浏览器,访问Web服务器上的phpMyAdmin目录下的index.php文件,需要提供MySQL的用户名和密码才能登录,如下图所示;

150511558.jpg


3.config身份验证模式

如果想让phpMyAdmin使用config身份验证模式,首先需要在config.inc.php文件里做出如下所示的修改,把MySQL数据库的用户名和密码以明文的方式写入,具体修改内容如下

[root@localhost phpmyadmin]# vi config.inc.php

… …

$i = 0;

$i++;

$cfg['Servers'][$i]['auth_type'] = 'config' ;//这条修改成config身份验证模式

$cfg['Servers'][$i]['host'] =  'localhost';

//添加以下两个选项

$cfg['Servers'][$i]['user']  = 'root';//使用你MySQL数据库的用户名

$cfg['Servers'][$i]['password']  = '123456';//使用你MySQL数据库的密码

… …

和上面启动phpMyAdmin的方式一样,我们在Windows客户端使用IE浏览器,访问Web服务器上的phpMyAdmin目录下的index.php文件,但不用提供MySQL的用户名和密码就以可登录,它使用的是config.inc.php中的以明文方式写入的用户名和密码登录的。如下图所示;

150523769.jpg

如上图所示,真接就可以登录phpMyAdmin操作MySQL数据库里的数据,这种模式不够安全,所以只适合在一个本地测试系统上使用。


当然可以从网上下载一些demo放到网站的根目录下,进行简单地安装,就可以测试一下:

   推荐下载demo的几个网站吧!

社区动力    http://www.discuz.net/

phpwind     http://www.phpwind.net/

WordPress   http://cn.wordpress.org/