3.2 Apache的获取和安装

本节开始介绍Apache的获取和安装过程,用户可以到网上下载Apache的安装手册,安装手册将逐步地引导读者完成从Apache源码下载到源码编译的整个过程。

3.2.1 Apache获取及其最新信息

用户可以到Apache的官方网站下载Apache的安装程序。同时Apache是自由软件,用户还可以下载所有源程序。Apache的官方网站是http://www.apache.org,下载网址为:http://apache.freelamp.com/httpd/。到目前为止,Apache最新测试版本为2.2,流行的版本为2.0.54。http://httpd.apache.org/docs-2.1/new_features_2_2.html给出了2.2版本的许多新特性。Apache提供了不同平台的版本。在UNIX平台和与UNIX兼容平台Linux下的软件包文件名为httpd-2.0.54.tar.gz和httpd-2.0.54.tar.bz2两种,分别是对应gz压缩格式和bz2压缩格式的源代码包。在Apache的官方网站上还可以直接下载Windows平台的源代码包httpd-2.0.54-win32-src.zip和二进制可执行文件apache_2.0.54-win32-x86-no_ssl.msi。这里假设用户下载是Linux版本的软件包httpd-2.0.54.tar.gz或httpd-2.0.54.tar.bz2。在Red Hat Linux 9安装盘里还提供了Apache的RPM安装包。下面几节将分别详细讲述基于这三种软件包的Apache的安装过程。

3.2.2 用httpd-2.0.54.tar.gz软件包安装Apache

假设用户将下载下来的httpd-2.0.54.tar.gz软件包放在/tmp目录下。

1.对该软件包进行解压缩和解包

在用httpd-2.0.54.tar.gz软件包安装Apache之前,首先需要对该软件包进行解压缩和解包。用以下命令完成软件包的解压缩和解包:

    //对软件包进行解压缩和解包处理
    #cd /tmp                       //首先改变当前目录为软件包所在目录
    #ll                               //显示当前目录下所有文件
    -rwx------   1 root    root     7508193  6月 23 21:08 httpd-2.0.54.tar.gz
    #tar xvfz httpd-2.0.54.tar.gz  //对软件包解压缩和解包
    //再显示当前目录下所有文件,可以发现已经解压缩解包成功,多了一个目录
    # ll
    总用量 7352
    drwxr-xr-x  11 1000    1000       4096   6月 23 21:09 httpd-2.0.54
    -rwx------   1 root    root     7508193  6月 23 21:08 httpd-2.0.54.tar.gz

2.运行源代码目录下的configure命令

解压缩后,进入源代码的目录httpd-2.0.54,并使用配置脚本进行环境的设置。相应的命令为:

    #cd httpd-2.0.54              //改变当前目录为httpd-2.0.54目录
    #./configure                  //执行该目录下配置脚本程序
    checking for chosen layout... Apache
    checking for working mkdir -p... yes
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking target system type... i686-pc-linux-gnu
    Configuring Apache Portable Runtime library ...
    checking for APR... reconfig
    configuring package in srclib/apr now
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    ...

3.编译源代码

在执行./configure之后,配置脚本会自动生成Makefile。如果在设置的过程中没有任何的错误,就可以开始编译源代码了。相应的命令及其显示结果如下:

    #make
    /tmp/share/httpd-2.0.54/srclib/apr/libtool --silent --mode=compile gcc  -g
    -O2 -pthread   -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE
    -D_SVID_SOURCE -D_GNU_SOURCE -DAP_HAVE_DESIGNATED_INITIALIZER
    -I/tmp/share/httpd-2.0.54/srclib/apr/include
    -I/tmp/share/httpd-2.0.54/srclib/apr-util/include -I.
    -I/tmp/share/httpd-2.0.54/os/UNIX
    -I/tmp/share/httpd-2.0.54/server/mpm/prefork
    -I/tmp/share/httpd-2.0.54/modules/http
    -I/tmp/share/httpd-2.0.54/modules/filters
    -I/tmp/share/httpd-2.0.54/modules/proxy -I/tmp/share/httpd-2.0.54/include
    -I/tmp/share/httpd-2.0.54/modules/generators
    -I/tmp/share/httpd-2.0.54/modules/dav/main -prefer-non-pic -static -c
    request.c && touch request.lo
    ...

4.用make install命令安装

在源代码编译完成后,就可以使用make install安装Apache至默认的目录/usr/local/apache下。安装过程终端显示结果如下:

    # make  install
    Making install in srclib
    make[1]: Entering directory '/tmp/share/httpd-2.0.54/srclib'
    Making install in apr
    make[2]: Entering directory '/tmp/share/httpd-2.0.54/srclib/apr'
    sed 's,^\(location=\).*$,\1installed,' < apr-config > apr-config.out
    Making all in strings
    make[3]: Entering directory '/tmp/share/httpd-2.0.54/srclib/apr/strings'
    make[4]: Entering directory '/tmp/share/httpd-2.0.54/srclib/apr/strings'
    make[4]: Nothing to be done for 'local-all'.
    make[4]: Leaving directory '/tmp/share/httpd-2.0.54/srclib/apr/strings'
    make[3]: Leaving directory '/tmp/share/httpd-2.0.54/srclib/apr/strings'
    Making all in passwd
    make[3]: Entering directory '/tmp/share/httpd-2.0.54/srclib/apr/passwd'
    make[4]: Entering directory '/tmp/share/httpd-2.0.54/srclib/apr/passwd'
    make[4]: Nothing to be done for 'local-all'.
    ...

这样,基于gzip软件包的Apache安装就全部完成了,用户就可以使用如下命令启动Apache服务器了:

    //将当前目录改为Apache的默认安装路径
    #cd /usr/local/apache/bin
    //启动Apache
    #./apachectl start.

3.2.3 用httpd-2.0.54.tar.bz2软件包安装Apache

用httpd-2.0.54.tar.bz2软件包安装Apache与上面介绍的使用httpd-2.0.54.tar.gz软件包安装Apache的方法类似。假设用户将下载下来的httpd-2.0.54.tar.bz2软件包放在/tmp目录下。

1.对该软件包进行解压缩和解包

用httpd-2.0.54.tar.bz2软件包安装Apache之前,同样需要对该软件包进行解压缩和解包。bzip2压缩格式软件包的解压缩与gzip格式稍微有点区别。用以下命令完成软件包的解压缩和解包处理:

    //对软件包进行解压缩和解包处理
    #cd /tmp                           //首先改变当前目录为软件包所在目录
    #ll                                   //显示当前目录下所有文件
    -rwx------   1 root    root     7508193  6月 23 21:08 httpd-2.0.54.tar.bz2
    #bunzip2 httpd-2.0.54.tar.bz2      //对软件包解压缩
    //再显示当前目录下所有文件,可以发现已经解压缩解包成功,
    //当前目录下多了一个tar文件
    # ll
    -rwx------   1 root    root     8508193  6月 23 21:08 httpd-2.0.54.tar
    //将tar文件解包
    #tar xvf httpd-2.0.54.tar

2.运行源代码目录下的configure命令

解压缩后,进入源代码的目录httpd-2.0.54,并使用配置脚本进行环境的设置。相应的命令为:

    #cd httpd-2.0.54                   //改变当前目录为httpd-2.0.54目录
    #./configure                       //执行该目录下配置脚本程序

3.编译源代码

在执行./configure之后,配置脚本会自动生成Makefile。如果在设置的过程中没有任何的错误,就可以开始编译源代码了。编译也是使用make命令。

4.用make install安装

编译完成后就可以用make install命令实际安装Apache了。安装的过程与上一小节的相似,这里不再赘述。

3.2.4 用RPM软件包安装Apache

Apache的RPM软件包既可以在Red Hat Linux 9安装光盘上找到,也可以在Red Hat的FTP服务器上找到。在Red Hat Linux 9光盘中,其文件名为httpd-2.0.40-21.i386.rpm,执行如下命令即可完成Apache的安装:

    #rpm -ivh httpd-2.0.40-21.i386.rpm

ApacheRPM将把文件安装在如下的目录中:

● ./etc/httpd/conf:这一目录包含Apache的所有配置文件,包括access.conf、httpd.conf和srm.conf。

● ./etc/rc.d/:位于这一目录下的目录树包含系统的启动脚本。ApacheRPM在这里安装了Web服务器的整套脚本,这些脚本可用来从命令行启动和停止服务器,并且也可在工作站关闭、启动或重新引导时自动启动或停止服务器。

● ./home/httpd:RPM在这一目录安装默认的服务器图标、CGI脚本和HTML文件。如果想在其他地方保存Web内容,通过在服务器的配置文件适当的地方进行更改可以实现。

● ./usr/doc和/usr/man:RPM包含手册页和readme文件,它们被放在这些目录中。像大多数RPM软件包一样,readme文件以及其他相关的文档放在/usr/doc下的一个以服务器软件包的版本命名的目录中。

● ./usr/sbin:可执行程序放在这一目录中。包括服务器程序本身,还有各种工具,如用于创建验证口令文件的htpasswd程序。

● ./var/log/http:服务器日志文件存放于该目录。在默认情况下,有两个日志文件—access_log和error_log,但是可以定义任意多个包含各种信息的自定义日志文件。

★ 注意 ★

如果要升级Apache到更新的版本,RPM不会覆盖当前的配置文件。RPM将当前文件名后添加.rpmnew的后缀。例如,srm.conf变为srm.conf.rpmnew。