最新最全Apache源码编译安装,说明:


一、安装Apache

Apache是一个基金会的名字, httpd才是我们要安装的软件包,早期它的名字就叫apache
Apache官网 www.apache.org

1、首先下载三个安装包,下载完以后解压。

  • 说明:这里直接从国内的阿里云官方镜像站下载,速度较快。
  • apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以很方便的迁移(从linux平台到windows平台)。
wget http://mirrors.aliyun.com/apache/httpd/httpd-2.4.46.tar.gz
wget http://mirrors.aliyun.com/apache/apr/apr-1.7.0.tar.gz
wget http://mirrors.aliyun.com/apache/apr/apr-util-1.6.1.tar.gz
下载完如下所示:

解压:
tar -zxvf httpd-2.4.46.tar.gz
tar -zxvf apr-1.7.0.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz

2、安装前准备

  • apache安装条件:必须先安装gcc包、pcre包、apr包与apr-util;
  • 先安装gcc插件包
安装gcc
yum -y install gcc-c++ gcc
创建安装目录
cd /usr/local
mkdir httpd apr apr-util
导入源码
cp -r httpd-2.4.46/* /usr/local/httpd
cp -r apr-1.7.0/* /usr/local/apr
cp -r apr-util-1.6.1/* /usr/local/apr-util

3、开始安装

进入安装目录,安装apr
cd /usr/local/apr
./configure --prefix=/usr/local/apr
执行 echo $?检查是否configure成功
make && make install
安装apr-util
cd /usr/local/apr-util
./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
make && make install
注意:安装apr-util需要制定apr

这里会出现报错,不要慌,一步步排除

执行:
yum -y install bison bison-devel
yum -y install expat-devel
  1. 该报错截图及解决
执行:
yum -y install flex
安装apache
cd /usr/local/httpd
./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
执行:
yum list | grep -i pcre
yum -y install pcre-devel

安装完如下:后面出现@base,说明已经安装。

重新执行configure,不再出现错误。
执行编译:
make && make install
  1. 该截图报错及解决
cd /usr/local
cp -r apr /usr/local/httpd/srclib/apr
cp -r apr-util /usr/local/httpd/srclib/apr-util

报错解决后,在重新执行一遍

cd /usr/local/httpd/
./configure --prefix=/usr/local/apache2.4 --with-included-apr --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
make && make install
echo $?   检查没有问题。

4、启动apache

/usr/local/apache2.4/bin/apachectl start
查看是否启动

ps aux | grep httpd
netstat -lntp (默认80端口)
lsof -i:80

httpd主要目录详解

查看apache调用的模块(两个命令都是同样的结果)
/usr/local/apache2.4/bin/httpd -M
/usr/local/apache2.4/bin/apachectl -M

相关内容