Centos 源码安装Apache (经历九九八十一难,终于突出重围)【附加自动化编译安装执行脚本】
一.版本说明
- 操作系统: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
- Apache包:
Apache:2.4.46.tar.gz - 依赖包:
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
- 开始安装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!!!"
四.错误提示
错误提示:报错:/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
-
错误提示:致命错误:expat.h:没有那个文件或者目录
解决方法:
安装expat-develyum -y install expat-devel
-
错误提示:apr-1.7.0 rm: cannot remove ‘libtoolT’: No such file or directory
解决方法:使用如下命令打开configure文件 sudo vi configure 找到RM='$RM'修改为RM='$RM -f'
五.QA:
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/119293.html