Apache 工具箱
Apache Web 服务器是在 Linux 系统上运行的最常见的应用程序之一。虽然大多数发行版都自带 Apache,但有时您可能需要运行最新版本及其所有模块。手动获取所有源代码,然后配置、编译和安装每个部分可能是一项艰巨的任务。Apache 工具箱提供了一种更简单的方法来完成所有这些操作。
Apache 工具箱由 Bryan Andrews 编写,为配置和编译 Apache 以及获取任何需要的源代码提供了一个方便的前端。除了 Apache 自带的模块外,该工具箱还可以配置和编译诸如 PHP 和 MySQL 等程序(有关完整的软件列表,请参见表 1)。它还编译并安装最新的 gd 库,用于创建 JPEG 和 PNG 文件。
Apache 工具箱有两种形式:大型文件(约 12MB)和小型文件。大型文件包含工具箱脚本以及 Apache 和大多数模块的源代码;小型文件仅包含 Apache 工具箱脚本。由于 Apache 工具箱尝试下载任何缺少的源代码,如果您拥有最新的 Linux 发行版或快速的互联网连接,则使用较小的文件是有意义的。
如果您下载了大型 Apache 工具箱 tarball 文件,它将解压到一个名为 www-src 的目录中。此目录包含 Apache 和所有模块的源代码的压缩 tarball 文件。Apache 工具箱脚本,名为 install.sh,也在此目录中。
要启动 Apache 工具箱,请切换到 root 用户并运行 install.sh 脚本。这将显示一个程序和模块菜单,可以从中选择(参见图 1)。通过键入项目旁边的数字或字母进行选择。程序根据您的选择执行健全性检查。例如,当选择 mod_python 模块时,它确保系统上安装了 Python。当输入“99”时,程序还会显示模块的描述。模块有两页,99 命令仅显示当前页面的描述。
完成所有选择后,键入 go 以启动构建过程。工具箱首先会警告您任何已安装的 RPM 与其将要安装的软件冲突。您可以选择继续编译过程或退出以删除有问题的软件包。如果您退出以删除有问题的 RPM,Apache 工具箱会在您重新启动时记住您的设置。
Apache 工具箱使用 wget 下载它需要的任何软件包。如果您的机器上未安装 wget,工具箱可以使用 Lynx 下载并为您安装。所有模块的 FTP 位置都硬编码在 install.sh 脚本中,因此您可以验证它们以确保您获得的是合法文件。
执行 wget 检查后,系统会询问您是否要更改 Apache 的默认安装路径。在此问题之后,Apache tarball 文件将被解压缩。如果程序在 www-src 目录中找到现有的 Apache 源代码,您可以选择备份它。接下来,Apache 将根据您所做的选择进行预配置。
完成后,选定的模块将被解压缩、构建和安装。如果脚本找不到模块的源代码,系统会询问您是否应该下载它。Apache 工具箱使用 installwatch 库将每个模块的编译和安装过程的结果记录到 logs 目录中。
如果您选择安装 PHP,您可以选择编辑其配置文件。您可以使用您选择的编辑器编辑该文件,PHP 构建过程将在您完成后继续。
编译完所有模块后,您可以选择修改 Apache 配置文件。之后,工具箱会根据您选择的模块定制 Apache Makefile。然后您必须通过切换到 Apache 源代码目录并键入 make 来编译和安装 Apache。如果 Apache 编译没有错误,则键入 make install 进行安装。
由于 Apache 工具箱使用最新版本的 Apache、PHP 等,因此拥有较新的 Linux 发行版非常重要。我尝试使用 Apache 工具箱的第一台机器是一台较旧的机器,运行 SuSE 6.1,installwatch 库和 PHP 无法在其上编译。我换到一台运行 Red Hat 6.2 的机器,一切编译顺利。
我最初下载了包含源代码的大型 Apache 工具箱 tarball 文件。当新版本发布时,我只下载了小型 Apache 工具箱文件,并将较新的 install.sh 脚本放在我现有的 www-src 目录中。即使较新的脚本应该使用更新版本的 PHP,它仍然使用旧版本 Apache 工具箱安装的版本。一旦我删除了早期版本的 Apache 工具箱创建的配置文件 (config.cache),就使用了较新版本的 PHP。
虽然 Apache 工具箱自动化了配置、编译和安装过程,但您可能需要手动完成一些操作。例如,修改您的配置文件以启动 Apache 或更改默认的 MySQL 密码。
Apache 工具箱菜单和描述页面比正常显示器上容纳的内容长几行,因此您可能需要滚动一下才能阅读所有内容。我还注意到,某些模块(例如 mod_auth_radius 和 mod_auth_POP3)的描述在描述页面中缺失。
Apache 工具箱自动化了获取和编译 Apache 及 Apache 模块的过程。它验证您的系统是否具备运行模块的先决条件,并警告已安装的 RPM 与其正在安装的软件冲突。其简单的菜单界面使您可以轻松配置 Apache 以使用各种不同组合的模块。虽然它没有自动化整个过程,但它确实处理了最繁琐的任务。
