Linux(CenOS7与RHEL7)下的Apache HTTP 服务器 2.4.29的安装与配置

简介: Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中【摘自百度百科】。

一、安装环境

操作系统:CentOS Linux release 7.4.1708 (最小化安装版)

二、安装过程

Apache HTTP服务的安装过程很简单,特别是yum安装过程,基本无需人工干预,一条命令完成安装:yum -y install httpd,所有依赖包都搞定,十分方便。要指定安装目录的话加参数–installroot=/path,要指定安装版本的话首先yum list|grep httpd,选择自己所需要的版本安装即可。为了增强Apache HTTP服务器的可定制化,下面我们重点介绍一下编译安装Apache HTTP服务器,也就是httpd。
(一)安装gcc及gcc++。

[root@Geeklp-Httpd ~]# yum -y install gcc-c++

(二)下载、安装apr-1.6.3、apr-util-1.6.1、pcre-8.41、httpd-2.4.29、unzip、libtool、bzip2、expat-devel。

[root@Geeklp-Httpd ~]# curl -C - -O http://mirrors.shuosc.org/apache//apr/apr-1.6.3.tar.bz2
[root@Geeklp-Httpd ~]# curl -C - -O http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2
[root@Geeklp-Httpd ~]# curl -C - -O https://ftp.pcre.org/pub/pcre/pcre-8.41.zip
[root@Geeklp-Httpd ~]# curl -C - -O http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.29.tar.gz
[root@Geeklp-Httpd ~]# yum -y install unzip
[root@Geeklp-Httpd ~]# yum -y install bzip2
[root@Geeklp-Httpd ~]# yum -y install libtool
[root@Geeklp-Httpd ~]# yum -y install expat-devel

(三)解压所有源码包。

[root@Geeklp-Httpd ~]# tar -xvjf apr-1.6.3.tar.bz2 
[root@Geeklp-Httpd ~]# tar -xvjf apr-util-1.6.1.tar.bz2 
[root@Geeklp-Httpd ~]# unzip pcre-8.41.zip 
[root@Geeklp-Httpd ~]# tar -xvzf httpd-2.4.29.tar.gz 

(四)依次编译安装以上源码包。
1、新建安装目录。

[root@Geeklp-Httpd ~]# mkdir -p /usr/local/Apps/apr-1.6.3
[root@Geeklp-Httpd ~]# mkdir -p /usr/local/Apps/apr-util-1.6.1
[root@Geeklp-Httpd ~]# mkdir -p /usr/local/Apps/pcre-8.41
[root@Geeklp-Httpd ~]# mkdir -p /usr/local/Apps/httpd-2.4.29

2、安装apr-1.6.3。

[root@Geeklp-Httpd ~]# cd apr-1.6.3
[root@Geeklp-Httpd apr-1.6.3]# ./buildconf
buildconf: checking installation...
buildconf: python version 2.7.5 (ok)
buildconf: autoconf version 2.69 (ok)
buildconf: libtool version 2.4.2 (ok)
buildconf: copying libtool helper files using /usr/bin/libtoolize
buildconf: creating include/arch/unix/apr_private.h.in ...
buildconf: creating configure ...
buildconf: generating 'make' outputs ...
buildconf: rebuilding rpm spec file
[root@Geeklp-Httpd apr-1.6.3]# ./configure --prefix=/usr/local/Apps/apr-1.6.3/
[root@Geeklp-Httpd apr-1.6.3]# make && make test && make install

在安装过程中会看到输出信息,输出信息全部为SUCCESS说明安装过程正确无误,否则需要再次检查。排除问题继续安装。
3、安装apr-util-1.6.1。

[root@Geeklp-Httpd apr-1.6.3]# cd ../apr-util-1.6.1
[root@Geeklp-Httpd apr-util-1.6.1]# ./configure --prefix=/usr/local/Apps/apr-util-1.6.1/ --with-apr=/usr/local/Apps/apr-1.6.3/bin/apr-1-config 
[root@Geeklp-Httpd apr-util-1.6.1]# make test
[root@Geeklp-Httpd apr-util-1.6.1]# make install

此过程中也不能出现任何报错,在make test是需全部通过,结果均为SUCCESS。
4、安装PCRE。

[root@Geeklp-Httpd apr-util-1.6.1]# cd ../pcre-8.41
[root@Geeklp-Httpd pcre-8.41]# 
[root@Geeklp-Httpd pcre-8.41]# ./configure --prefix=/usr/local/Apps/pcre-8.41/
[root@Geeklp-Httpd pcre-8.41]# make
[root@Geeklp-Httpd pcre-8.41]# make install

5、安装httpd。

[root@Geeklp-Httpd pcre-8.41]# cd ../httpd-2.4.29
[root@Geeklp-Httpd httpd-2.4.29]# ./configure --prefix=/usr/local/Apps/httpd-2.4.29/ --with-apr=/usr/local/Apps/apr-1.6.3/bin/ --with-apr-util=/usr/local/Apps/apr-util-1.6.1/ --with-pcre=/usr/local/Apps/pcre-8.41/
[root@Geeklp-Httpd httpd-2.4.29]# make
[root@Geeklp-Httpd httpd-2.4.29]# make install
[root@Geeklp-Httpd httpd-2.4.29]# rm -rf ../*

在执行这一步时,我们需要选择哪些安装选项可以根据自己的实际需求来决定,具体可以执行./configure –help看一下有哪些可选安装项。这也是编译安装的优势所在。
6、配置防火墙。

[root@Geeklp-Httpd ~]# firewall-cmd --permanent --add-service=http
[root@Geeklp-Httpd ~]# firewall-cmd --reload

7、启动服务。

[root@Geeklp-Httpd bin]# /usr/local/Apps/httpd-2.4.29/bin/apachectl -k start

执行命令时,出现以下错误提示:
AH00558: httpd: Could not reliably determine the server’s fully qualified domain name, using fe80::20c:29ff:fed2:c5b3. Set the ‘ServerName’ directive globally to suppress this message
编辑配置文件:/usr/local/Apps/httpd-2.4.29/conf/httpd.conf
加入:ServerName 127.0.0.1:80
重启之后,无报错。
8、测试。
在浏览器中输入,服务器地址:10.1.1.21,出现:It works!安装配置成功!

三、附加内容

1、/usr/local/Apps/httpd-2.4.29/bin下的apachectl与httpd功能一样,具体可以通过/usr/local/Apps/httpd-2.4.29/bin/httpd -h查看。
2、Apache HTTP服务器的详细配置会在后续的文章中结合实际应用来阐述。

四、参考资料

http://httpd.apache.org/docs/2.4/

相关文章
|
4月前
|
C# 图形学 开发者
Unity开发中使用UnityWebRequest从HTTP服务器下载资源。
总之,UnityWebRequest就是游戏开发者手中的万能钓鱼竿,既可以获取文本数据,也能钓上图片资源,甚至是那声音的涟漪。使用UnityWebRequest的时候,你需要精心准备,比如确定URL、配置请求类型和头信息;发起请求;巧妙处理钓获的数据;还需要机智面对网络波澜,处理各种可能出现的错误。按照这样的过程,数据的钓取将会是一次既轻松愉快也效率高效的编程钓鱼之旅。
212 18
|
3月前
|
JSON 前端开发 Go
Go语言实战:创建一个简单的 HTTP 服务器
本篇是《Go语言101实战》系列之一,讲解如何使用Go构建基础HTTP服务器。涵盖Go语言并发优势、HTTP服务搭建、路由处理、日志记录及测试方法,助你掌握高性能Web服务开发核心技能。
|
4月前
|
应用服务中间件 网络安全 数据安全/隐私保护
网关服务器配置指南:实现自动DHCP地址分配、HTTP服务和SSH无密码登录。
哇哈哈,道具都准备好了,咱们的魔术秀就要开始了。现在,你的网关服务器已经魔法满满,自动分配IP,提供网页服务,SSH登录如入无人之境。而整个世界,只会知道效果,不会知道是你在幕后操控一切。这就是真正的数字世界魔法师,随手拈来,手到擒来。
217 14
|
3月前
|
Go
如何在Go语言的HTTP请求中设置使用代理服务器
当使用特定的代理时,在某些情况下可能需要认证信息,认证信息可以在代理URL中提供,格式通常是:
279 0
|
6月前
|
JSON API 数据安全/隐私保护
使用curl命令在服务器上执行HTTP请求
总的来说,curl是一个非常强大的工具,它可以让你在命令行中发送各种类型的HTTP请求。通过学习和实践,你可以掌握这个工具,使你的工作更加高效。
438 30
|
5月前
|
存储 数据库 Python
使用HTTP POST协议将本地压缩数据发送到服务器
总的来说,使用HTTP POST协议将本地压缩数据发送到服务器是一个涉及多个步骤的过程,包括创建压缩文件,设置HTTP客户端,发送POST请求,以及服务器端的处理。虽然这个过程可能看起来复杂,但一旦你理解了每个步骤,就会变得相对简单。
174 19
|
5月前
|
存储 安全 数据安全/隐私保护
HFS-快速创建HTTP服务器
鉴于HFS的操作简便和方便快捷,它在满足快速,临时的文件分享和传输需求上,能够发挥出巨大的作用。只要明确了以上的安全警告,并做好了必需的安全设置,HFS将是一款实用的HTTP服务器工具。
367 9
|
29天前
|
人工智能 运维 Java
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
本文基于Apache Flink PMC成员宋辛童在Community Over Code Asia 2025的演讲,深入解析Flink Agents项目的技术背景、架构设计与应用场景。该项目聚焦事件驱动型AI智能体,结合Flink的实时处理能力,推动AI在工业场景中的工程化落地,涵盖智能运维、直播分析等典型应用,展现其在AI发展第四层次——智能体AI中的重要意义。
362 27
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
|
10月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
691 33
The Past, Present and Future of Apache Flink

推荐镜像

更多