一、环境
APR and APR-Util
如果系统中没有APR和APR-Util或不是最新版本,下载Apache APR,解压到{httpd解压目录}/srclib/apr和{httpd解压目录}/srclib/apr-util(确认目录名中不含版本号),并且在配置时使用./configure的 --with-included-apr选项。
Perl-Compatible Regular Expressions Library(PCRE)
这个包是必要的,但是他不在包含在httpd的安装文件里。从http://www.pcre.org下载源码或安装。如果系统没有找到pcre-config脚本文件,则使用--with-pcre参数。
Disk Space
确认有至少50MB的硬盘存储空间,安装之后约10MB
ANSI-C Compiler and Build System
确认安装了ANSI-C compiler。推荐GNU C compiler(GCC)。
Accurate time keeping
保质时间精确。最好使用NTP服务同步时间。
Perl 5[optional]
某些组件是用perl语言写的,如apxs或dbmanage。
?
二、解压
(注意压缩文件的权限)
tar xzvf httpd-NN.tar.gz
将httpd压缩文件加压到当前目录下,文件夹名为httpd-NN。(NN是版本号)
?
三、配置源文件
使用默认设置,直接敲入./configure即可。变更默认设置参考:configure
最重要的选项是--prefix,设置安装目录。 如:./configure --prefix=/usr/apache/httpd2.4 --with-included-apr
?
四、编译
$ make
耐心等待编译完成。
?
五、安装
$ make install
这个步骤需要roo权限,并对安装目录PREFIX有些权限。
?
六、配置httpd
$ vi PREFIX/conf/httpd.conf
最简单的就是修改一下ServerName,改为机器IP地址。
其他怎么配置这里就不说了,提供一下官方文档的链接:http://httpd.apache.org/docs/2.4/zh-cn/
?
七、测试
立即启动:$ PREFIX/bin/apachectl -k start
可以将这个命令写在rc.local中,这样系统启动时会自动启动http。
打开浏览器,http://localhost
可以看到?
DocumentRoot中的内容。默认是PREFIX/htdocs/
立即关闭:$ PREFIX/bin/apachectl -k stop
立即重启:$ PREFIX/bin/apachectl -k restart
?
优雅的重启:$PREFIX/bin/apachectl -k graceful ?(可能会有一些情况导致优雅重启失败)
优雅的关闭:$PREFIX/bin/apachectl -k graceful-stop ?(可能会有一些情况导致优雅关闭死锁)
?
八、升级
先阅读CHANGES文件搞清楚新版本有哪些改动对你的应用有影响。
如果是跨主要版本升级(从2.0到2.2或从2.2到2.4),则所有文件都必须重新编译并安装。
如果是次要版本升级(从2.2.55到2.2.57),相对容易,在安装过程中有些文件不会被覆盖,如日志文件,配置文件等。开发人员应避免不兼容的配置或次要版本模块间的API变化。大多数情况下,可以用相同的配置命令,相同的运行配置文件让新版本继续工作。
跨主要版本升级,可以用config.nice这个文件,它记录了上次安装时配置的信息。你可以在安装目录的build目录中或源码目录的根目录下找到这个文件。