apache的安装总结-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 6315285
  • 博文数量: 162
  • 博客积分: 3600
  • 博客等级: 中校
  • 技术积分: 10366
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-19 11:23
个人简介

专注系统运维、网络架构,研究技术凯发app官方网站的解决方案,记录我的思想轨迹、工作学习、生活和关注的领域

文章分类
文章存档

2014年(2)

2013年(16)

2012年(27)

2011年(117)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: 系统运维

2011-03-24 14:00:17

apache安装学习总结
 
说明:
本学习记录是在redhat linux5.4和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
( )
解压  $ 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.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_so.c
[root@yy httpd-2.2.9]# ls /usr/local/apache2/modules
httpd.exp
[root@yy bin]# ./apachectl -v
server version: apache/2.2.9 (unix)
server built:   sep 27 2008 01:01:51
server's module magic number: 20051115:15
server loaded:  apr 1.3.0, apr-util 1.3.0
compiled using: apr 1.3.0, apr-util 1.3.0
architecture:   32-bit
server mpm:     prefork
  threaded:     no
    forked:     yes (variable process count)
server compiled with....
 -d apache_mpm_dir="server/mpm/prefork"
 -d apr_has_sendfile
 -d apr_has_mmap
 -d apr_have_ipv6 (ipv4-mapped addresses enabled)
 -d apr_use_sysvsem_serialize
 -d apr_use_pthread_serialize
 -d single_listen_unserialized_accept
 -d apr_has_other_child
 -d ap_have_reliable_piped_logs
 -d dynamic_module_limit=128
 -d httpd_root="/usr/local/apache2"
 -d suexec_bin="/usr/local/apache2/bin/suexec"
 -d default_pidlog="logs/httpd.pid"
 -d default_scoreboard="logs/apache_runtime_status"
 -d default_lockfile="logs/accept.lock"
 -d default_errorlog="logs/error_log"
 -d ap_types_config_file="conf/mime.types"
 -d server_config_file="conf/httpd.conf"
 
 
2)指定目录的默认配置,不安装以上默认的某个module(以不安装mod_status.c为例),另外还要加安mod_expires、headers、deflate模块。
[root@yy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --disable-status --enable-expires --enable-headers --enable-deflate
(以下配置不可以执行:
[root@yy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --disable-modules=status --enable-modules=expires --enable-modules=headers --enable-modules=deflate)
make
make install
[root@yy 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_deflate.c
  mod_log_config.c
  mod_env.c
  mod_expires.c
  mod_headers.c
  mod_setenvif.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_autoindex.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_so.c

[root@yy httpd-2.2.9]# ls /usr/local/apache2/modules
httpd.exp
 
3)指定目录的默认配置,通过dso安装expires、headers、deflate模块。
[root@yy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --enable-expires=shared --enable-headers=shared --enable-deflate=shared
[root@yy apache2]# ./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.c
  mod_mime.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_cgi.c
  mod_negotiation.c
  mod_dir.c
  mod_actions.c
  mod_userdir.c
  mod_alias.c
  mod_so.c
[root@yy apache2]# ls /usr/local/apache2/modules
httpd.exp
mod_deflate.so
mod_expires.so
mod_headers.so
[root@yy apache2]# grep "load" /usr/local/apache2/conf/httpd.conf
# have to place corresponding `loadmodule' lines at this location so the
# loadmodule foo_module modules/mod_foo.so
loadmodule deflate_module modules/mod_deflate.so
loadmodule expires_module modules/mod_expires.so
loadmodule headers_module modules/mod_headers.so

4)指定目录的默认配置,并用—enable-modules=most安装模块。
[root@yy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --enable-modules="most"
[root@yy httpd-2.2.9]# make
[root@yy httpd-2.2.9]# make install
[root@yy bin]# ./httpd -l
compiled in modules:
  core.c
  mod_authn_file.c
  mod_authn_dbm.c
  mod_authn_anon.c
  mod_authn_dbd.c
  mod_authn_default.c
  mod_authz_host.c
  mod_authz_groupfile.c
  mod_authz_user.c
  mod_authz_dbm.c
  mod_authz_owner.c
  mod_authz_default.c
  mod_auth_basic.c
  mod_auth_digest.c
  mod_dbd.c
  mod_dumpio.c
  mod_ext_filter.c
  mod_include.c
  mod_filter.c
  mod_substitute.c
  mod_deflate.c
  mod_log_config.c
  mod_logio.c
  mod_env.c
  mod_expires.c
  mod_headers.c
  mod_ident.c
  mod_setenvif.c
  prefork.c
  http_core.c
  mod_mime.c
  mod_dav.c
  mod_status.c
  mod_autoindex.c
  mod_asis.c
  mod_info.c
  mod_cgi.c
  mod_dav_fs.c
  mod_vhost_alias.c
  mod_negotiation.c
  mod_dir.c
  mod_imagemap.c
  mod_actions.c
  mod_speling.c
  mod_userdir.c
  mod_alias.c
  mod_rewrite.c
  mod_so.c
[root@yy apache2]# ls /usr/local/apache2/modules
httpd.exp
[root@yy conf]# grep "loadmodule" httpd.conf
# have to place corresponding `loadmodule' lines at this location so the
# loadmodule foo_module modules/mod_foo.so
 
5)指定目录的默认配置,并用--enable-modules=all安装模块。
  略:本方法应与4)相同,1)、2)、4)5)都为静态的方法安装。
 
6)指定目录的默认配置,并用--enable-mods-shared=most安装模块。
[root@yy httpd-2.2.9]# ./configure --prefix=/usr/local/apache2 --enable-mods-shared=most
[root@yy httpd-2.2.9]# make
[root@yy httpd-2.2.9]# make install
[root@yy bin]# ll /usr/local/apache2/modules/
total 2292
-rw-r--r--  1 root root   8998 sep 28 22:46 httpd.exp
-rwxr-xr-x  1 root root  24645 sep 28 22:51 mod_actions.so
-rwxr-xr-x  1 root root  32884 sep 28 22:51 mod_alias.so
-rwxr-xr-x  1 root root  22789 sep 28 22:51 mod_asis.so
-rwxr-xr-x  1 root root  26076 sep 28 22:51 mod_auth_basic.so
-rwxr-xr-x  1 root root  61070 sep 28 22:51 mod_auth_digest.so
-rwxr-xr-x  1 root root  23170 sep 28 22:50 mod_authn_anon.so
-rwxr-xr-x  1 root root  26478 sep 28 22:50 mod_authn_dbd.so
-rwxr-xr-x  1 root root  24001 sep 28 22:50 mod_authn_dbm.so
-rwxr-xr-x  1 root root  21213 sep 28 22:50 mod_authn_default.so
-rwxr-xr-x  1 root root  23760 sep 28 22:50 mod_authn_file.so
-rwxr-xr-x  1 root root  26441 sep 28 22:51 mod_authz_dbm.so
-rwxr-xr-x  1 root root  21161 sep 28 22:51 mod_authz_default.so
-rwxr-xr-x  1 root root  26916 sep 28 22:50 mod_authz_groupfile.so
-rwxr-xr-x  1 root root  26206 sep 28 22:50 mod_authz_host.so
-rwxr-xr-x  1 root root  23938 sep 28 22:51 mod_authz_owner.so
-rwxr-xr-x  1 root root  22122 sep 28 22:50 mod_authz_user.so
-rwxr-xr-x  1 root root  71215 sep 28 22:51 mod_autoindex.so
-rwxr-xr-x  1 root root  57287 sep 28 22:51 mod_cgi.so
-rwxr-xr-x  1 root root 144418 sep 28 22:51 mod_dav_fs.so
-rwxr-xr-x  1 root root 273184 sep 28 22:51 mod_dav.so
-rwxr-xr-x  1 root root  42317 sep 28 22:51 mod_dbd.so
-rwxr-xr-x  1 root root  48280 sep 28 22:51 mod_deflate.so
-rwxr-xr-x  1 root root  24606 sep 28 22:51 mod_dir.so
-rwxr-xr-x  1 root root  26682 sep 28 22:51 mod_dumpio.so
-rwxr-xr-x  1 root root  23639 sep 28 22:51 mod_env.so
-rwxr-xr-x  1 root root  30009 sep 28 22:51 mod_expires.so
-rwxr-xr-x  1 root root  46463 sep 28 22:51 mod_ext_filter.so
-rwxr-xr-x  1 root root  38425 sep 28 22:51 mod_filter.so
-rwxr-xr-x  1 root root  41942 sep 28 22:51 mod_headers.so
-rwxr-xr-x  1 root root  27530 sep 28 22:51 mod_ident.so
-rwxr-xr-x  1 root root  37834 sep 28 22:51 mod_imagemap.so
-rwxr-xr-x  1 root root  93876 sep 28 22:51 mod_include.so
-rwxr-xr-x  1 root root  41403 sep 28 22:51 mod_info.so
-rwxr-xr-x  1 root root  60413 sep 28 22:51 mod_log_config.so
-rwxr-xr-x  1 root root  25039 sep 28 22:51 mod_logio.so
-rwxr-xr-x  1 root root  39079 sep 28 22:51 mod_mime.so
-rwxr-xr-x  1 root root  78354 sep 28 22:51 mod_negotiation.so
-rwxr-xr-x  1 root root 121464 sep 28 22:51 mod_rewrite.so
-rwxr-xr-x  1 root root  31179 sep 28 22:51 mod_setenvif.so
-rwxr-xr-x  1 root root  30849 sep 28 22:51 mod_speling.so
-rwxr-xr-x  1 root root  44365 sep 28 22:51 mod_status.so
-rwxr-xr-x  1 root root  31780 sep 28 22:51 mod_substitute.so
-rwxr-xr-x  1 root root  25972 sep 28 22:51 mod_userdir.so
-rwxr-xr-x  1 root root  29320 sep 28 22:51 mod_vhost_alias.so

[root@yy bin]# ./httpd -l
compiled in modules:
  core.c
  prefork.c
  http_core.c
  mod_so.c
[root@yy conf]# grep "loadmodule" httpd.conf
# have to place corresponding `loadmodule' lines at this location so the
# loadmodule foo_module modules/mod_foo.so
loadmodule authn_file_module modules/mod_authn_file.so
loadmodule authn_dbm_module modules/mod_authn_dbm.so
loadmodule authn_anon_module modules/mod_authn_anon.so
loadmodule authn_dbd_module modules/mod_authn_dbd.so
loadmodule authn_default_module modules/mod_authn_default.so
loadmodule authz_host_module modules/mod_authz_host.so
loadmodule authz_groupfile_module modules/mod_authz_groupfile.so
loadmodule authz_user_module modules/mod_authz_user.so
loadmodule authz_dbm_module modules/mod_authz_dbm.so
loadmodule authz_owner_module modules/mod_authz_owner.so
loadmodule authz_default_module modules/mod_authz_default.so
loadmodule auth_basic_module modules/mod_auth_basic.so
loadmodule auth_digest_module modules/mod_auth_digest.so
loadmodule dbd_module modules/mod_dbd.so
loadmodule dumpio_module modules/mod_dumpio.so
loadmodule ext_filter_module modules/mod_ext_filter.so
loadmodule include_module modules/mod_include.so
loadmodule filter_module modules/mod_filter.so
loadmodule substitute_module modules/mod_substitute.so
loadmodule deflate_module modules/mod_deflate.so
loadmodule log_config_module modules/mod_log_config.so
loadmodule logio_module modules/mod_logio.so
loadmodule env_module modules/mod_env.so
loadmodule expires_module modules/mod_expires.so
loadmodule headers_module modules/mod_headers.so
loadmodule ident_module modules/mod_ident.so
loadmodule setenvif_module modules/mod_setenvif.so
loadmodule mime_module modules/mod_mime.so
loadmodule dav_module modules/mod_dav.so
loadmodule status_module modules/mod_status.so
loadmodule autoindex_module modules/mod_autoindex.so
loadmodule asis_module modules/mod_asis.so
loadmodule info_module modules/mod_info.so
loadmodule cgi_module modules/mod_cgi.so
loadmodule dav_fs_module modules/mod_dav_fs.so
loadmodule vhost_alias_module modules/mod_vhost_alias.so
loadmodule negotiation_module modules/mod_negotiation.so
loadmodule dir_module modules/mod_dir.so
loadmodule imagemap_module modules/mod_imagemap.so
loadmodule actions_module modules/mod_actions.so
loadmodule speling_module modules/mod_speling.so
loadmodule userdir_module modules/mod_userdir.so
loadmodule alias_module modules/mod_alias.so
loadmodule rewrite_module modules/mod_rewrite.so
 
7)指定目录的默认配置,并用--enable-mods-shared=all安装模块。
  略:本方法应与6)相同,为动态的方法安装。
 
8)指定目录的默认配置,以上所有配置方法安装后server mpm都为prefork,可以用--with-mpm定制运行方式。
[root@yy httpd-2.2.9]#  ./configure --prefix=/usr/local/apache2 --with-mpm=worker
[root@yy httpd-2.2.9]# make
[root@yy httpd-2.2.9]# make install
[root@yy apache2]# cd bin/
[root@yy bin]# ./httpd -v
server version: apache/2.2.9 (unix)
server built:   sep 28 2008 23:28:26
server's module magic number: 20051115:15
server loaded:  apr 1.3.0, apr-util 1.3.0
compiled using: apr 1.3.0, apr-util 1.3.0
architecture:   32-bit
server mpm:     worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
server compiled with....
 -d apache_mpm_dir="server/mpm/worker"
 -d apr_has_sendfile
 -d apr_has_mmap
 -d apr_have_ipv6 (ipv4-mapped addresses enabled)
 -d apr_use_sysvsem_serialize
 -d apr_use_pthread_serialize
 -d single_listen_unserialized_accept
 -d apr_has_other_child
 -d ap_have_reliable_piped_logs
 -d dynamic_module_limit=128
 -d httpd_root="/usr/local/apache2"
 -d suexec_bin="/usr/local/apache2/bin/suexec"
 -d default_scoreboard="logs/apache_runtime_status"
 -d default_errorlog="logs/error_log"
 -d ap_types_config_file="conf/mime.types"
 -d server_config_file="conf/httpd.conf"
阅读(4107) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图