8.1.2 使用源码包编译安装Apache
Apache是Apache软件基金会的一个开源Web服务器。Apache的前身是NCSAhttpd,当该项目停顿后,原先使用该服务器软件的人们架设了一个论坛用以交换各自开发的补丁程序,在这个软件被开源后还不断有人为它开发新功能、新特性,以及发布修正bug的补丁,大家笑谈它其实就是一个充满补丁的软件,所以称其为“a patchy server”,后简称Apache。由于其具有良好的安全性和跨平台(几乎可以运行在各类操作系统平台之上),因此被广泛使用,并成为最流行的Web服务器软件之一。事实上,Apache至今依然是世界上使用比例最高的Web服务器(市场占有率一度达到60%),有很多著名的网站都在使用它。它的特点是简单、快速、稳定,支持SSL加密、虚拟主机等功能。同时由于其模块化程度非常高,使得它极易进行功能扩展。
经过上一节的铺垫,我们已经了解了编译安装软件的原理以及一般必要的步骤。本节将演示如何编译安装Apache,希望读者能跟着动手实践,增强对编译安装软件的理解。
首先下载Apache的源码包,下载地址为:
http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.23.tar.gz 当前Apache最稳定的大版本为2.2,如果想使用不同的版本,可到Apache的官方主页http://www.apache.org下载。
在Linux系统中,一般在usrlocal/src/目录里下载源码包(这不是硬规定,而是一个良好的习惯),进入该目录后可使用wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.2.23.tar.gz命令下载,如图8-1所示。
图8-1 下载Apache源码包
下载完成后把源码包解压出来,并进入usrlocal/src/httpd-2.2.23目录,如图8-2所示。
图8-2 解压文件并进入安装目录
进入目录后,需要使用configure工具生成Makefile,运行configure的方式如下:
- [root@localhost httpd-2.2.23]# ./configure --
- 参数1 --
- 参数2...
由于配置Apache时可以加入的参数非常多,而且对于新手来说也确实很难搞明白那么多参数各自的意义(具体的可用参数可以在usrlocal/src/httpd-2.2.23/configure中看到),因此这里介绍两个比较简单的参数来完成配置。第一个参数是—prefix=usrlocal/apache/,用于指定安装路径,一般来说建议自行编译安装的软件放置的目录为usrlocal/;第二个参数是—enable-modules=most,用于启用Apache的绝大部分模块,非常适合新手使用。在按回车键后configure会产生大量的输出,包括检查编译环境(是否有gcc工具以及软件依赖关系)等,中间出现任何错误都会导致配置失败(会有error报错并中断配置过程)。如果一切顺利,将会在当前目录下生成Makefile文件,如图8-3所示。然后使用make和make install安装即可。此处也会产生大量输出,如图8-4所示。完成后将会出现usrlocal/apache目录。
图8-3 配置Apache编译参数
图8-4 编译并安装Apache 安装完成后,使用以下命令启动Apache服务,并查看一下80端口,确认80端口已经被http的进程占用。
- [root@localhost ]# usrlocal/apache/bin/apachectl start
- [root@localhost ]# lsof -i:80
- COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
- httpd 7149 root 3u IPv6 59986 TCP :http (LISTEN)
- httpd 7150 daemon 3u IPv6 59986 TCP :http (LISTEN)
- httpd 7151 daemon 3u IPv6 59986 TCP :http (LISTEN)
- httpd 7152 daemon 3u IPv6 59986 TCP :http (LISTEN)
- httpd 7153 daemon 3u IPv6 59986 TCP :http (LISTEN)
- httpd 7154 daemon 3u IPv6 59986 TCP :http (LISTEN)
最后,使用浏览器访问一下服务器的IP(使用ifconfig命令查看服务器IP),如果你看到如图8-5所示的界面,说明安装成功了。
图8-5 访问Apache