日期:2014-05-16  浏览次数:20941 次

apache2配置参数详解--转自网络

解压缩apache安装包,进入apache文件夹。

安装:

apache2.2.9
./configure --prefix=/usr/local/apache2 --enable-http --enable-modules=all --enable-rewrite --enable-so --enable-cgi --enable-cgid --enable-deflate=shared --enable-cache --enable-file-cache

make
make install

注解:
./configure //配置源代码树
--prefix=/usr/local/apache2 //体系无关文件的顶级安装目录PREFIX ,也就Apache的安装目录。
--enable-module=so //打开 so 模块,so 模块是用来提 DSO 支持的 apache 核心模块
--enable-deflate=shared //支持网页压缩
--enable-expires=shared //支持 HTTP 控制
--enable-rewrite=shared //支持 URL 重写
--enable-cache?? //支持缓存
--enable-file-cache?? //支持文件缓存
--enable-mem-cache?? //支持记忆缓存
--enable-disk-cache?? //支持磁盘缓存
--enable-static-support //支持静态连接(默认为动态连接)
--enable-static-htpasswd //使用静态连接编译 htpasswd - 管理用于基本认证的用户文件
--enable-static-htdigest //使用静态连接编译 htdigest - 管理用于摘要认证的用户文件
--enable-static-rotatelogs //使用静态连接编译 rotatelogs - 滚动 Apache 日志的管道日志程序
--enable-static-logresolve //使用静态连接编译 logresolve - 解析 Apache 日志中的IP地址为主机名
--enable-static-htdbm //使用静态连接编译 htdbm - 操作 DBM 密码数据库
--enable-static-ab //使用静态连接编译 ab - Apache HTTP 服务器性能测试工具
--enable-static-checkgid //使用静态连接编译 checkgid
--disable-cgid //禁止用一个外部 CGI 守护进程执行CGI脚本
--disable-cgi //禁止编译 CGI 版本的 PHP
--disable-userdir //禁止用户从自己的主目录中提供页面
--with-mpm=worker // 让apache以worker方式运行
--enable-authn-dbm=shared // 对动态数据库进行操作。Rewrite时需要。

/usr/local/apache/bin/apachectl -M?? =-t -D DUMP_MODULES 安装了哪些模块
/usr/local/apache/bin/apachectl -t??? 测试安装是否成功
/usr/local/apache/bin/apachectl -k start|restart|stop 查看详细

?

?

说明:
本学习记录是在Redhat Linux4u4和apache2.2.9环境下进行测试记录的。//源文件
httpd-2.2.9.tar.gz//upload apache源文件
存放路径:/usr/local/src/下//解压
# cd /usr/local/src
# tar zxvf httpd-2.2.9.tar.gz//配置、编译、安装
配置方法知识:
最简要的安装概述:
下载  $ wget http://apache.mirror.phpchina.com/httpd/httpd-2.2.9.tar.gz
(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
测试  $ PREFIX/bin/apachectl -k start其中NN必须用当前的副版本号替代;PREFIX是服务器被安装到文件系统中的路径名,如果没有指定PREFIX,默认会装到/usr/local/apache2。
要 想用所有的默认值配置源代码树只要简单的执行 ./configure 命令就可以了,同时configure还可以接受命令行参数以改变默认值。最重要的选项是Apache安装目录的前缀:--prefix ,因为Apache需要知道这个目录才能正常运作。可以通过在配置选项中指定要启用或禁用哪些模块来定制Apache的特性。Base组的模块默认包含在 Apache中。其他组的模块可以通过 --enable-module 指令启用。其中module是模块名去掉"mod_"并将下划线转换成连字符后的字符串。你也可以使用 --enable-module=shared 指令将模块编译为可在运行时加载和卸载的动态共享对象(DSO)。同样的,你也可以使用 --disable-module 指令禁用Base组的模块。注意,使用这些指令的时候configure不会对你拼写错误的模块发出警告说找不到某某模块,而只是简单的忽略这个选项。
另外,有时候还必须提供给configure脚本关于编译器、库、头文件位置的更多信息。这些可以通过环境变量或者命令行选项传递给configure脚本。 我对安装的理解总结:
1)Base组的模块默认包含在Apache之中,如要禁用Base组模块,可用--disable-module指令。
2)其它非Base组模块可以通过--enable-module指令启用。
3)也可以使用—enable-module=shared将模块编译为可在运行时加裁和卸载的动态共享对象(DSO)。
4)configure不进行拼写检查,而是忽略些选项。
5)有时还要为特殊的需求,提供给configure脚本关于编译器、库、头文件的更多信息。

##########################################################
#### 以下为8种不同configuer参数的安装实例以及说明 ####
##########################################################1)仅指定目录的默认配置
./configure --prefix=/usr/local/apache2
Make
Make install默认安装的module有:(共26个,这26个module就是BASE组模块)
[root@yy httpd-2.2.9]# /usr/local/apache/bin/httpd -l
Compiled in modules:
core.c
mod_authn_file.c
mod_authn_default.c
mod_authz_host.c
mod_authz_groupfile.c
mod_authz_user.c
mod_authz_default.c
mod_auth_basic.c
mod_include.c
mod_filter.c
mod_log_config.c
mod_env.c
mod_setenvif.c
prefork.c
http_core.