热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Apache2.4安装指南及一键安装脚本

Apache2.4安装指南及一键安装脚本1.前言本文档试图以最简单方式阐明Apache2.4版本的安装。Apache采用的是automake编译方式,包括它所依赖的库,正因为这种依赖,使用得编译安装稍变复杂。2.依赖库Apache依赖...
Apache2.4安装指南及一键安装脚本
 
1. 前言
本文档试图以最简单方式阐明Apache2.4版本的安装。Apache采用的是automake编译方式,包括它所依赖的库,正因为这种依赖,使用得编译安装稍变复杂。
2. 依赖库
Apache依赖apr、apr-util和pcre,下载网址为:
1) Apr和Apr-util:http://apr.apache.org/。截止2012/12/26,版本分别为:apr-1.4.6.tar.gz和apr-util-1.5.1.tar.gz;
2) Pcre:http://pcre.org/(实际下载网址是http://sourceforge.net/projects/pcre/files/pcre/和ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/,建议从sourceforge.net处下载,后一个经常抽风)。截止2012/12/26,版本为:pcre-8.32.tar.gz。
3. Apache2.4下载网址
http://httpd.apache.org/download.cgi#apache24
Apache2.4的源代码包为:httpd-2.4.3.tar.gz(注意最后一位版本号3可能不同)。
4. 安装步骤
Apr和Apr-util不用特别去编译和安装,随Apache一起完成,见下面的“安装Apache”一节。
4.1. 安装Pcre
在安装Apache之前,需要安装好Pcre,安装过程完全遵循automake方式,步骤依次如下:
1) ./configure --prefix=/usr/local/pcre(注:将Pcre安装到/usr/local/pcre目录下)
2) make
3) make install
4.2. 安装Apache
1) 将httpd-2.4.3.tar.gz上传到编译目录下(这里假设编译目录为/tmp/X,也可以为其它任意目录)
2) 进入/tmp/X目录,解压源码包:tar xzf httpd-2.4.3.tar.gz,解压后会在/tmp/X产生一个httpd-2.4.3目录,在httpd-2.4.3目录下还会有个srclib子目录
3) 将Apr和Apr-util源码包上传到srclib子目录
4) 进入srclib子目录,将Apr和Apr-util源码包解压,如:tar xzf apr-1.4.6.tar.gz; tar xzf apr-util-1.5.1.tar.gz,注意解压后产生的Apr和Apr-util目录是带版本号的
5) 重命名Apr和Apr-util目录,去掉后面的版本号,如:mv apr-1.4.6 apr; mv apr-util-1.5.1 apr-util(这个在官方的指南里有说明的)
6) 进入/tmp/X/httpd-2.4.3目录,按照automake方式来编译Apache(注意需要指定Pcre):
./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre (注:/usr/local/httpd是Apache的安装目录,可根据需要修改)。
7) 接下来执行make编译源代码
8) 编译成功后,执行make install即可将Apache安装到/usr/local/httpd 目录下
9) 至此,大功告成!!!
5. 修改配置
如将Apache安装在/usr/local/httpd目录下,则进入/usr/local/httpd/conf目录,对http.conf按照需要进行修改,常修改的行有:
1) Listen 80
2) DocumentRoot "/usr/local/httpd/htdocs"
6. 附1:Apache官方中文文档主页
http://httpd.apache.org/docs/2.4/
7. 附2:一键脚本
7.1. 一键脚本前提
1) 使用root用户操作;
2) Apr、Apr-util、Pcre和Apache安装包都放在同一个目录下,如:
~/app # ls
apr-1.4.6.tar.gz  apr-util-1.5.1.tar.gz  httpd-2.4.3.tar.gz  pcre-8.32.tar.gz
3) 目录下不要放其它后缀为.tar.gz的文件
7.2. 一键脚本全文
#!/bin/sh
# Writed by yijian on 2012/12/26
# A key to install apache
# Download
#which wget
#if test $? -ne; then
# echo "wget NOT FOUND"
#else
# wget "http://mirror.bjtu.edu.cn/apache/apr/apr-1.4.6.tar.gz"
# wget "http://mirror.bjtu.edu.cn/apache/apr/apr-util-1.5.1.tar.gz"
# wget "http://labs.mop.com/apache-mirror/httpd/httpd-2.4.3.tar.gz"
# wget "http://nchc.dl.sourceforge.net/project/pcre/pcre/8.32/pcre-8.32.tar.gz"
#fi
# Get names
apr_tar_gz=`ls |grep -e "apr-[0-9]*\.[0-9]*\.[0-9]*\.tar\.gz"`
apr_util_tar_gz=`ls |grep -e "apr-util-[0-9]*\.[0-9]*\.[0-9]*\.tar\.gz"`
apr=`basename $apr_tar_gz .tar.gz`
apr_util=`basename $apr_util_tar_gz .tar.gz`
httpd=`basename httpd-*.tar.gz .tar.gz`
pcre=`basename pcre-*.tar.gz .tar.gz`
echo $apr
echo $apr_util
echo $pcre
echo $httpd
# unzip files
tar xzf $apr.tar.gz
tar xzf $apr_util.tar.gz
tar xzf $pcre.tar.gz
tar xzf $httpd.tar.gz
# Depends
mv $apr $httpd/srclib/apr
if test $? -ne 0; then
exit 1
fi
mv $apr_util $httpd/srclib/apr-util
if test $? -ne 0; then
exit 1
fi
# Compile pcre
cd $pcre
./configure --prefix=/usr/local/pcre
make
if test $? -ne 0; then
exit 1
fi
make install
if test $? -ne 0; then
exit 1
fi
# Compile apache
cd ../$httpd
./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre
if test $? -ne 0; then
exit 1
fi
make
if test $? -ne 0; then
exit 1
fi
make install
if test $? -ne 0; then
exit 1
fi
# Congratulation
echo "finished"
cd /usr/local/httpd/conf

推荐阅读
  • 在《PHP应用性能优化实战指南:从理论到实践的全面解析》一文中,作者分享了一次实际的PHP应用优化经验。文章回顾了先前进行的一次优化项目,指出即使系统运行时间较长后出现的各种问题和性能瓶颈,通过采用一些通用的优化策略仍然能够有效解决。文中不仅详细阐述了优化的具体步骤和方法,还结合实例分析了优化前后的性能对比,为读者提供了宝贵的参考和借鉴。 ... [详细]
  • HBase客户端Table类中getRpcTimeout方法的应用与编程实例解析 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • 如何正确配置与使用日志组件:Log4j、SLF4J及Logback的连接与整合方法
    在当前的软件开发实践中,无论是开源项目还是日常工作中,日志框架都是不可或缺的工具之一。本文详细探讨了如何正确配置与使用Log4j、SLF4J及Logback这三个流行的日志组件,并深入解析了它们之间的连接与整合方法,旨在帮助开发者高效地管理和优化日志记录流程。 ... [详细]
  • 在使用sbt构建项目时,遇到了“对象apache不是org软件包的成员”的错误。本文详细分析了该问题的原因,并提供了有效的解决方案,包括检查依赖配置、清理缓存和更新sbt插件等步骤,帮助开发者快速解决问题。 ... [详细]
  • 深入解析Wget CVE-2016-4971漏洞的利用方法与安全防范措施
    ### 摘要Wget 是一个广泛使用的命令行工具,用于从 Web 服务器下载文件。CVE-2016-4971 漏洞涉及 Wget 在处理特定 HTTP 响应头时的缺陷,可能导致远程代码执行。本文详细分析了该漏洞的成因、利用方法以及相应的安全防范措施,包括更新 Wget 版本、配置防火墙规则和使用安全的 HTTP 头。通过这些措施,可以有效防止潜在的安全威胁。 ... [详细]
  • ActiveMQ是由Apache开发的一款广受欢迎且功能强大的开源消息中间件。作为完全符合JMS 1.1和J2EE 1.4规范的JMS Provider实现,尽管JMS规范已问世多年,但ActiveMQ依然保持了其在消息队列领域的领先地位。本文将带你初步了解ActiveMQ的核心概念及其应用场景,帮助你快速入门这一重要的消息传递技术。 ... [详细]
  • 深入解析 javax.faces.view.ViewDeclarationLanguageWrapper.getWrapped() 方法及其应用实例 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 构建顶级PHP博客系统:实践与洞见
    构建顶级PHP博客系统不仅需要扎实的技术基础,还需深入理解实际应用需求。本文以Zend Studio为开发环境,MySQL作为数据存储,Apache服务器为运行平台,结合jQuery脚本语言,详细阐述了从环境搭建到功能实现的全过程,分享了开发PHP博客管理系统的宝贵经验和实用技巧。 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
  • 随着越来越多的应用程序采用JSON格式作为响应数据,基于Spring Framework构建的服务端应用也广泛采用了这一实践。本文将详细介绍如何在Spring 4.x版本的MVC框架中配置和实现HTTP请求返回JSON数据流,涵盖相关配置、依赖管理和代码示例,帮助开发者高效地实现这一功能。 ... [详细]
  • 如何在Linux系统中实施网络流量监测与分析
    本文详细介绍了在Linux系统中实施网络流量监测与分析的方法。通过使用专业的工具和技术,读者可以有效地监控和分析网络流量,从而提高系统的安全性和性能。希望本文能为读者提供有价值的参考和实践指导。 ... [详细]
  • Android平台生活辅助应用的设计与开发实现
    随着移动互联网技术的迅猛发展,Android操作系统已成为移动设备中的主流平台。本文探讨了基于Android平台的生活辅助应用设计与开发,旨在通过创新的功能和用户友好的界面,提升用户的日常生活质量。研究不仅涵盖了应用的核心功能实现,还深入分析了用户体验优化的方法,为同类应用的开发提供了有价值的参考。 ... [详细]
author-avatar
邵子轩一号
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有