########节选自《细说PHP》################
2.2 Linux系统下源代码包方式安装环境
在Linux平台下安装PHP有几种方法:使用配置和编译过程,或是使用各种预编译的包。在Linux上安装软件,用户最好的选择是下载源代码包,并编译一个适合自己的版本。LAMP组合中每个成员都是开源的软件,都可以从各自的官方网站上免费下载安装程序的源代码文件,并在自己的系统上编译,编译之前会检查系统的环境,并可以针对目标系统的环境进行优化。所以和自己系统的兼容性是最好的,不仅如此,允许你根据自己的需求进行定制安装。这是LAMP环境最理想的搭建方法,也是最复杂的安装方式。所以要搭建一个最完美的LAMP工作环境,多花费一些时间和精力在源代码包的安装上,还是值得的。
2.2.1 安装前准备
本书的源代码包安装方式,使用的Linux操作系统主要以Red Hat Linux操作系统系列为主。假设读者在电脑中已经安装好了Red Hat系列中的某一版本的操作系统,就可以按下面几种方式做安装前的准备工作了。
1.获取软件包
安装之前,我们首先需要到相应的网站上,下载安装所需要的最新的软件源代码文件。包括最新的Apache、MySQL、PHP以及相关库文件的源码包。需要下载的软件和下载的地址如表2-1所示。
表2-1 Linux下LAMP环境安装所需要的源代码包列表及下载地址
软件名称
下载地址
httpd-2.2.9.tar.gz
http://www.apache.org/
mysql-5.0.41.tar.gz
http://dev.mysql.com/downloads/
php-5.2.6.tar.gz
http://www.php.net/downloads.php
phpMyAdmin-3.0.0-rc1-all-languages.tar.gz
http://www.phpmyadmin.com/
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
在表2-1中一共有13个LAMP环境安装需要的软件包,可以直接在浏览器的地址栏中输入下载地址进行下载或使用下载软件直接下载。读者也可以下载最新的软件来进行更新,并把下载的所有源代码包都放到Linux系统下的/usr/local/src/目录中。如下所示:
[root@localhost src]# ls /usr/local/src/ //显示/user/local/src/下的文件列表
autoconf-2.61.tar.gz libxml2-2.6.30.tar.gz
freetype-2.3.5.tar.gz mysql-5.0.41.tar.gz
gd-2.0.35.tar.gz php-5.2.6.tar.gz
httpd-2.2.9.tar.gz phpMyAdmin-3.0.0-rc1-all-languages.tar.gz
jpegsrc.v6b.tar.gz ZendOptimizer330a.tar.gz
libmcrypt-2.5.8.tar.gz zlib-1.2.3.tar.gz
libpng-1.2.31.tar.gz
[root@localhost src]# ls | wc –l //查看当前目录下的文件个数
13 //总计13个文件
[root@localhost src]#
2.检查安装时使用的编译工具是否存在
我们下载的软件的源代码文件都是使用C语言编写的,需要在本机编译后才能安装使用,所以在安装前首先要检查一下系统中编译工具gcc是否已经安装,可以在命令行中使用“gcc -v”来查看是否安装了gcc。如下所示:
[root@localhost root]# gcc –v //查看是否安装过gcc编译程序
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工具软件并安装上。
3.卸载默认的低版本环境
目前发行的Linux操作系统版本中,如果选择默认全部安装,就已经安装了LAMP环境,但是版本相对都比较低。我们可以再安装一个LAMP环境和原来的并存,但是这样做没有必要,因为同时只能开启一个LAMP环境。所以我们要在安装之前,先检查一下系统中是否已经安装了低版本的环境,如果已经安装过了,停止原来的服务运行,或者把原来的环境卸载掉。如下所示:
[root@localhost root]# rpm -qa|grep -i httpd //查询系统中已安装的Apache相关软件包
httpd-manual-2.0.40-21
httpd-2.0.40-21
redhat-config-httpd-1.0.1-18
[root@localhost root]# service httpd stop //如果Apache已开启,停止运行Apache服务器
[root@localhost root]# rpm -e httpd-manual-2.0.40-21 --nodeps //卸载Apaceh服务器
[root@localhost root]# rpm -e httpd-2.0.40-21 –nodeps //卸载Apache服务器
[root@localhost root]# rpm -e redhat-config-httpd-1.0.1-18 --nodeps //卸载Apache服务器
[root@localhost root]# rpm -qa|grep -i mysql //查询系统中已安装的MySQL相关软件包
mysql-devel-3.23.54a-11
mysql-3.23.54a-11
mysql-server-3.23.54a-11
[root@localhost root]#service mysqld stop //如果MySQL已开启,停止运行MySQL服务器
[root@localhost root]# rpm -e mysql-devel-3.23.54a-11 --nodeps //卸载MySQL服务器
[root@localhost root]# rpm -e mysql-3.23.54a-11 –nodeps //卸载MySQL服务器
[root@localhost root]# rpm -e mysql-server-3.23.54a-11 --nodeps //卸载MySQL服务器
[root@localhost root]# rpm -qa|grep -i php //查询系统中已安装的PHP相关软件包
php-ldap-4.2.2-17
php-imap-4.2.2-17
php-4.2.2-17
[root@localhost root]# rpm -e php-ldap-4.2.2-17 --nodeps //卸载PHP应用服务器
[root@localhost root]# rpm -e php-imap-4.2.2-17 --nodeps //卸载PHP应用服务器
[root@localhost root]# rpm -e php-4.2.2-17 --nodeps //卸载PHP应用服务器
2.2.2 编译安装过程介绍
搭建LAMP环境时,需要安装的所有软件都要按照一定的顺序安装,我们按照Apache-> MySQL->PHP顺序安装。但在安装PHP之前,应先安装PHP 5需要的最新版本库文件,例如libxml2、libmcrypt,以及GD2库等文件。安装GD2库是为了让PHP 5支持GIF、PNG和JPEG图片格式,所以在安装GD2库之前还要先安装最新的zlib、libpng、freetype和jpegsrc等库文件。而且中间还会穿插安装一些软件。读者可以按照本节提供的顺序安装。
1.解压tar.gz为后缀的压缩软件包
LAMP环境搭建所需要的每个软件的源代码文件,都是以.tar.gz或.tgz提供给我们的打包压缩文件,所以我们必须将其解压再解包。可以通过使用Linux操作系统的SHELL命令tar,再结合“zxvf”四个选项完成这个工作。使用tar的解压缩语法格式如下所示:
[root@localhost root]# tar zxvf tarfile.tar.gz //对压缩文件tarfile.tar.gz解压并打开包
2.在Linux系统中源代码包安装过程
进行解压后的目录,LAMP环境搭建所需要的软件都是使用C语言开发的,所以安装源代码文件最少需要配置、编译和安装三个步骤:
Ø 配置(configure)
每个软件的源代码目录中都会存在一个名为configure的脚本文件,配置和安装过程被configure脚本中一系列命令行选项控制。每个软件包的配置方式是不同的,所以可以在其源代码目录中,通过./configure --help命令了解所有可用的编译选项及简短解释。配置好后,便可以开始编译模块。
Ø 编译(make)
软件的配置过程成功完成后,会在当前目录下生成一个MAKEFILE文件。可以通过make命令按MAKEFILE文件的配置进行编译,编译成功后则可执行的二进制文件,便可以开始进行软件安装了。
Ø 安装(make install)
根据配置和编译过程,在Linux命令行中通过执行make install命令,将软件安装到指定的位置。
2.2.3 安装libxml2最新库文件
步骤一:进入下载的软件源码包所在目录/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中
步骤二:使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下。
[root@localhost libxml2-2.6.30]# ./configure --prefix=/usr/local/libxml2
选项--prefix=/usr/local/libxml2作用,是在安装时将软件安装到/usr/local/libxml2目录下
步骤三:使用“make”命令编译源代码文件并生成安装文件。命令行如下。
[root@localhost libxml2-2.6.30]# make //对软件源代码文件进行编译
步骤四:使用“make install”命令安装编译过的文件。命令行如下。
[root@localhost libxml2-2.6.30]# make install //开始安装libxml2库文件
如果安装成功以后,在/usr/local/libxml2/目录下将生成bin、include、lib、man和share五个目录。在后面安装PHP5源代码包的配置时,会通过在configure命令的选项中加上“--with-libxml-dir=/usr/ local/libxml2“选项,用于指定安装libxml2库文件的位置。
2.2.4 安装libmcrypt最新库文件
步骤一:再次进入软件源码包所在目录/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中
步骤二:同样使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件。命令行如下。
[root@localhost libmcrypt-2.5.8]# ./configure --prefix=/usr/local/libmcrypt
选项--prefix=/usr/local/libmcrypt,是在安装时将软件安装到/usr/local/libmcrypt目录下
步骤三:使用“make”命令编译源代码文件并生成安装文件,命令行如下。
[root@localhost libmcrypt-2.5.8]# make //对软件源代码文件进行编译
步骤四:使用“make install”命令进行安装,命令行如下。
[root@localhost libmcrypt-2.5.8]# make install //开始安装libmcrypt库文件
如果安装成功就会在/usr/local/libmcrypt/目录下生成bin、include、lib、man和share五个目录。然后在安装PHP 5源代码包的配置时,就可以通过configure命令加上“--with-mcrypt-dir=/usr/local/libmcrypt”选项,指定这个libmcrypt库文件的位置。
步骤五:安装完成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 //安装
2.2.5 安装zlib最新库文件
步骤一:进入软件源码包所在目录/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中
步骤二:同样使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件。命令行如下。
[root@localhost zlib-1.2.3]# ./configure --prefix=/usr/local/zlib
选项--prefix=/usr/local/zlib,是在安装时将软件安装到/usr/local/zlib目录下
步骤三:使用“make”命令编译源代码文件并生成安装文件。命令行输入如下。
[root@localhost zlib-1.2.3]# make //对软件源代码文件进行编译
步骤四:使用“make install”命令进行安装,命令行如下。
[root@localhost zlib-1.2.3]# make install //开始安装zlib库文件
如果安装成功将会在/usr/local/zlib目录下生成include、lib和share三个目录。在安装PHP 5配置时,在configure命令的选项中加上“--with-zlib-dir=/usr/local/libmcrypt”选项,用于指定zlib库文件的位置。
2.2.6 安装libpng最新库文件
步骤一:进入软件源码包所在目录/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中
步骤二:同样使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件。命令行如下。
[root@localhost libpng-1.2.31]# ./configure --prefix=/usr/local/libpng
选项--prefix=/usr/local/libpng,是在安装时将软件安装到/usr/local/libpng目录下
步骤三:使用“make”命令编译源代码文件并生成安装文件。命令行如下。
[root@localhost libpng-1.2.31]#make //对软件源代码文件进行编译
步骤四:使用“make install”命令进行安装。命令行如下。
[root@localhost libpng-1.2.31]# make install //开始安装libpng库文件
如果安装成功将会在/usr/local/libpng目录下生成bin、include、lib和share四个目录。在安装GD2库配置时,通过在configure命令的选项中加上“--with-png=/usr/local/libpng”选项,指定libpng库文件的位置。
2.2.7 安装jpeg6最新库文件
步骤一:安装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 //建立存放手册的目录
步骤二:进入软件源码包所在目录/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中
步骤三:使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下,使用“\”将一个命令换成多行。
[root@localhost jpeg-6b]# ./configure \
> --prefix=/usr/local/jpeg6/ \ //在安装时将软件安装到/usr/local/jpeg6目录下
> --enable-shared \ //建立共享库使用的GNU的libtool
> --enable-static //建立静态库使用的GNU的libtool
步骤四:使用“make”命令编译源代码文件并生成安装文件,命令行如下。
[root@localhost jpeg-6b]# make //对软件源代码文件进行编译
步骤五:使用“make install”命令进行安装,命令行如下。
[root@localhost jpeg-6b]# make install //开始安装jpeg6库文件
在安装GD2库配置时,可以在configure命令的选项中加上“--with-jpeg=/usr/local/jpeg6/”选项,指定jpeg6库文件的位置。安装PHP时也要指定该库文件的位置。
2.2.8 安装freetype最新库文件
步骤一:进入软件源码包所在目录/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中
步骤二:使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件。命令行如下。
[root@localhost freetype-2.3.5]# ./configure --prefix=/usr/local/freetype
选项--prefix=/usr/local/freetype,是在安装时将软件安装到/usr/local/freetype目录下
步骤三:使用“make”命令编译源代码文件并生成安装文件,命令行如下。
[root@localhost freetype-2.3.5]# make //对软件源代码文件进行编译
步骤四:使用“make install”命令进行安装,命令行如下:
[root@localhost freetype-2.3.5]# make install //开始安装freetype库文件
如果安装成功将会在/usr/local/freetype目录下存在bin、include、lib和share 4个目录。并在安装GD2库时,通过configure命令的选项中加上“--with-freetype=/usr/local/freetype/”选项,指定freetype库文件的位置。
2.2.9 安装autoconf最新的库文件
步骤一:进入软件源码包所在目录/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中
步骤二:使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件。命令行如下。
[root@localhost autoconf-2.61]# ./configure //配置
步骤三:使用“make”命令编译源代码文件并生成安装文件。命令行如下。
[root@localhost autoconf-2.61]# make //对软件源代码文件进行编译
步骤四:使用“make install”命令进行安装,命令行如下。
[root@localhost autoconf-2.61]# make install //开始安装autoconf库文件
2.2.10 安装最新的GD库文件
步骤一:进入软件源码包所在目录/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中
步骤二:使用“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字体库的位置
步骤三:使用“make”命令编译源代码文件并生成安装文件,命令行如下。
[root@localhost gd-2.0.35]# make //对软件源代码文件进行编译
步骤四:使用“make install”命令进行安装,命令行如下。
[root@localhost gd-2.0.35]# make install //开始安装GD库文件
如果安装成功会在/usr/local/gd2目录下存在bin、include和lib这三个目录。在安装PHP 5时,通过在configure命令的选项中加上“--with-gd=/usr/local/gd2/”选项,指定GD库文件的位置。
2.2.11 安装新版本的Apache服务器
步骤一:进入软件源码包所在目录/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中
步骤二:使用“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 //建立一个静态链接版本的支持
步骤三:使用“make”命令编译源代码文件并生成安装文件,命令行如下。
[root@localhost httpd-2.2.9]# make //对Apache源代码文件进行编译
步骤四:使用“make install”命令进行安装,命令行如下。
[root@localhost httpd-2.2.9]# make install //开始安装Apache服务器软件
步骤五:检查安装的文件,进入到/usr/local/apache2/目录下,确认是否有以下目录。
[root@localhost httpd-2.2.9]# cd /usr/local/apache2/
[root@localhost apache2]# ls
bin cgi-bin htdocs include logs manual
build error icons lib man modules
检查配置文件是否指定正确,进入到/etc/httpd/目录下,查看配置文件httpd.conf和extra子目录是否存在。
步骤六:启动Apache服务器,并查看端口是否开启,启动Apache服务器的命令行如下。
[root@localhost apache2]# /usr/local/apache2/bin/apachectl start //启动Apache
步骤七:Apache服务器启动之后,查看一下80端口是否打开,如果看到以下结果表明Apache服务器启动成功。命令行如下。
[root@localhost apache2]# netstat -tnl|grep 80 //查看80端口是否开启
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
步骤八:测试安装结果,打开浏览器,在地址栏内输入URL为http://localhost/去访问Apache服务器。如出现如图2-1所示的内容表示Aapache服务器可以使用。
图2-1 测试Apache是否安装并启动成功
步骤九:每种服务器软件都有必要制作成开机时自启动,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
2.2.12 安装MySQL数据库管理系统
步骤一:首先要为mysqld增加一个登录用户和用户组,用户名和组名都为“mysql”,如果将这些用户和组命名为mysql之外的名称,在下面的步骤中也需要替换为相应的名称。命令行如下。
[root@localhost root]# groupadd mysql //添加一个mysql标准组
[root@localhost root]# useradd -g mysql mysql //添加mysql用户并加到mysql组中
步骤二:进入软件源码包所在目录/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中
步骤三:使用“configure”命令检查并配置安装需要的系统环境,并生成安装配置文件,命令行如下,使用“\”将一个命令换成多行。
[root@localhost mysql-5.0.41]# ./configure \
> --prefix=/usr/local/mysql \ //是在安装时将软件安装到/usr/local/mysql目录下
> --with-extra-charsets=all //在安装mysql时安装所有字符集
步骤四:使用“make”命令编译源代码文件并生成安装文件,命令行如下。
[root@localhost mysql-5.0.41]# make //对MySQL源代码文件进行编译
步骤五:使用“make install”命令进行安装,命令行如下。
[root@localhost mysql-5.0.41]## make install //开始安装MySQL数据库系统
步骤六:创建MySQL数据库服务器的配置文件,可以使用源码包support-files目录中的my-medium.cnf文件作为模板,将其复制到/etc/目录下,命名为“my.cnf”文件即可。命令行如下。
[root@localhost mysql-5.0.41]# cp support-files/my-medium.cnf /etc/my.cnf
步骤七:如果还没有安装过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授权表后,需要手动重新启动服务器。
步骤八:将程序二进制的所有权改为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-x 2 root mysql 4096 9月 12 00:35 bin
drwxr-xr-x 3 root mysql 4096 9月 12 00:34 include
drwxr-xr-x 2 root mysql 4096 9月 12 00:34 info
drwxr-xr-x 3 root mysql 4096 9月 12 00:34 lib
drwxr-xr-x 2 root mysql 4096 9月 12 00:35 libexec
drwxr-xr-x 4 root mysql 4096 9月 12 00:35 man
drwxr-xr-x 8 root mysql 4096 9月 12 00:35 mysql-test
drwxr-xr-x 3 root mysql 4096 9月 12 00:34 share
drwxr-xr-x 5 root mysql 4096 9月 12 00:35 sql-bench
drwx------ 4 mysql mysql 4096 9月 12 01:16 var
步骤九:在所需要的东西被安装完成后,应当使用下面的命令启动MySQL服务了,命令行如下。
[root@localhost mysql]# /usr/local/mysql/bin/mysqld_safe --user=mysql &
步骤十:MySQL数据库服务启动之后,查看一下它的端口3306是否打开,如果看到以下结果表明MySQL服务启动成功。命令行如下。
[root@localhost apache2]# netstat -tnl|grep 3306 //查看3306端口是否开启
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
步骤十一:使用mysqladmin验证服务器在运行中。以下命令提供了简单的测试,可检查服务器是否已经启动并能响应连接。命令行如下。
[root@localhost mysql]# bin/mysqladmin version
bin/mysqladmin Ver 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 version 5.0.41-log
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /tmp/mysql.sock
Uptime: 15 min 41 sec
Threads: 1 Questions: 25 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6 Queries per second avg: 0.027
[root@localhost mysql]# bin/mysqladmin variables //查看所有mysql参数
步骤十二:设置访问权限,在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');
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数据库
步骤十六: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”命令,在第三等级和第五等级中开启mysqld服务,即在字符模式和图形模式启动时自动开启mysqld服务。命令如下。
[root@localhost mysql-5.0.41]# chkconfig --level 3 mysqld on
[root@localhost mysql-5.0.41]# chkconfig --level 5 mysqld on
再使用“chkconfig--list”命令检查设置。命令行如下。
[root@localhost mysql-5.0.41]# chkconfig --list mysqld
mysqld 0:关闭 1:关闭 2: 关闭 3:启用 4: 关闭 5:启用 6:关闭
2.2.13 安装最新版本的PHP模块
步骤一:进入软件源码包所在目录/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中
步骤二:使用“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 \ //变量激活SOAP和Web services支持
> --enable-mbstring=all \ //使多字节字符串支持
> --enable-sockets //变量激活socket通信特性
步骤三:使用“make”命令编译源代码文件并生成安装文件。命令行如下。
[root@localhost php-5.2.6]# make //对PHP源代码文件进行编译
步骤四:使用“make install”命令进行安装。命令行如下。
[root@localhost php-5.2.6]# make install //开始安装PHP5
步骤五:安装完成后,需要建立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 //创建配置文件
步骤六:整合Apache与PHP,上面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”指令项,并在其下方添加一条指令“Addtype application/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服务
步骤八:测试PHP环境是否可以正常运行,在/usr/local/apache2/htdocs目录下建一个test.php或test.phtml的文件。内容如下所示。
[root@localhost htdocs]# vi test.php //编辑test.php文件
<?php
phpinfo();
?>
打开浏览器,在地址栏中输入URL为http://localhost/test.php来运行该文件,如果出现如图2-2所示的内容表示LAMP环境安装成功。
图2-2 测试PHP是否安装并启动成功
上例中使用了phpinfo()函数,作用是输出有关PHP当前状态的大部分信息内容,这包括关于PHP的编译和扩展信息、PHP版本、服务器信息和环境、PHP的环境、操作系统信息、路径、主要的和本地配置选项的值、HTTP头信息和PHP的许可等。因为每个系统的安装不同,phpinfo()函数可以用于检查某一特定系统配置设置和可用的预定义变量等。它也是一个宝贵的调试工具,因为它包含了所有EGPCS(Environment,GET,POST,Cookie,Server)数据。