本文档为Appache由版本2.0.65升级到版本2.4.29
安装需要先进行依赖软件包的安装,请检查相应依赖软件包安装情况,
如系统已经正确安装相应依赖软件包,可略过,本文所述版本升级不会覆盖先前的apache服务器
yum install expat-devel
yum install compat-libstdc++-33
1.安装包准备
expat-2.1.0.tar.gz
apr-1.6.3.tar.gz
apr-util-1.5.4
pcre-8.41.tar.gz
2.安装expat-2.1.0
cd /tmp
tar -zxvf expat-2.1.0.tar.gz
cd expat-2.1.0
./configure
make && make install
3.安装apr-1.6.3.tar.gz
cd /tmp
tar -zxvf apr-1.6.3.tar.gz
cd?apr-1.6.3
./configure --prefix=/usr/local/apr
make && make install
4. 安装apr-util-1.5.4
cd /tmp
tar -jxvf?apr-util-1.5.4.tar.bz2
cd apr-util-1.5.4
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
5.安装pcre-8.41?
cd /tmp
tar -zxvf pcre-8.41.tar.gz
cd pcre-8.41
./configure --prefix=/usr/local/pcre
make && make install
6.安装httpd-2.4.29
cd /tmp
tar -zxvf httpd-2.4.29.tar.gz
cp -rf?apr-1.6.3 httpd-2.4.29/srclib/apr
cp -rf?apr-util-1.5.4 httpd-2.4.29/srclib/apr-util
cd srclib/apr;
make
cd ..
cd srclib/apr-util;
make
cd httpd-2.4.29
./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-deflate --enable-speling --enable-cache --enable-file-cache --enable-disk-cache --enable-mem-cache --enable-rewrite --enable-so --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/ --with-included-apr
make && make install
7. 上传weblogic插件,利用weblogic插件做转发(http://www.oracle.com/technetwork/middleware/webtier/downloads/index.html中下载Oracle WebLogic Server Proxy Plugins 12.2.1.3并解压)
将WLSPlugin12.2.1.3.0-Apache2.2-Apache2.4-Linux_x86_64-12.2.1.3.0中的bin、jlib、lib上传/usr/local/apache/weblogic-plugin目录中
设置环境变量LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/apache/weblogic-plugin/lib/$LD_LIBRARY_PATH
echo "LD_LIBRARY_PATH=/usr/local/apache/weblogic-plugin/lib/$LD_LIBRARY_PATH">>/etc/profile
或者(在/etc/ld.so.conf.d目录下新建文件libc.conf,将/usr/local/apache/weblogic-plugin/lib/usr/local/lib目录加到libc.conf文件中,然后执行ldconfig命令)
8. 修改配置文件
a.将2.4.29版本中的配置文件中的LoadModule部分复制到老版本的配置文件中(重复部分删除)
LoadModule weblogic_module /usr/local/apache/weblogic-plugin/lib/mod_wl_24.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule headers_module modules/mod_headers.so
LoadModule authn_file_module modules/mod_authn_file.so
LoadModule authn_core_module modules/mod_authn_core.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_core_module modules/mod_authz_core.so
LoadModule access_compat_module modules/mod_access_compat.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule reqtimeout_module modules/mod_reqtimeout.so
LoadModule filter_module modules/mod_filter.so
LoadModule mime_module modules/mod_mime.so
LoadModule log_config_module modules/mod_log_config.so
LoadModule env_module modules/mod_env.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule version_module modules/mod_version.so
LoadModule unixd_module modules/mod_unixd.so
LoadModule status_module modules/mod_status.so
LoadModule autoindex_module modules/mod_autoindex.so
LoadModule dir_module modules/mod_dir.so
LoadModule alias_module modules/mod_alias.so
LoadModule userdir_module modules/mod_userdir.so
LoadModule negotiation_module modules/mod_negotiation.so
b.将 Options -Indexes FollowSymLinks改成Options Indexes FollowSymLinks
c.将DefaultType text/plain注释掉(#DefaultType text/plain),原因是Apache2.4 不在使用DefaultType 参数。
d.MaxClients改名为MaxRequestWorkers,精确的描述出了它是什么。对于异步的MPMs,就像事件,客户的最大数不等于工作的线程数。旧的名字仍旧被支持。
e.将“Order deny,allow Deny from all改为”Require all denied
将“Order allow,deny Allow from all”改为Require all granted
将“Order Deny,Allow Deny from all Allow from example.org”改为Require host example.org
#######################################################################################################################
配置Apache日志格式
下载cronolog-1.6.2.tar.gz
tar -zxvf cronolog-1.6.2.tar.gz
./configure
make
make install
#默认安装在/usr/local/sbin/下,将以下配置复制到http.conf中即可
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog "|/usr/local/sbin/cronolog /home/apache3log/%Y/%m%d/access_log.%Y-%m-%d-%H" common
CustomLog "|/usr/local/sbin/cronolog /home/apache3log/%Y/%m%d/referer_log.%Y-%m-%d-%H" referer
CustomLog "|/usr/local/sbin/cronolog /home/apache3log/%Y/%m%d/agent_log.%Y-%m-%d-%H" agent