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/

相关文章
|
1天前
|
Ubuntu Linux Shell
(已解决)Linux环境—bash: wget: command not found; Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
(已成功解决)Linux环境报错—bash: wget: command not found;常见Linux发行版本,Linux中yum、rpm、apt-get、wget的区别;Docker pull报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: request canceled
|
2天前
|
缓存 负载均衡 监控
HTTP代理服务器在网络安全中的重要性
随着科技和互联网的发展,HTTP代理IP中的代理服务器在企业业务中扮演重要角色。其主要作用包括:保护用户信息、访问控制、缓存内容、负载均衡、日志记录和协议转换,从而在网络管理、性能优化和安全性方面发挥关键作用。
17 2
|
25天前
|
Dubbo 安全 应用服务中间件
Apache Dubbo 正式发布 HTTP/3 版本 RPC 协议,弱网效率提升 6 倍
在 Apache Dubbo 3.3.0 版本之后,官方推出了全新升级的 Triple X 协议,全面支持 HTTP/1、HTTP/2 和 HTTP/3 协议。本文将围绕 Triple 协议对 HTTP/3 的支持进行详细阐述,包括其设计目标、实际应用案例、性能测试结果以及源码架构分析等内容。
|
2月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
44 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
2月前
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
233 7
|
1月前
|
存储 Oracle 关系型数据库
oracle服务器存储过程中调用http
通过配置权限、创建和调用存储过程,您可以在Oracle数据库中使用UTL_HTTP包发起HTTP请求。这使得Oracle存储过程可以与外部HTTP服务进行交互,从而实现更复杂的数据处理和集成。在实际应用中,根据具体需求调整请求类型和错误处理逻辑,以确保系统的稳定性和可靠性。
63 0
|
2月前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
44 2
|
2月前
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
91 1
|
2月前
apache+tomcat配置多站点集群的方法
apache+tomcat配置多站点集群的方法
39 4
|
2月前
|
负载均衡 应用服务中间件 Apache
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
Tomcat负载均衡原理详解及配置Apache2.2.22+Tomcat7
52 3
下一篇
DataWorks