Apache HTTP Server是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其从平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl、Python等解释器编译到服务器中。
Apache最初由伊利诺伊大学香槟分校的国家超级电脑应用中心(NCSA)开发。此后,Apache被开放源代码的成员不断的发展和加强。开始Apache只是Netscape网页服务器之外的开放源代码的选择。渐渐的,它开始在功能和速度超越其它的基于Unix的HTTP服务器。在2005,随着拥有大量域名服务器的域名服务商转换为微软件的IIS平台,Apache市场占有率有些下滑。而Google自己的网页服务器平台GWS推出后,加上Lighttpd这个轻量化网页服务器软件使用的网站慢慢增加,apache市场占有率进一步下降。
Apache支持许多特性,大部分通过编译的模块实现。这些特性从服务器端的编程支持到身份论证方案。
其开发语言为C/C++。
http://httpd.apache.org/
文档:http://httpd.apache.org/docs/2.4/
参考手册(Unix及Unix-like)
(1)编译与安装
Apache httpd就像其他的开源项目一样,使用libtool和autoconf来创建搭建环境。
下载:lynx http://httpd.apache.org/download.cgi
解压:gzip -d httpd-NN.tar.gz
tar xvf httpd-NN.tar
cd httpd-NN
配置:./configure --prefix=PREFIX
编译:make
安装:make install
定制:vi PREFIX/conf/httpd.conf
测试:RPEFIX/bin/apachectl -k start
PREFIX是apache安装路径,默认是/usr/local/apache2
(2)安装要求
要确保系统中已经安装了APR和APR-Util,可以从 http://apr.apache.org/下载,解压到./srclib/apr和./srclib/apr-util。
需要这个库,但是httpd中没有捆绑,可以从 http://www.pcre.org,下载。如果编译系统找不到PCRE生成的配置脚本,可以使用--with-pcre参数来指定。
至少需要50MB的硬盘空间,而安装会占用10MB大小的磁盘空间。真实的磁盘使用量会随着不同的配置而变化。
ANSI编译器可以使用GCC http://gcc.gnu.org/,并把所用工具添加到path环境变量里
HTTP协议的元素以时间来表达,所以需要时间同步的工具。通常使用ntpdate或xntpd,它们基于Network Time Protocl(NTP)。
(3)配置源码树
当下载并解压缩出源码后,就需要根据特定的平台和个人要求来配置Apache源码树,这个是通过configure脚本来进行的。
如果使用默认的选项,只要简单的输入./configure。如果不使用这些默认的值就需要修改configure脚本。
最重要的选项是--prefix,它用来确定Apache安装的位置。
---enable-module,--disable-module,在这个脚本中还可以开启或关闭一些脚本来为Apache修改特性。
--enable-module=static,可以对模块进行静态编译。
(4)定制
通过编辑httpd.conf文件可以定制Apache HTTP server。
(5)测试
PREFIX/bin/apachectl -k start
这时访问http://localhost/,可以访问到PREFIX/htdocs/
PREFIX/bin/apachectl -k stop