RHEL5.x 自带的 Apache1.x 是无法满足反向代理的开发需求,因此需要将原有的 Apache1.x (其他的版本的 linux 情况不一样)。
1 、卸载自带的 Apache
应用程序——添加 / 删除程序——搜索“ Apache ”,将已经安装的版本的 Apache 前面的勾去掉,点击应用,卸载成功。
如果已经安装了 Apr 和 Apr-Util 的话,也一并卸载掉。
2 、下载 Apache
下载地址: http://httpd.apache.org/download.cgi#apache23
下载下列文件
UnixSource:httpd-2.3.6.tar.bz2 [PGP ][MD5 ][SHA1 ]
UnixdependenciesSource:httpd-2.3.6-deps.tar.bz2 [PGP ][MD5 ][SHA1 ]
httpd-2.3.6.tar.bz2 里面是 apache 的主要安装文件, httpd-2.3.6-deps.tar.bz2 里面是 apache 的依赖包 apr 和 apr-util 的安装文件。
3 、解压缩
将两个压缩包放在同一个目录下:执行
tar–zxvfhttpd-2.3.6.tar.bz2
tar–zxvfhttpd-2.3.6-deps.tar.bz2
这样依赖包解压缩出来的 srclib 就已经包含在 http-2.3.6 目录下面,将 http-2.3.6 拷贝到 /usr/local/src/ 目录下
cp–Rhttp-2.3.6/usr/local/src/
4 、安装依赖包
# 编译和安装 apr
cd apr
./configure --prefix=/usr/local/apr
make
makeinstall
# 编译和安装 apr-util
cdapr-util
./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr
make
makeinstall
通过使用 whereisapr 和 whereisapr-util 可查看安装情况。
5 、安装 apache
./configure--prefix=/usr/local/apache2--enable-so--enable-mods-shared=all--enable-cgi--enable-rewrite--enable-deflate--with-apr=/usr/local/apr--with-apr-util=/usr/local/apr-util--with-mpm=worker
make
makeinstall
参数解释:
最重要的选项是 Apache 安装目录的前缀: --prefix ,因为 Apache 需要知道这个目录才能正常运作。更多的微调选项请参考配置选项详解。
这样,你就可以通过在配置选项中指定要启用或禁用哪些模块来定制 Apache 的特性。 Base 组的模块默认包含在 Apache 中。其他组的模块可以通过 --enable-module 指令启用。其中 module 是模块名去掉 "mod_" 并将下划线转换成连字符后的字符串。你也可以使用 --enable-module=shared 指令将模块编译为可在运行时加载和卸载的动态共享对象 (DSO) 。同样的,你也可以使用 --disable-module 指令禁用 Base 组的模块。注意,使用这些指令的时候 configure 不会对你拼写错误的模块发出警告说找不到某某模块,而只是简单的忽略这个选项。
另外,有时候还必须提供给 configure 脚本关于编译器、库、头文件位置的更多信息。这些可以通过环境变量或者命令行选项传递给 configure 脚本。要了解更多信息,请参考配置源代码树。
--prefix=/usr/local/apache2 指定安装目录 /usr/local/apache2
--enable-so 启用模块 module_so
--enable-mods-shared=all 所有的模块都是动态共享加载
--enable-cgi--enable-rewrite--enable-deflate 启用 mod_cgi,mod_rewrite,mod_defate 模块
--with-apr=/usr/local/apr 指定 apr 的路径
--with-apr-util=/usr/local/apr-util 指定 apr-util 的路径
--with-mpm=worker 指定 mpm 的工作模式为 Worker
在安装的过程中出现个错误。
configure:error:pcre-configforlibpcrenotfound 。
PCRE-PerlCompatibleRegularExpressions 安装包没有安装。
下载地址: http://www.pcre.org/ 下载安装包 pcre-8.10.tar.gz ,解压安装后,问题解决,之前也报错误 unrecognizationoption… 也一并解决了。
6 、配置 yum
由于未取得 RedHat 的授权,因此 RHEL5.4 采用使用 CentOS5.4 的 yum 源来更新。
Step1 :先将 RHEL5 自带的 yum 删除,执行 rpm-qa|grepyum
Step2 : http://centos.ustc.edu.cn/centos/5.4/os/i386/CentOS/
yum-3.2.22-20.el5.centos.noarch.rpm
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm
yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm
Step3 :请将上面的三个 RPM 放到同一个目录,然后采用如下的方式安装
rpm-ivhyum*
Step4 :下载中科大专用的配置文件:
cd/etc/yum.repos.d/
wgethttp://centos.ustc.edu.cn/CentOS-Base.repo.5
mvCentOS-Base.repo.5CentOS-Base.repo
因为默认的配置文件中服务器地址用的版本号是变量 $releasever ,所以需要将其替换为实际的版本号,否则是无法连接到服务器的。
当前 CentOS 最新版是 5.4 ,所以我们修改 CentOS-Base.repo
在 vi 编辑器中进行全文件替换
:1,$s/$releasever/5.4/g
最后保存退出即可。
Step5 :执行命令 yumupdate 更新。
7 、安装模块 mod_proxy_html
#yuminstallhttpd-devellibxml2-devel
#/usr/local/apache2/bin/apxs-I/usr/include/libxml2-c-imod_proxy_html.c
#Addnecessarydirectivesinhttpd.conf:
LoadFile/usr/lib/libxml2.so
LoadModuleproxy_html_modulemodules/mod_proxy_html.so
apachectl graceful