观前提醒:本文只是展示源码安装的过程,最后由于过于繁琐,笔者也是改为了yum 在线安装,本文仅用于记录.还是建议大家直接使用yum 在线安装省事.

 

源代码建议保存位置:/usr/local/src/

源码建议安装目录:/usr/local/xxxx

 

使用源码安装Apache
一、安装前准备

1.去网站下载源码:https://mirrors.bit.edu.cn/apache/httpd/,点此跳转

rpm包构建yum仓库 yum createpo rpm包源码_c++

2.使用SCP 将httpd-2.4.51.tar.gz 上传到虚拟机

rpm包构建yum仓库 yum createpo rpm包源码_c++_02

3.使用命令解压该压缩包

tar -zxvf httpd-2.4.51.tar.gz

rpm包构建yum仓库 yum createpo rpm包源码_apache_03

4.进入httpd-2.4.51

cd httpd-2.4.51
more INSTALL

查看一下安装说明 INSTALL,安装完成后可以查看一下使用说明 README

rpm包构建yum仓库 yum createpo rpm包源码_c++_04

按照安装说明(INSTALL)的四个命令

二、软件的配置与检查

./configure --prefix=PREFIX

作用:

1.定义需要的功能选项.
2.检测系统环境是否符合安装需求.
3.把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑.

===================分割线===================
由于笔者最早学习yum 管理rpm包的时候,为了以放万一进行了yum -y update 升级所有的rpm 包操作,导致安装rpm 包的时候部分依赖包已安装的版本高于镜像版本,故此,笔者特意使用最早的快照,即使刚安装好系统的版本,请看分割线以外的内容

./configure --prefix=/usr/local/apache2

rpm包构建yum仓库 yum createpo rpm包源码_上传_05

 

报错提示缺少 pcre-config,并且告诉了你可以去 http://pcre.org/ 下载, 点此跳转

rpm包构建yum仓库 yum createpo rpm包源码_上传_06

 

rpm包构建yum仓库 yum createpo rpm包源码_上传_07

 

下载好后将其通过SCP工具上传到虚拟机,并使用 以下命令解压

unzip pcre-8.45

rpm包构建yum仓库 yum createpo rpm包源码_c++_08

同样使用以下命令,进行配置环境检测

./configure --prefix=/usr/local/pcre8

 

rpm包构建yum仓库 yum createpo rpm包源码_apache_09

 

提示 Invalid C++ compiler or C++ compiler flags
如果可以连接互联网,则直接使用以下命令,在线即可.

yum -y install gcc-c++

 

笔者使用的是第二种方式,挂载系统镜像,修改yum 源为本地光盘,如果不晓得怎么配置,可以参考学习一下yum 光盘挂载安装 Linux-rpm包的yum管理使用

使用

yum list

看一下容器的名称是否是光盘容器的名称


rpm包构建yum仓库 yum createpo rpm包源码_apache_10

 同时使用

yum search gcc

查看镜像里面是否含有gcc 的rpm包,可以查看到有 gcc-c++

安装gcc-c++

yum -y install gcc-c++

注意,如果你安装的时候提示,其中的依赖包版本(已安装)高于当前正在装的包所需要的依赖包版本,如下图报错.

rpm包构建yum仓库 yum createpo rpm包源码_apache_11

 

建议更改yum.repo配置,联网使用 yum -y install 包名 在线安装吧.

===================分割线===================

使用一台新装的机器,使用光盘作为yum源,安装gcc-c++,然后安装分割线上的步骤再走一遍.

./configure --prefix=/usr/local/apache2

 

rpm包构建yum仓库 yum createpo rpm包源码_上传_12

报错提示没找到APR,让我们查看文档,于是再次使用more INSTALL

rpm包构建yum仓库 yum createpo rpm包源码_apache_13

 

根据上图圈中的网站 https://httpd.apache.org/docs/2.4/install.html 进行查看:  点此跳转

rpm包构建yum仓库 yum createpo rpm包源码_上传_14

 

根据提示下载 apr-1.7.0.tar.gz,同样上传到虚拟机,压缩,配置(./configure --prefix=/usr/local/apr1)完成后,看到多了一个Makefile文件

rpm包构建yum仓库 yum createpo rpm包源码_apache_15

直接可以 make && make install

rpm包构建yum仓库 yum createpo rpm包源码_上传_16

 

安装完成后,再次到 httpd-2.4.51 里面进行配置环境检测,注意需要在配置后面加上参数,否则仍会报需要安装APR的错误

./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr1

又提示需要安装APR-util

rpm包构建yum仓库 yum createpo rpm包源码_apache_17

 

跟刚刚的APR包一样的位置,点击到下载页,上传,解压,安装.

 

源码安装太难了,安装完后提示 fatal error expat.h,百度了一下是缺少expat-devel 这个rpm 包,但是镜像里面没有这个包,还需要再到网上下载该rmp 包,然后通过scp 上传、解压、安装........

最后懒省事,直接切回最早问题的快照(需要gcc-c++ 这个包的问题) 直接联网,使用yum在线安装的gcc-c++,然后使用源码安装的gcc-c++,安装成功

rpm包构建yum仓库 yum createpo rpm包源码_apache_18