本文仅阐述Apache在Unix和类Unix系统中的编译和安装,在Windows中的编译和安装可以参见Using Apache with Microsoft Windows,其他平台可以参见platform。
Apache 2.0的安装配置环境与Apache 1.3完全不同了。Apache 1.3使用了一个自定义的脚本来简化安装;而Apache 2.0现在也象其他许多开放代码工程一样,利用libtool和autoconf来建立安装环境。
http://blog.supercn.net/archives/2004/09/20/181/
本文仅阐述Apache在Unix和类Unix系统中的编译和安装,在Windows中的编译和安装可以参见Using Apache with Microsoft Windows,其他平台可以参见platform。
Apache 2.0的安装配置环境与Apache 1.3完全不同了。Apache 1.3使用了一个自定义的脚本来简化安装;而Apache 2.0现在也象其他许多开放代码工程一样,利用libtool和autoconf来建立安装环境。
- 概要
- 要求
- 下载
- 解压
- 代码树的设置
- 编译
- 安装
- 配置
- 测试
概要
| Download | $ lynx http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz |
| Extract | $ gzip -d httpd-2_0_NN.tar.gz |
| Configure | $ ./configure --prefix=PREFIX |
| Compile | $ make |
| Install | $ make install |
| Customize | $ vi PREFIX/conf/httpd.conf |
| Test | $ PREFIX/bin/apachectl start |
其中NN必须用当前副版本号替代;PREFIX是服务器被装到文件系统中的路径名,如果没有指定PREFIX,默认会被装到/usr/local/apache2。
下面会详细阐述编译和安装的每个步骤,先从编译和安装Apache HTTPD的要求开始。
要求
编译Apache的要求如下:
- 磁盘空间
- 必须保证有50MB以上的临时磁盘自由空间。Apache安装完毕后会占据10MB左右的空间,实际磁盘需求会因编译设置和是否安装第三方模块而有所不同。
- ANSI-C编译器及其支持环境
- 必须装有ANSI-C编译器,推荐使用来自Free Software Foundation (FSF)的GNU C compiler (GCC)(2.7.2版本很好)。如果没有GCC,那么要确保现有的编译器符合ANSI标准,而且
PATH中必须包含指向基本编译工具比如make的路径。 - 确保正确的时间
- 由于HTTP协议的元素都会用到时间,有必要了解一下你的系统的时间同步机制。在基于Network Time Protocol (NTP)的系统校话闶怯?code>ntpdate或
xntpd来同步时间。有关NTP软件和公共时间服务器的资料请参见Usenet新闻组comp.protocols.time.ntp和NTP homepage。 - Perl 5 [可选]
- 有些用Perl写的支持脚本,如apxs和dbmmanage,会需要Perl 5解释器(5.003或以上版本就足够了),如果`
configure‘没找到这样的解释器也没关系,并不影响Apache 2.0的编译和安装,只是这些支持脚本不能用而已。如果系统中存在多个Perl 解释器,比如有厂商提供的Perl 4,还有你自己找来的Perl 5,推荐用--with-perl选项来确保脚本./configure使用正确的版本。
下载
Apache可以从Apache Software Foundation download site及其镜像站点下载。
版本号缀有alpha的是预测试版本,其运行可能正常也可能不正常;缀有beta的是仍需要测试和纠错的较可靠的版本。要下载最好的Apache HTTP Server的发行版,就应该选择最新的,而且文件名中既没有alpha也没有beta的版本。
下载完毕后,尤其是从镜像站点下载的,应该对下载来的tar包作PGP签名校验,以确保其完整而且未被篡改过。校验有两个步骤,第一步,必须从Apache distribution site获得一个密钥(KEYS)(为确保此密钥文件本身未被篡改,使用Apache早先发行版中的或者导入来自公共密钥服务器的密钥也许是个好办法),用以下命令导入到你的个人密钥环中(可能会因你的PGP版本有所不同):
$ pgp < KEYS
或
$ gpg --import KEYS
第二步,从main Apache website获得PGP签名以校验tar包。这个签名的文件名由其原tar包文件名后附加.asc组成。接着,用以下命令来校验发行版(也可能会因你的PGP版本有所不同):
$ pgp httpd-2_0_NN.tar.gz.asc
或
$ gpg --verify httpd-2_0_NN.tar.gz.asc
应该会看见这样的信息:
Good signature from user "Martin Kraemer
也可能会看见“the relationship between the key and the signer of the key cannot be verified”的信息,其原因与你的密钥环中的信任关系有关,如果你信任这个密钥文件,那就没关系。






