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

导读:本篇文章讲解 Centos 源码安装Apache(经历磨难,突出重围)【附加自动化编译安装执行脚本】,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

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/apachetar -zxvf httpd-2.4.46.tar.gzmv httpd-2.4.46.tar.gz httpdcd httpd./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcremake && make install

    到这里安装完成了,默认安装完成时,httpd已经启动了,我们关闭防火墙,使用浏览器访问
    看到It works!说明安装成功了。我首页的index.html在/usr/local/apache/htdocs/目录下
    在这里插入图片描述
    在这里插入图片描述

三.自动化脚本

cd /rootyum -y install taryum -y install gccyum install -y gcc-c++yum -y install pcre-devel apr-devel apr-util-devel openssl-devel expat-develyum -y install wgetwget https://mirrors.bfsu.edu.cn/apache//httpd/httpd-2.4.46.tar.gzwget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.7.0.tar.gzwget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gzwget https://ftp.pcre.org/pub/pcre/pcre-8.00.tar.gztar -zxvf apr-1.7.0.tar.gzmv apr-1.7.0 aprtar -zxvf apr-util-1.6.1.tar.gzmv apr-util-1.6.1 apr-utiltar -zxvf pcre-8.00.tar.gzmv pcre-8.00 pcrecd /root/aprsed -i "s/RM='\$RM'/RM='\$RM -f'/g" configure./configure --prefix=/usr/local/aprmake && make installcd /root/apr-util./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/aprmake && make installcd /root/pcre./configure --prefix=/usr/local/pcre make && make installtar -zxvf /root/httpd-2.4.46.tar.gz -C /rootmv /root/httpd-2.4.46 /root/httpdcd /root/httpd./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcremake && make installfirewall-cmd --zone=public --add-port=80/tcp --permanentsystemctl restart firewalld/usr/local/apache/bin/apachectl startecho "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 环境
    官方也说了:
    在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119293.html

(0)
seven_的头像seven_bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!