LAMP网站开发黄金组合Linux+Apache+MySQL+PHP
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

7.4 Apache2.2+MySQL5.0+ PHP5.2+GD2.0+Firefox2.0的安装

Linux、Apache、MySQL和PHP被誉为是Web开发中的“黄金组合”。在Red Hat Linux 9发行版中虽然已经捆绑了Apache、MySQL、PHP等软件包,但为了获得最佳的性能,还是应该及时从相关网站下载最新的稳定版本来使用。例如,PHP版本5中进一步增强了面向对象的能力,提供了显式构造函数和析构函数、对象克隆、抽象类等新功能,同时开始支持异常处理,而GD库2.0支持生成真彩色图片,可以用于制作图像缩略图。

使用“rpm”命令可以查询当前Red Hat Linux 9中已安装的软件包的版本信息:

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

    # rpm  -qa | grep  -i php
    php-ldap-4.2.2-17
    php-4.2.2-17  // Red Hat Linux 9中系统默认安装的PHP软件包的版本号为4.2
    asp2php-gtk-0.76.2-5
    php-manual-4.2.2-17
    asp2php-0.76.2-5
    php-devel-4.2.2-17
    php-snmp-4.2.2-17
    php-imap-4.2.2-17

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

    # rpm  -qa | grep  -i mysql
    mysql-devel-3.23.54a-11
    perl-DBD-MySQL-2.1021-3
    libdbi-dbd-mysql-0.6.5-5
    mysql-server-3.23.54a-11 // Red Hat 9中系统默认安装的MySQL软件包的版本号为3.23
    mysql-3.23.54a-11
    MySQL-python-0.9.1-6
    qt-MySQL-3.1.1-6
    mod_auth_mysql-1.11-12

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

    # rpm  -qa | grep  -i http
    httpd-manual-2.0.40-21
    redhat-config-httpd-1.0.1-18
    libghttp-devel-1.0.9-7
    libghttp-1.0.9-7
    httpd-devel-2.0.40-21
    httpd-2.0.40-21  // Red Hat Linux 9中系统默认安装的Apache软件包的版本号为2.0

(4)查询系统中已安装的GD软件包

    # rpm  -qa |grep gd
    gdk-pixbuf-0.18.0-7
    gd-progs-1.8.4-11
    gdk-pixbuf-devel-0.18.0-7
    gd-1.8.4-11
    gdk-pixbuf-gnome-0.18.0-7
    gdm-2.4.1.3-5
    gdb-5.3post-0.20021129.18
    sysklogd-1.4.1-12
    gd-devel-1.8.4-11  // Red Hat Linux 9中系统默认安装的GD为1.8.4
    gdbm-1.8.0-20
    gdbm-devel-1.8.0-20

(5)查询系统中已安装的zlib软件包

    # rpm  -qa |grep zlib
    zlib-1.1.4-8  // Red Hat Linux 9中系统默认安装的zlib为1.1.4
    zlib-devel-1.1.4-8

(6)查询系统中已安装的libpng软件包

    # rpm  -qa |grep libpng
    libpng10-devel-1.0.13-8
    libpng-devel-1.2.2-16
    libpng-1.2.2-16  // Red Hat Linux 9中系统默认安装的libpng为1.2.2
    libpng10-1.0.13-8

(7)查询系统中已安装的freetype软件包

    # rpm  -qa |grep freetype
    freetype-utils-2.1.3-6
    freetype-devel-2.1.3-6
    freetype-2.1.3-6  // Red Hat Linux 9中系统默认安装的freetype为2.1.3
    freetype-demos-2.1.3-6

(8)查询系统中已安装的jpeg软件包

    # rpm  -qa |grep jpeg
    libjpeg-6b-26  // Red Hat Linux 9中系统默认安装为jpge-6b
    libjpeg-devel-6b-26

(9)查询系统中已安装的autoconf软件包

    # rpm  -qa | grep  autoconf
    autoconf-2.57-3   // Red Hat Linux 9中系统默认安装的autoconf为2.57
    autoconf213-2.13-6

(10)查询系统中已安装libxml2软件包

    # rpm  -qa | grep  libxml
    libxml2-2.5.4-1  // Red Hat Linux 9中系统默认安装的libxml2为2.5.4
    perl-libxml-enno-1.02-29
    libxml-1.8.17-8
    perl-libxml-perl-0.07-28
    libxml2-python-2.5.4-1
    libxml2-devel-2.5.4-1
    libxml-devel-1.8.17-8

下面将介绍如何将Apache、MySQL、PHP和GD库分别从2.0.40、3.2.3、4.2、1.8.4升级到2.2.8、5.0.5、5.2.5和2.0.35。Redhat Linux 9默认的浏览器为Mozalla 1.2.1,可以将其升级为Mozalla Firefox 2.0.0.9。

7.4.1 获取软件包

软件包的安装可以采用RPM包或源码包两种形式,本书仅以源码包的安装为例加以说明。首先下载最新的Apache、MySQL、PHP及相关库文件的源码包,总共11个,分别为:

● autoconf-2.61.tar.gz:下载地址为ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz

● firefox-2.0.0.9.zh-CN.linux-i686.tar.gz:下载地址为http://www.mozilla.org/download.html

● httpd-2.2.8.tar.gz:下载地址为http://apache.justdn.org/httpd/

● libxml2-2.6.19.tar.gz:下载地址为http://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.19.tar.gz

● mysql-5.0.51a-linux-i686.tar.gz:下载地址为http://dev.mysql.com/downloads/

● freetype-2.1.10.tar.gz:下载地址为http://www.fretype.org

● jpegsrc.v6b.tar.gz:下载地址为http://freshmeat.net/projects/libjpeg/

● libpng-1.2.24.tar.gz:下载地址为http://www.libpng.org/pub/png/libpng.html

● zlib-1.2.3.tar.gz:下载地址为http://www.zlib.net/

● gd-2.0.35.tar.gz:下载地址为http://www.libgd.org/Downloads

● php-5.2.5.tar.gz:下载地址为http://www.php.net/downloads.php

其中,在安装PHP5(php-5.2.5.tar.gz)之前应安装libxml2(libxml2-2.6.19.tar.gz),安装GD2(gd-2.0.35.tar.gz)之前应先安装zlib-1.2.3.tar.gz、libpng-1.2.24.tar.gz、freetype-2.1.10.tar.gz、jpegsrc.v6b.tar.gz和autoconf-2.61.tar.gz。Apache2.2、MySQL5.0和PHP5.2的安装,按MySQL->Apache->PHP顺序。

7.4.2 安装环境的准备

由于下载的是源码包,需要在本机编译后才能安装使用,所以在安装前应首先检查系统中是否已经安装了gcc。可以在命令行中输入命令“gcc -v”来查看是否安装了gcc,如下所示:

    # 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的版本号为3.2.2,否则需要安装gcc。安装gcc,用户可以参照如下步骤完成。

(1)单击【启动程序】按钮,Linux出现【启动程序】菜单。

(2)单击【系统设置】|【添加/删除应用程序】菜单项,Linux出现【添加/删除应用程序】窗口。

(3)在出现的【添加/删除应用程序】窗口中,用户可以看到【开发工具】复选框,如图7-6所示。

图7-6 安装【开发工具】

(4)点选【开发工具】复选框,然后单击【更新】按钮,按系统提示依次插入安装光盘,系统会自动完成更新。

如果目前系统正在运行MySQL和Apache,通过【服务配置】窗口(单击【启动程序】|【系统设置】|【服务器设置】|【服务】),将启动【服务配置】窗口,如图7-7所示)将其关闭,如图7-8、7-9所示。

图7-7 启动【服务器设置】窗口

图7-8 关闭MySQL服务

图7-9 关闭Apache服务

为了方便安装,在根目录下建立/soft目录,将所下载的源码包文件保存到该目录下。通过单击【启动程序】|【系统工具】|【终端】命令,打开一个终端窗口,如图7-10所示。安装操作将在终端窗口中通过命令完成。

图7-10 打开一个【终端】窗口

7.4.3 安装GD库

安装GD2(gd-2.0.35.tar.gz)之前应先安装zlib-1.2.3.tar.gz、libpng-1.2.24.tar.gz、freetype-2.1.10.tar.gz 、 jpegsrc.v6b.tar.gz和autoconf-2.61.tar.gz 。 本 例 安 装按zlib->libpng->freetype- >jpeg6->autoconf->gd顺序。

1.安装zlib

(1)对源码文件解压并建立安装目录,命令行如下所示:

    // 将zlib-1.2.3.tar.gz解压到当前目录zlib-1.2.3中
    #tar  zxvf zlib-1.2.3.tar.gz
    //改变当前目录为zlib-1.2.3
    #cd  zlib-1.2.3

(2)使用“configure”命令生成安装配置文件,命令行如下所示:

    //生成安装配置文件
    # ./configure  --prefix=/usr/local/zlib
    Checking for gcc...
    Building static library libz.a version 1.2.3 with gcc.
    Checking for unistd.h... Yes.
    Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf()
    Checking for vsnprintf() in stdio.h... Yes.
    Checking for return value of vsnprintf()... Yes.
    ...  ...

(3)使用“make”命令编译并生成安装文件,命令行如下所示:

    # make     //对源文件进行编译
    gcc -O3 -DUSE_MMAP   -c -o infback.o infback.c
    gcc -O3 -DUSE_MMAP   -c -o inftrees.o inftrees.c
    gcc -O3 -DUSE_MMAP   -c -o inffast.o inffast.c
    ar rc libz.a adler32.o compress.o crc32.o gzio.o uncompr.o deflate.o trees.o zutil.o
inflate.o infback.o inftrees.o inffast.o
    ...  ...

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

    # make install  //开始安装
    cp zlib.h zconf.h /usr/local/zlib/include
    chmod 644 /usr/local/zlib/include/zlib.h /usr/local/zlib/include/zconf.h
    cp libz.a /usr/local/zlib/lib
    cd /usr/local/zlib/lib; chmod 755 libz.a
    cd /usr/local/zlib/lib; if test -f libz.so.1.2.3; then \
    ...  ...

2.安装libpng

(1)对源码文件解压并建立配置文件,命令行如下所示:

    //将libpng-1.2.24.tar.gz解压到当前目录libpng-1.2.24中
    #tar zxvf libpng-1.2.24.tar.gz
    #cd  libpng-1.2.24  //改变当前目录为libpng_1.2.24
    //将scripts子目录中的配置文件makefile.linux更名复制到当前目录,且文件名改为makefile
    # cp scripts/makefile.linux  makefile

(2)使用“make”命令编译并生成安装文件,命令行如下所示:

    # make  //开始编译
    gcc -I../zlib -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE    -c -o png.o png.c
    gcc -I../zlib -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE    -c -o pngset.o pngset.c
    gcc -I../zlib -Wall -O3 -funroll-loops -DPNG_NO_MMX_CODE    -c -o pngget.o pngget.c
    ...  ...

(3)使用“make install”命令进行安装,如下所示:

    # make install  //开始安装
    cp png.h pngconf.h /usr/local/include/libpng12
    chmod 644 /usr/local/include/libpng12/png.h /usr/local/include/libpng12/pngconf.h
    (cd /usr/local/include; ln -sf libpng12 libpng; ln -sf libpng12/* .)
    cp libpng.a /usr/local/lib/libpng12.a
    ...  ...

3.安装freetype

(1)对源码文件解压并建立安装目录,命令行如下所示:

    //将freetype-2.1.10.tar.gz解压到当前目录freetype-2.1.10中
    #tar  -zvxf freetype-2.1.10.tar.gz
    //改变当前目录为freetype-2.1.10
    #cd  freetype-2.1.10
    //建立安装目录/usr/local/freetype
    # mkdir  -p /usr/local/freetype

(2)使用“configure”命令生成安装配置文件,命令行如下所示:

    //生成安装配置文件
    # ./configure  --prefix=/usr/local/freetype
    cd builds/unix; ./configure --prefix=/usr/local/freetype
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking target system type... i686-pc-linux-gnu
    ...  ...

(3)使用“make”命令编译并生成安装文件,命令行如下所示:

    //开始编译
    # make
      gcc -pedantic -ansi -I/soft/freetype-2.1.10/freetype-2.1.10/objs -I./builds/unix
-I/soft/freetype-2.1.10/freetype-2.1.10/include -c -Wall -g -O2
-DFT_CONFIG_OPTION_SYSTEM_ZLIB -DDARWIN_NO_CARBON "-DFT_CONFIG_CONFIG_H=<ftconfig.h>"
-I/soft/freetype-2.1.10/freetype-2.1.10/src/type42
/soft/freetype-2.1.10/freetype-2.1.10/src/type42/type42.c  -fPIC -DPIC -o
/soft/freetype-2.1.10/freetype-2.1.10/objs/.libs/type42.o
    ...  ...

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

    //开始安装
    # make install
    mkdir -p -- /usr/local/freetype/lib /usr/local/freetype/lib/pkgconfig
/usr/local/freetype/include/freetype2/freetype/config
/usr/local/freetype/include/freetype2/freetype/internal
/usr/local/freetype/include/freetype2/freetype/cache /usr/local/freetype/bin
/usr/local/freetype/share/aclocal
    ...  ...

4.安装jpeg6

(1)对源码文件解压并建立安装目录,命令行如下所示:

    //将jpegsrc.v6b.tar.gz解压到当前目录jpegsrc.v6b中
    #tar  -zvxf jpegsrc.v6b.tar.gz
    //改变当前目录为jpegsrc.v6b
    #cd  jpegsrc.v6b
    //建立安装目录/usr/local/jpeg6
    # mkdir  -p  /usr/local/jpeg6
    //建立存放命令的目录/usr/local/jpeg6/bin
    # mkdir  -p  /usr/local/jpeg6/bin
    //建立存放头文件的目录/usr/local/jpeg6/include
    # mkdir  -p  /usr/local/jpeg6/include
    //建立存放手册的目录/usr/local/jpeg6/man
    # mkdir  -p  /usr/local/jpeg6/man
    # mkdir  -p  /usr/local/jpeg6/jpeg6man1
    # mkdir  -p  /usr/local/jpeg6/man/man1

(2)使用“configure”命令生成安装配置文件,命令行如下所示:

    //生成配置文件
    # ./configure  --prefix=/usr/local/jpeg6/  --enable-share  --enable-static
    checking for gcc... gcc
    checking whether the C compiler (gcc  ) works... yes
    checking whether the C compiler (gcc  ) is a cross-compiler... no
    ...  ...

(3)使用“make”命令编译并生成安装文件,命令行如下所示:

    # make   //开始编译
    ./libtool --mode=compile gcc -O2  -I. -c ./jcapimin.c
    gcc -O2 -I. -c ./jcapimin.c
    echo timestamp > jcapimin.lo
    ./libtool --mode=compile gcc -O2  -I. -c ./jcapistd.c
    gcc -O2 -I. -c ./jcapistd.c
    echo timestamp > jcapistd.lo
    ./libtool --mode=compile gcc -O2  -I. -c ./jctrans.c
    gcc -O2 -I. -c ./jctrans.c
    echo timestamp > jctrans.lo
    ./libtool --mode=compile gcc -O2  -I. -c ./jcparam.c
    gcc -O2 -I. -c ./jcparam.c
    echo timestamp > jcparam.lo
    ...  ...

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

    # make install   //开始安装
    ./libtool --mode=install /usr/bin/install -c cjpeg /usr/local/jpeg6//bin/cjpeg
    /usr/bin/install -c cjpeg /usr/local/jpeg6//bin/cjpeg
    ./libtool --mode=install /usr/bin/install -c djpeg /usr/local/jpeg6//bin/djpeg
    ...  ...

(5)安装jpeg6库文件,命令行如下所示:

    //创建jpeg6库文件所在目录
    # mkdir  -p /usr/local/jpeg6/lib
    //开始安装jpeg6库文件
    # make install-lib
    ./libtool --mode=install /usr/bin/install -c libjpeg.la
/usr/local/jpeg6/lib/libjpeg.la
    /usr/bin/install -c libjpeg.la /usr/local/jpeg6/lib/libjpeg.la
    /usr/bin/install -c .libs/libjpeg.a /usr/local/jpeg6/lib/libjpeg.a
    ranlib /usr/local/jpeg6/lib/libjpeg.a
    chmod 644 /usr/local/jpeg6/lib/libjpeg.a
    ...  ...

(6)使用libtool命令完成libtool库的安装,命令行如下所示:

    # libtool  --finish /usr/local/jpeg6//lib   //
    PATH="$PATH:/sbin" ldconfig -n /usr/local/jpeg6//lib
    ----------------------------------------------------------------------
    Libraries have been installed in:
      /usr/local/jpeg6//lib
    If you ever happen to want to link against installed libraries
    in a given directory, LIBDIR, you must either use libtool, and
    specify the full pathname of the library, or use the '-LLIBDIR'
    flag during linking and do at least one of the following:
    ...  ...

5.安装autoconf

(1)对源码文件解压,命令行如下所示:

    //将autoconf-2.61.tar.gz解压到当前目录autoconf-2.61中
    #tar  -zvxf autoconf-2.61.tar.gz
    //改变当前目录为autoconf-2.61
    #cd  autoconf-2.61

(2)使用“configure”命令生成安装配置文件,命令行如下所示:

    #./configure  --prefix=/usr
    checking for a BSD-compatible install... /usr/bin/install -c
    checking whether build environment is sane... yes
    checking for a thread-safe mkdir -p... /bin/mkdir -p
    ...  ...

(3)使用“make”命令编译并生成安装文件,命令行如下所示:

    # make
    Making all in bin
    make[1]: Entering directory '/soft/autoconf-2.61/autoconf-2.61/bin'
    make[2]: Entering directory '/soft/autoconf-2.61/autoconf-2.61'
    make[2]: Leaving directory '/soft/autoconf-2.61/autoconf-2.61'
    ...  ...

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

    # make install
    Making install in tests
    make[1]: Entering directory '/soft/autoconf-2.61/autoconf-2.61/tests'
    make[2]: Entering directory '/soft/autoconf-2.61/autoconf-2.61'
    make[2]: Leaving directory '/soft/autoconf-2.61/autoconf-2.61'
    ...  ...

6.安装gd

(1)对源码文件解压,命令行如下所示:

    //将gd-2.0.35.tar.gz解压到当前目录gd-2.0.35.tar.gz中
    #tar  -zvxf gd-2.0.35.tar.gz
    //改变当前目录为gd-2.0.35.tar.gz
    #cd  gd-2.0.35.tar.gz

(2)使用“configure”命令生成安装配置文件,命令行如下所示:

    //生成配置文件
    #./configure  --prefix=/usr/local/gd  --with-jpeg=/usr/local/jpeg6
--with-png=/usr/local/lib  --with-zlib=/usr/local/zlib
--with-freetype=/usr/local/freetype
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking target system type... i686-pc-linux-gnu
    ……
    configure.ac:28: error: Autoconf version 2.58 or higher is required

(3)使用“make”命令编译并生成安装文件,命令行如下所示:

    # make
    cd . && /bin/sh /soft/gd-2.0.35/gd-2.0.35/config/missing --run aclocal-1.9 -I config
    /soft/gd-2.0.35/gd-2.0.35/config/missing: line 46: aclocal-1.9: command not found
    WARNING: 'aclocal-1.9' is missing on your system.  You should only need it if
            you modified 'acinclude.m4' or 'configure.ac'.  You might want
            to install the 'Automake' and 'Perl' packages.  Grab them from
            any GNU archive site.
    ...  ...

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

    # make install
    test -z "/usr/local/gd/include" || mkdir -p -- "/usr/local/gd/include"
    /usr/bin/install -c -m 644 'gd.h' '/usr/local/gd/include/gd.h'
    /usr/bin/install -c -m 644 'gdfx.h' '/usr/local/gd/include/gdfx.h'
    /usr/bin/install -c -m 644 'gd_io.h' '/usr/local/gd/include/gd_io.h'
    ...  ...

7.4.4 安装MySQL

(1)在安装MySQL之前首先应检查系统中是否已经安装了低版本的MySQL。如果已经安装,应先进行卸裁,然后再安装。软件包的检查只需在终端窗口中运行命令:

    # rpm  -qa | grep  -i mysql

如果显示任何内容,则表示已安装相关软件包,可使用“rpm -e”命令进行删除,命令格式如下所示:

    rpm  -e  packagename --nodeps

其中参数“packagename”表示待删除的软件包名称,参数“--nodeps”表示在删除软件包的同时不对该软件包所使用的依赖文件进行删除。单独使用该命令一次只能删除一个软件包。对该命令进行简单编程,可以对相关的多个软件包进行统一删除,如下所示:

    #for i in 'rpm -qa|grep -i mysql'
    >do rpm -e $i --nodeps
    >done

接下来,开始MySQL新版本的安装。

★ 注意 ★

其中“#for i in 'rpm qa|grep i mysql'”语句中使用的是后引号。

(2)对源码包文件解压并配置安装环境,命令行如下所示:

    //将mysql-5.0.51a-linux-i686.tar.gz解压到当前目录mysql-5.0.51a-linux-i686中
    #tar  -zvxf mysql-5.0.51a-linux-i686.tar.gz
    //改变当前目录为gd-2.0.35.tar.gz
    #cd  gd-2.0.35.tar.gz
    //建立mysql的安装目录
    #mkdir  -p  /usr/local/mysql
    //复制解压文件到/usr/local/mysql目录中
    # cp  -rf  *  /usr/local/mysql
    //改变当前目录为/usr/local/mysql
    #cd  /usr/local/mysql
    //修改mysql用户信息,如果系统中不存在mysql用户,则使用“useradd”命令创建一个mysql用户
    # usermod  -d /usr/local/mysql/data -s /sbin/nologin  -g mysql mysql
    //将当前目录(/usr/local/mysql)的属主设为root
    # chown  -R root  .
    //将子目录data的属主设为mysql
    # chown -R mysql  data

(3)使用脚本进行安装,命令行如下所示:

    //使用子目录scripts中的脚本“mysql_install_db”安装MySQL
    # ./scripts/mysql_install_db  --user=mysql
    Installing MySQL system tables...
    The latest information about MySQL is available on the web at
    http://www.mysql.com
    Please consult the MySQL manual section: 'Problems running mysql_install_db',
    and the manual section that describes problems on your OS.
    Another information source is the MySQL email archive.
    Please check all of the above before mailing us!
    And if you do mail us, you MUST use the ./bin/mysqlbug script!
    ...  ...

(4)建立MySQL配置文件my.conf

将子目录support-files中的脚本“mysql_medium.cnf”换名复制到/etc目录下,更名为my.cnf

    #cp  ./support-files/mydql-medium.cnf  /etc/my.cnf

(5)启动及相关测试

启动MySQL,命令如下所示:

    # ./bin/mysqld_safe --user=mysql &
    [2] 26532
    [1]   Exit 127              ./mysql_safe --user=mysql
    Starting mysqld daemon with databases from /var/lib/mysql

使用“mysqladmin ping”命令测试安装:

    # mysqladmin ping
    mysqld is alive

使用“mysqladmin version”显示版本信息

    # mysqladmin version
    mysqladmin  Ver 8.23 Distrib 3.23.54, for redhat-linux-gnu on i386
    Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult 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.51a
    Protocol version       10
    Connection            Localhost via UNIX socket
    UNIX socket           /var/lib/mysql/mysql.sock
    Uptime:               35 min 28 sec
    Threads: 1  Questions: 18  Slow queries: 0  Opens: 11  Flush tables: 1  Open tables: 6
Queries per second avg: 0.008

使用命令“mysql”启动mysql客户端,连接MySQL服务器

    #./bin/mysql
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 14 to server version: 5.0.51a
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

在MySQL客户端中输入“select 1+1”进行测试,如下所示:

    mysql> select 1+1
        -> ;
    +-----+
    | 1+1 |
    +-----+
    |   2 |
    +-----+
    1 row in set (0.00 sec)

可以看到,MySQL给出了正确的计算结果。在MySQL客户端提示符下输入命令“exit”或“quit”或按键盘“Ctrl+C”,可以从MySQL客户端中退出。

(6)设置开机自动运行

将子目录support-files下的文件mysql.server换名复制到/etc/rc.d/init.d目录中,且重命名为“mysqld”,如下所示:

    # cp ./support-files/mysql.server  /etc/rc.d/init.d/mysqld
    cp:是否覆盖“etc/rc.d/init.d/mysqld”? y

修改文件/etc/rc.d/init.d/mysqld的权限,如下所示:

    # chmod 700  /etc/rc.d/init.d/mysqld

使用chkconfig命令可以设置在不同系统运行级别下的自启动策略。chkconfig命令的用法如下所示:

    # chkconfig  --help
    chkconfig 版本 1.3.8 - 版权 (C) 1997-2000 Red Hat, Inc.
    在GNU公共许可的条款下,本软件可以自由发行。
    用法:  chkconfig --list [name]
            chkconfig --add <name>
            chkconfig --del <name>
            chkconfig [--level <levels>] <name> <on|off|reset>)

使用“chkconfig --add”命令设置当前系统运行状态下(即系统运行状态5)开机自启动,命令如下所示:

    # chkconfig  --add  mysqld

使用“chkconfig --list”命令检查设置:

    # chkconfig  --list mysqld
    mysqld        0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:启动  6:关闭

可以看到,在系统运行状态5,即图形模式下,已经设定自动启动MySQL。

7.4.5 安装Apache

(1)在安装Apache之前首先应检查系统中是否已经安装了Apache。如果已经安装,应先卸裁低版本的Apache,然后再安装。软件包的检查只需在终端窗口中运行命令:

    # rpm  -qa | grep  -i httpd

如果显示任何内容,则表示已安装相关软件包,可使用“rpm -e”命令进行删除,也可以使用下面命令对多个相关的软件包进行统一删除:

    #for i in 'rpm -qa|grep -i httpd'
    >do rpm -e $i --nodeps
    >done

接下来,开始Apache新版本的安装。

(2)对源码包文件解压并创建安装目录,命令行如下所示:

    //将httpd-2.2.8.tar.gz解压到当前目录httpd-2.2.8中
    #tar  -zvxf httpd-2.2.8.tar.gz
    //改变当前目录为httpd-2.2.8
    #cd  httpd-2.2.8
    //建立Apache的安装目录
    #mkdir  -p  /usr/local/apache

(3)使用“configure”命令生成安装配置文件,命令行如下所示:

    # ./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd  --enable-so
--enable-track-vars  --enable-rewrite  --with-z-dir=/usr/local/zlib
    Configuring Apache httpd ...
      adding "-I." to INCLUDES
      adding "-I$(top_srcdir)/os/$(OS_DIR)" to INCLUDES
      adding "-I$(top_srcdir)/server/mpm/$(MPM_SUBDIR_NAME)" to INCLUDES
    ...  ...

(4)使用“make”命令编译并生成安装文件,命令行如下所示:

    # make
      -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -D_LARGEFILE64_SOURCE
-I/soft/httpd-2.2.8/httpd-2.2.8/srclib/pcre -I. -I/soft/httpd-2.2.8/httpd-2.2.8/os/unix
-I/soft/httpd-2.2.8/httpd-2.2.8/server/mpm/prefork
    ...  ...

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

    # make install
    mkdir /usr/local/apache/cgi-bin
    Installing header files
    Installing build system files
    Installing man pages and online manual
    mkdir /usr/local/apache/man
    mkdir /usr/local/apache/man/man1
    mkdir /usr/local/apache/man/man8
    mkdir /usr/local/apache/manual
    ...  ...

(6)启动并测试

启动Apache,命令如下所示:

    # /usr/local/apache/bin/apachectl start

打开浏览器,在地址栏中输入服务器的IP地址“http://xxx.xxx.xxx.xxx”(示例中为192.168.127.2),如果显示如图7-11所示内容,即表示Apache已经正常启动。

图7-11 Apache已经正常启动

★ 注意 ★

Apache安装完毕后,默认的网站根目录为/usr/local/apache/htdocs

(7)设置开机自启动

使用“echo”命令向/etc/rc.d/rc.local文件中写入启动信息,命令如下:

    # echo "/usr/local/apache/bin/apachectl start">>/etc/rc.d/rc.local

检查rc.loacl文件中是否已写入自启动项,命令如下所示:

    # cat /etc/rc.d/rc.local
    #!/bin/sh
    #
    # This script will be executed *after* all the other init scripts.
    # You can put your own initialization stuff in here if you don't
    # want to do the full Sys V style init stuff.
    touch /var/lock/subsys/local
    /usr/local/apache/bin/apachectl start  //已写入自启动项

7.4.6 安装PHP

1.安装libxml2

PHP对XML的支持是建立在libxml2库基础上的,在安装PHP5.2之前需要先安装libxml2。

(1)对源码包文件解压并创建安装目录,命令行如下所示:

    //将libxml2-2.6.19.tar.gz解压到当前目录libxml2-2.6.19中
    #tar  -zvxf libxml2-2.6.19.tar.gz
    //改变当前目录为libxml2-2.6.19
    #cd  libxml2-2.6.19
    //建立PHP的安装目录
    #mkdir  -p  /usr/local/libxml2

(2)使用“configure”命令生成安装配置文件,命令行如下所示:

    # ./configure  --prefix=/usr/local/libxml2
    checking build system type... i686-redhat-linux-gnu
    checking host system type... i686-redhat-linux-gnu
    checking for a BSD-compatible install... /usr/bin/install -c
    ...  ...

(3)使用“make”命令编译并生成安装文件,命令行如下所示:

    # make
    gcc -DHAVE_CONFIG_H -I. -I. -I.. -I/usr/include/python2.2 -I../include -I../include
-I../python -g -O2 -pedantic -W -Wformat -Wunused -Wimplicit -Wreturn-type -Wswitch -Wcomment
-Wtrigraphs -Wformat -Wchar-subscripts -Wuninitialized -Wparentheses -Wshadow
-Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes
-Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -MT libxml.lo -MD -MP
-MF .deps/libxml.Tpo -c libxml.c  -fPIC -DPIC -o .libs/libxml.o
    ...  ...

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

    # make install
    make[3]: Leaving directory '/soft/libxml2-2.6.19/libxml2-2.6.19/python'
    make[2]: Leaving directory '/soft/libxml2-2.6.19/libxml2-2.6.19/python'
    Making install in tests
    ...  ...

(5)复制配置文件xml2-config到/usr/bin目录下,如下所示:

    # cp xml2-config  /usr/bin
    cp:是否覆盖‘/usr/bin/xml2-config’? y

2.安装PHP5

(1)在安装PHP5之前首先应检查系统中是否已经安装了低版本的PHP。如果已经安装,应先进行卸裁,然后再安装。软件包的检查只需在终端窗口中运行命令:

    # rpm  -qa | grep  -i php

如果显示任何内容,则表示已安装相关软件包,可使用“rpm -e”命令进行删除,也可以使用下面命令对多个相关的软件包进行统一删除:

    #for i in 'rpm -qa|grep -i php'
    >do rpm -e $i --nodeps
    >done

接下来,开始PHP新版本的安装。

(2)对源码包文件解压并创建安装目录,命令行如下所示:

    //将php-5.2.5.tar.gz解压到当前目录php-5.2.5中
    #tar  -zvxf php-5.2.5.tar.gz
    //改变当前目录为php-5.2.5
    #cd  php-5.2.5
    //建立PHP的安装目录
    #mkdir  -p  /usr/local/php

(3)使用“configure”命令生成安装配置文件,命令行如下所示:

    # ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
    --with-mysql=/usr/local/mysql  --with-libxml-dir=/usr/local/libxml2
    --with-png-dir=/usr/local/lib  --with-jpeg-dir=/usr/local/jpeg6
    --with-zlib-dir=/usr/local/zlib  --with-freetype-dir=/usr/local/freetype
--with-gd=/usr/local/gd   --enable-soap  --enable-mbstring=all
    Generating files
    updating cache ./config.cache
    creating ./config.status
    ...  ...
    +--------------------------------------------------------------------+
    | License:                                                                |
    | This software is subject to the PHP License, available in this          |
    | distribution in the file LICENSE.      By continuing this installation  |
    | process, you are bound by the terms of this license agreement.          |
    | If you do not agree with the terms of this license, you must abort  |
    | the installation process at this point.                                 |
    +--------------------------------------------------------------------+
    Thank you for using PHP.

(4)使用“make”命令编译并生成安装文件,命令行如下所示:

         # make
         /bin/sh/soft/php-5.2.5/php-5.2.5/libtool--silent--preserve-dup-deps--mode=compile
gcc  -Imain/ -I/soft/php-5.2.5/php-5.2.5/main/ -DPHP_ATOM_INC
-I/soft/php-5.2.5/php-5.2.5/include -I/soft/php-5.2.5/php-5.2.5/main
-I/soft/php-5.2.5/php-5.2.5 -I/usr/local/libxml2/include/libxml2
-I/usr/local/zlib/include -I/soft/php-5.2.5/php-5.2.5/ext/date/lib
-I/usr/local/jpeg6/include -I/usr/local/include -I/usr/local/freetype/include
    ...  ...

(5)使用“make test”命令对编译结果进行测试,命令行如下所示:

    # make test
    PASS version string [sapi/cli/tests/001.phpt]
    SKIP running code with -r [sapi/cli/tests/002-win32.phpt] reason: only for Windows
    PASS running code with -r [sapi/cli/tests/002.phpt]
    PASS defining INI options with -d (as 2nd arg) [sapi/cli/tests/003-2.phpt]
    ...  ...
    =====================================================================
    TIME END 2008-01-21 21:23:22
    =====================================================================
    TEST RESULT SUMMARY
    ---------------------------------------------------------------------
    Exts skipped    :   52
    Exts tested     :   27
    ---------------------------------------------------------------------
    Number of tests : 4566            3611
    Tests skipped   :  955 ( 20.9%) --------
    Tests warned    :   3 (  0.1%) (  0.1%)
    Tests failed    :   6 (  0.1%) (  0.2%)
    Tests passed    : 3602 ( 78.9%) ( 99.8%)
    ---------------------------------------------------------------------
    Time taken      :  491 seconds
    ...  ...

(6)使用“make install”命令进行安装,命令行如下所示:

    # make install
    Installing PHP SAPI module:      apache2handler
    /usr/local/apache/build/instdso.sh SH_LIBTOOL='/usr/local/apache/build/libtool'
libphp5.la /usr/local/apache/modules
    /usr/local/apache/build/libtool --mode=install cp libphp5.la
/usr/local/apache/modules/
    cp .libs/libphp5.so /usr/local/apache/modules/libphp5.so
    cp .libs/libphp5.lai /usr/local/apache/modules/libphp5.la
    ...   ...

(7)建立php配置文件。将当前目录下的文件php.ini-dist换名复制到/usr/local/php/lib目录下,且重命名为php.ini,如下所示:

    # cp php.ini-dist  /usr/local/php/lib/php.ini

(8)修改Apache配置文件httpd.conf,添加PHP支持。使用vi打开/etc/httpd/httpd.conf文件,找到“#AddType application/x-gzip .tgz”项,在其下方添加“AddType application/x-httpd-php .php”,如下所示:

    # vi /etc/httpd/httpd.conf
    ...  ...
    <IfModule mime_module>
        #
        # TypesConfig points to the file containing the list of mappings from
        # filename extension to MIME-type.
        #
        TypesConfig /etc/httpd/mime.types
        #
        # AddType allows you to add to or override the MIME configuration
        # file specified in TypesConfig for specific file types.
        #
        #AddType application/x-gzip .tgz
        AddType  application/x-httpd-php .php  //添加对PHP的支持
        # AddEncoding allows you to have certain browsers uncompress
        # information on the fly. Note: Not all browsers support this.
        #
        #AddEncoding x-compress .Z
        #AddEncoding x-gzip .gz .tgz
        #
        # If the AddEncoding directives above are commented-out, then you
        # probably should define those extensions to indicate media types:
        #
    ...  ...

(9)建立简单的PHP测试文件,对PHP进行测试。在/usr/local/apahce/htdocs目录下建立test.php文件,内容如下所示:

    <?php
    phpinfo( );
    ?>

在浏览器中运行该文件,如果出现如图7-12所示内容,则表示PHP安装成功。

图7-12 PHP安装成功

从图7-12可以看到,当前PHP的版本已升级为5.2.5。安装时执行的配置命令为“./configure--prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql -with-libxml-dir=/usr/local/libxml2 --with-png-dir=/usr/local/lib --with-jpeg-dir=/usr/local/jpeg6 --with-zlib -dir=/usr/local/zlib --with-freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd --enable-soap -- enable-mbstring

=all”。拖动图7-12中右侧滚动条,还可以查看到Apache的相关信息,如图7-13所示。

图7-13 Apache配置信息

从图7-13可以看到,当前Apache的版本号为2.2.8,系统根目录为“/usr/local/apache”,Apache API版本号为“20051115”。继续拖动右侧滚动条,查看MySQL的相关信息如图7-14所示。

图7-14 MySQL的配置信息

从图7-14可以看到,当前MySQL的版本已升级为5.0.51,MySQL_SOCKET目录被设定为“/tmp/mysql.sock”。继续拖动右侧滚动条,查看GD库的相关配置信息如图7-15所示。

图7-15 GD库配置信息

从图7-15可以看到,当前GD版本为2.0,且支持“FreeType”、“GIF”、“JPG”、“PNG”和“WBMP”。

7.4.7 安装Firefox

Firefox2的安装相对容易。

(1)首先将Firefox2.0中文版压缩包firefox-2.0.0.9.zh-CN.linux-i686.tar.gz解压。命令如下所示:

    #tar zxvf  firefox-2.0.0.9.zh-CN.linux-i686.tar.gz

(2)打开解压后的目录窗口,如图7-16所示。

图7-16 Firefox解压后目录

(3)双击目录中名为“firefox”的文件,在弹出的如图7-17所示对话框中选择【运行】即可。

图7-17 选择【运行】Firefox