日期:2014-05-17  浏览次数:20822 次

Apache Http Server 安装配置及常见问题收集,待续!

本文描述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



?