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

版权声明:本文为耕耘实录原创文章,各大自媒体平台同步更新。欢迎转载,转载请注明出处,谢谢。

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服务器的详细配置会在后续的文章中结合实际应用来阐述。 3、注意:本文没有为httpd服务建立专用启动账户,按照标准规范来说并不规范,后续文章会继续完善。

四、参考资料

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Aloys的开发之路

SVN+Apache域用户认证配置方法_Windows(转,重新排版,部分内容更新优化)

背景说明 作为一个团队开发,公司长期以来的实践证明,手工操作版本管理是非常不明智的,一来浪费人力,二来效率低下,三来容易犯错。那么版本管理用什么工具好呢? 在开...

334100
来自专栏Jack-Cui

Ubuntu14.04安装OpenCV2.4.13(ZIP安装)

运行平台:Ubuntu14.04 OpenCV版本:OpenCV2.4.13 一、安装OpenCV2.4.13 1.使用wget下载OpenCV源码 ur...

30970
来自专栏Java架构沉思录

Linux常用Shell脚本知多少

在运维中,尤其是linux运维,都知道脚本的重要性,脚本会让我们的 运维事半功倍,所以学会写脚本是我们每个linux运维必须学会的一门功课,这里收藏linux运...

18010
来自专栏禅林阆苑

利用NextCloud配置私有云 【原创】

利用NextCloud配置私有云 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github...

2.6K80
来自专栏Linyb极客之路

关于长链接,短链接,异步,同步,单工,双工的定义

21870
来自专栏FreeBuf

经验分享 | Burpsuite抓取非HTTP流量

使用Burp对安卓应用进行渗透测试的过程中,有时候会遇到某些流量无法拦截的情况,这些流量可能不是HTTP协议的,或者是“比较特殊”的HTTP协议(以下统称非HT...

1.1K100
来自专栏圣杰的专栏

IdentityServer4 知多少

现在的应用开发层出不穷,基于浏览器的网页应用,基于微信的公众号、小程序,基于IOS、Android的App,基于Windows系统的桌面应用和UWP应用等等,这...

32220
来自专栏腾讯Bugly的专栏

H5 缓存机制浅析 移动端 Web 加载性能优化

1 H5 缓存机制介绍 H5,即 HTML5,是新一代的 HTML 标准,加入很多新的特性。离线存储(也可称为缓存机制)是其中一个非常重要的特性。H5 引入的离...

40220
来自专栏北京马哥教育

chkconfig命令详细介绍

命令介绍: chkconfig命令用来更新、查询、修改不同运行级上的系统服务。比如安装了httpd服务,并且把启动的脚本放在了/etc/rc.d/init.d目...

40180
来自专栏闻道于事

GIT的安装及上传代码到码云

13940

扫码关注云+社区

领取腾讯云代金券