观前提醒:本文只是展示源码安装的过程,最后由于过于繁琐,笔者也是改为了yum 在线安装,本文仅用于记录.还是建议大家直接使用yum 在线安装省事.
源代码建议保存位置:/usr/local/src/
源码建议安装目录:/usr/local/xxxx
使用源码安装Apache
一、安装前准备
1.去网站下载源码:https://mirrors.bit.edu.cn/apache/httpd/,点此跳转
2.使用SCP 将httpd-2.4.51.tar.gz 上传到虚拟机
3.使用命令解压该压缩包
tar -zxvf httpd-2.4.51.tar.gz
4.进入httpd-2.4.51
cd httpd-2.4.51
more INSTALL
查看一下安装说明 INSTALL,安装完成后可以查看一下使用说明 README
按照安装说明(INSTALL)的四个命令
二、软件的配置与检查
./configure --prefix=PREFIX
作用:
1.定义需要的功能选项.
2.检测系统环境是否符合安装需求.
3.把定义好的功能选项和检测系统环境的信息都写入Makefile文件,用于后续的编辑.
===================分割线===================
由于笔者最早学习yum 管理rpm包的时候,为了以放万一进行了yum -y update 升级所有的rpm 包操作,导致安装rpm 包的时候部分依赖包已安装的版本高于镜像版本,故此,笔者特意使用最早的快照,即使刚安装好系统的版本,请看分割线以外的内容
./configure --prefix=/usr/local/apache2
报错提示缺少 pcre-config,并且告诉了你可以去 http://pcre.org/ 下载, 点此跳转
下载好后将其通过SCP工具上传到虚拟机,并使用 以下命令解压
unzip pcre-8.45
同样使用以下命令,进行配置环境检测
./configure --prefix=/usr/local/pcre8
提示 Invalid C++ compiler or C++ compiler flags
如果可以连接互联网,则直接使用以下命令,在线即可.
yum -y install gcc-c++
笔者使用的是第二种方式,挂载系统镜像,修改yum 源为本地光盘,如果不晓得怎么配置,可以参考学习一下yum 光盘挂载安装 Linux-rpm包的yum管理使用
使用
yum list
看一下容器的名称是否是光盘容器的名称
同时使用
yum search gcc
查看镜像里面是否含有gcc 的rpm包,可以查看到有 gcc-c++
安装gcc-c++
yum -y install gcc-c++
注意,如果你安装的时候提示,其中的依赖包版本(已安装)高于当前正在装的包所需要的依赖包版本,如下图报错.
建议更改yum.repo配置,联网使用 yum -y install 包名 在线安装吧.
===================分割线===================
使用一台新装的机器,使用光盘作为yum源,安装gcc-c++,然后安装分割线上的步骤再走一遍.
./configure --prefix=/usr/local/apache2
报错提示没找到APR,让我们查看文档,于是再次使用more INSTALL
根据上图圈中的网站 https://httpd.apache.org/docs/2.4/install.html 进行查看: 点此跳转
根据提示下载 apr-1.7.0.tar.gz,同样上传到虚拟机,压缩,配置(./configure --prefix=/usr/local/apr1)完成后,看到多了一个Makefile文件
直接可以 make && make install
安装完成后,再次到 httpd-2.4.51 里面进行配置环境检测,注意需要在配置后面加上参数,否则仍会报需要安装APR的错误
./configure --prefix=/usr/local/apache2 --with-apr=/usr/local/apr1
又提示需要安装APR-util
跟刚刚的APR包一样的位置,点击到下载页,上传,解压,安装.
源码安装太难了,安装完后提示 fatal error expat.h,百度了一下是缺少expat-devel 这个rpm 包,但是镜像里面没有这个包,还需要再到网上下载该rmp 包,然后通过scp 上传、解压、安装........
最后懒省事,直接切回最早问题的快照(需要gcc-c++ 这个包的问题) 直接联网,使用yum在线安装的gcc-c++,然后使用源码安装的gcc-c++,安装成功