Centos 源码安装Apache(经历磨难,突出重围)【附加自动化编译安装执行脚本】

Centos 源码安装Apache (经历九九八十一难,终于突出重围)【附加自动化编译安装执行脚本】

一.版本说明

  1. 操作系统:Centos8
    具体信息如下:
    [root@php htdocs]# cat /proc/version
    Linux version 4.18.0-147.el8.x86_64 
    (gcc version 8.3.1 20190507 (Red Hat 8.3.1-4) (GCC)) #1 SMP Wed Dec 4 21:51:45 UTC 2019
    
  2. Apache包:
    Apache:2.4.46.tar.gz
  3. 依赖包:
    pcre-8.00.tar.gz
    apr-1.7.0.tar.gz
    apr-util-1.6.1.tar.gz

二.编译安装

1.找一个目录放下你的文件,这里我使用/root
2.操作与结果

  • 操作:
yum -y install tar
yum -y install gcc
yum install -y gcc-c++
yum -y install pcre-devel apr-devel apr-util-devel openssl-devel expat-devel
yum -y install wget

wget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.46.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.7.0.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.gz
  • 通过ls命令查看,/root目录下的结果:
    在这里插入图片描述
    3.开始编译与安装
    1).分别按照顺序解压编译和安装,顺序是:apr->apr-util->pcre->httpd(如果不按照顺序会报错,不信?你试试)
    # 解压与改名(自己想改就改哈,这里为了方便操作,所以改了)
    tar -zxvf apr-1.7.0.tar.gz
    mv apr-1.7.0.tar.gz apr
    
    tar -zxvf apr-util-1.6.1.tar.gz
    mv apr-util-1.6.1.tar.gz apr-util
    
    tar -zxvf pcre-8.00.tar.gz
    mv pcre-8.00.tar.gz pcre
    # 编译与安装
    # 1.先编译apr
    cd apr
    sed -i "s/RM='\$RM'/RM='\$RM -f'/g" configure
    ./configure --prefix=/usr/local/apr
    make && make install
    
    cd apr-util
    # 看到没有安装 apr-util需要用到apr 这里知道顺序的重要性了?
    ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
    make && make install
    
    cd pcre
    # 看到没有安装 apr-util需要用到apr 这里知道顺序的重要性了?
    ./configure --prefix=/usr/local/pcre 
    make && make install
    
    如何验证有没有安装成功
    安装完成之后目录/usr/local下会有一个文件夹apr
  1. 开始安装httpd
    # 这里我们指定我的httpd目录为--prefix=/usr/local/apache
    tar -zxvf httpd-2.4.46.tar.gz
    mv httpd-2.4.46.tar.gz httpd
    
    cd httpd
    ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
    make && make install
    
    到这里安装完成了,默认安装完成时,httpd已经启动了,我们关闭防火墙,使用浏览器访问
    看到It works!说明安装成功了。我首页的index.html在/usr/local/apache/htdocs/目录下
    在这里插入图片描述
    在这里插入图片描述

三.自动化脚本


cd /root
yum -y install tar
yum -y install gcc
yum install -y gcc-c++
yum -y install pcre-devel apr-devel apr-util-devel openssl-devel expat-devel
yum -y install wget

wget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.46.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.7.0.tar.gz
wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.gz

tar -zxvf apr-1.7.0.tar.gz
mv apr-1.7.0 apr

tar -zxvf apr-util-1.6.1.tar.gz
mv apr-util-1.6.1 apr-util

tar -zxvf pcre-8.00.tar.gz
mv pcre-8.00 pcre


cd /root/apr
sed -i "s/RM='\$RM'/RM='\$RM -f'/g" configure
./configure --prefix=/usr/local/apr
make && make install

cd /root/apr-util

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install

cd /root/pcre

./configure --prefix=/usr/local/pcre 
make && make install


tar -zxvf /root/httpd-2.4.46.tar.gz -C /root
mv /root/httpd-2.4.46 /root/httpd

cd /root/httpd
./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
make && make install
firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld
/usr/local/apache/bin/apachectl start

echo "install success!!!"

四.错误提示

  1. 错误提示:报错:/usr/local/apr-util//lib/libaprutil-1.so: undefined reference to `XML_SetEle
    缺少了xml相关的库,需要安装libxml2-devel包。直接安装并不能解决问题,因为httpd调用的apr-util已经安装好了,但是apr-util并没有libxml2-devel包支持。

    解决方法:

    安装libxml2-devel包
    [root@localhost ~]# yum install -y libxml2-devel
    

    参考连接

  2. 错误提示:致命错误:expat.h:没有那个文件或者目录在这里插入图片描述
    解决方法:
    安装expat-devel

    yum -y install expat-devel
    
  3. 错误提示:apr-1.7.0 rm: cannot remove ‘libtoolT’: No such file or directory
    解决方法:

    使用如下命令打开configure文件
    sudo vi configure
    找到RM='$RM'修改为RM='$RM -f'
    

    参考连接

五.QA:

  • Q:为什么需要安装pcre、apr、apr-util,这么麻烦?
  • A:作者认为,这个就好比,你要写python 首先你要把环境搭建好,比如要安装好python 环境
    官方也说了:
    在这里插入图片描述
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值