日期:2014-05-17 浏览次数:20822 次
本文描述APACHE在各个常见的环境中的安装配置和常见问题收集整理。这是一件持续的事情。
?
本文以:Apache?httpd-2.2.21 为例。?以操作系统超级管理员作为操作用户
?
?
1.windows 版本安装
windows各个版本的安装基本相同,也非常简单。windows版本安装后,所有的扩展mod都默认全部安装,只需要通过http.conf主配置文件进行LoadModule配置就OK。
?
1.下载安装包:
http://labs.renren.com/apache-mirror//httpd/binaries/win32/httpd-2.2.21-win32-x86-openssl-0.9.8r.msi
2.安装:采用自定义安装,选择安装目录后,直接安装成服务,其他所有选择默认配置。
?
2.Linux 编译安装
http://httpd.apache.org/docs/2.2/install.html
?
环境准备:
?
1.磁盘空间:50M临时文件空间,至少需要10M的程序空间。
2.编译环境:ANSI-C Compiler,推荐GCC
?
[root@hadoop00 opt]# gcc -v
Using built-in specs.
Target: i386-redhat-linux
……
gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)
?
3.apr/apr-util >= 1.2
如果apr/apr-util不存在可以再后续的安装包中先安装。
?
#?rpm -q apr
apr-1.2.7-11
?
如果版本小于1.2,则需要先安装APR和APR-util
?
?
# wget http://labs.renren.com/apache-mirror//httpd/httpd-2.2.21.tar.gz # tar -xzvf httpd-2.2.21.tar.gz # cd httpd-2.2.21?
?
安装apr/apr-util
?
# Build and install apr 1.2
cd srclib/apr
./configure --prefix=/usr/local/apr-httpd/
make
make install
?
# Build and install apr-util 1.2
cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd/ --with-apr=/usr/local/apr-httpd/
make
make install
?
# Configure httpd
cd ../../
./configure --with-apr=/usr/local/apr-httpd/ --with-apr-util=/usr/local/apr-util-httpd/
?
?
编译安装配置参数
命令:./configure
格式:./configure [OPTION]... [VAR=VALUE]...
?
根据使用场景和个人应用的不同,apache可以配置编译支持的模块功能。
主要采用如下格式:
?
?
--disable-FEATURE
定义不编译的功能. 同 --enable-FEATURE=no.
--enable-FEATURE[=ARG]
定义需要编译的功能. 默认值 ARG 表示打开.
--enable-MODULE=shared
定义模块(mod)编译为动态共享对象(DOS).
--enable-MODULE=static
默认编译为后通过静态连接使用
?
根据官方文档中定义的默认模块和功能已经可选模块功能定义,动态选择编译的功能模块。
模块定义:http://httpd.apache.org/docs/2.2/programs/configure.html#installationdirectories
?
?
2.1.APACHE PROXY功能
?
一般用于方向代理与TOMCAT结合实现HA
?
?--enable-proxy 是代理相关所有的模块
?--enable-ssl 是SSL支持
?--enable-rewrite 是URL重写支持
?
# ./configure --prefix=/opt/apache2 \ --enable-proxy=shared \ --enable-ssl=shared \ --enable-rewrite=shared # make # make install # cd /opt/apache2/modules # ls -1 mod_proxy_ajp.so mod_proxy_balancer.so mod_proxy_connect.so mod_proxy_ftp.so mod_proxy_http.so mod_proxy_scgi.so mod_proxy.so mod_rewrite.so mod_ssl.so
?