欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Linux centOS编译安装Apache报APR not found.错误的解决办法

程序员文章站 2023-09-07 13:55:43
依次下载上述两个安装包并逐个解压缩: 到此安装成功,想要启动、停止、重启apache需要用到命令: 这里我在重启的时候就报了之前一篇博客:LNMP环境搭建详细教程中讲述的一个错误: 所以就需要修改httpd的端口号,配置文件位置/usr/local/httpd/conf/httpd.conf: 搜索 ......
我在编译安装完nginx、mysql和php(见之前一篇博客:lnmp环境搭建详细教程)之后,进行apache的编译安装:
cd /usr/local/src 
wget http://mirror.bit.edu.cn/apache/httpd/httpd-2.4.34.tar.gz 
tar zxvf httpd-2.4.34.tar.gz  
cd httpd-2.4.34  
./configure --prefix=/usr/local/httpd  
就在这个时候提示:configure: error: apr not found. please read the documentation.
这说明缺少apr依赖,那么安装即可,可以用yum安装但是不推荐,因为yum安装的apr版本可能不足以支持你所安装的apache版本,所以还是要用编译安装高版本的apr:
cd /usr/local/src

wget http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz 

wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz

依次下载上述两个安装包并逐个解压缩:

tar zxvf apr-1.6.3.tar.gz

tar zxvf apr-util-1.6.1.tar.gz
cd/usr/local/src/apr-1.6.3 #安装apr

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

make && make install
cd /usr/local/src/apr-util-1.6.1  #安装apr-util

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr

make && make install
依赖全部安装完毕后再次切换到httpd的安装目录安装apache:
cd /usr/local/src/httpd-2.4.34

./configure --prefix=/usr/local/httpd --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

make && make install

到此安装成功,想要启动、停止、重启apache需要用到命令:

/usr/local/httpd/bin/httpd -k start   ##开启
/usr/local/httpd/bin/httpd -k stop ##停止
/usr/local/httpd/bin/httpd -k restart ##重启

这里我在重启的时候就报了之前一篇博客:lnmp环境搭建详细教程中讲述的一个错误:

bind() to 0.0.0.0:80 failed (98: address already in use)  这是因为我之前安装了nginx已经占用了80端口并且正在运行端口发生冲突,

所以就需要修改httpd的端口号,配置文件位置/usr/local/httpd/conf/httpd.conf:

vim /usr/local/httpd/conf/httpd.conf

搜索listen 80将其改为listen 8080(修改的端口号可以随便定义,范围是0~65535,其中0没有任何意义,也可以理解为1~65535),重启httpd提示新的错误:could not reliably determine the server's fully qualified domain name,

这是因为httpd.conf中servername未修改,搜索servername,将其改为:servername localhost:8080之后再次重启错误消失,查看一下正在运行的服务:

Linux centOS编译安装Apache报APR not found.错误的解决办法

 ps:上述安装的依赖版本并不是固定的,在安装的时候最好到官网看一下文档说明,选用高级的版本,比如用apr-1.3.*的版本,用来编译安装httpd-2.4.*的apache的时候就编译不了了