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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

耕耘实录 2018-01-11 18:46:01 浏览1127
展开阅读全文

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/

网友评论

登录后评论
0/500
评论
耕耘实录
+ 关注