Apache(httpd)源码包安装

本文档详细介绍了如何在Linux系统中源码编译安装Apache HTTPD 2.4.46,包括依赖库apr、apr-util的安装,以及在安装过程中遇到的expat头文件缺失和PCRE问题的解决方法。通过yum安装所需依赖,重新配置并编译源码,最终成功启动httpd服务。
摘要由CSDN通过智能技术生成

Apache(httpd)源码包安装

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

下载地址 原博主提供的地址不能用,我修改版本了
2.4源码包: http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.46.tar.gz
apr: http://mirrors.cnnic.cn/apache/apr/apr-1.7.0.tar.gz
apr-util: https://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz

apr和apr-util是一个通用的函数库,它让httpd可以不关心底层的操作系统平台,可以方便移植(Linux移植到Windows)

apache安装条件:必须先安装gcc包、pcre包、apr与apr-util;

下载与解压软件包

wget http://mirrors.cnnic.cn/apache/httpd/httpd-2.4.46.tar.gz
wget http://mirrors.cnnic.cn/apache/apr/apr-1.7.0.tar.gz
wget https://mirrors.cnnic.cn/apache/apr/apr-util-1.6.1.tar.gz
tar zxvf apr-util-1.6.1.tar.gz
tar zxvf apr-1.7.0.tar.gz
tar zxvf httpd-2.4.46.tar.gz

安装apr-1.7.0

cd apr-1.7.0/
./configure --prefix=/usr/local/apr
//检查下命令是否正常运行echo $?
make && make install

安装apr-util

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

错误排除

告错:

xml/apr_xml.c:35:19: 致命错误:expat.h:没有那个文件或目录

那么就搜索提示的expat
yum list |grep -i expat

[root@shu-test apr-util-1.7.0]# yum list |grep -i expat
expat.x86_64                                2.1.0-10.el7_3             @anaconda
expat-devel.x86_64                          2.1.0-10.el7_3             @base    
expat.i686                                  2.1.0-10.el7_3             base     
expat-devel.i686                            2.1.0-10.el7_3             base     
expat-static.i686                           2.1.0-10.el7_3             base     
expat-static.x86_64                         2.1.0-10.el7_3             base     
[root@shu-test apr-util-1.7.0]#

安装expat-devel包

yum install -y expat-devel

安装httpd

cd /usr/local/src/httpd-2.4.46/
./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most
make && make install

错误排除

告错1:
checking for pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/
提示:缺少PCRE;

解决:查询与安装pcre

yum list |grep -i pcre
yum install -y pcre-devel
告错2:
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: 离开目录“/usr/local/src/httpd-2.4.46/support”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/usr/local/src/httpd-2.4.46/support”
make: *** [all-recursive] 错误 1

解决方案:
删除文件,重新解压源码包安装,先复制文档,在configure后加上 “--with-included-apr”。再重新编译;

cd /usr/local/src/
cp -r apr-1.7.0 /usr/local/src/httpd-2.4.46/srclib/apr
cp -r apr-util-1.6.1 /usr/local/src/httpd-2.4.46/srclib/apr-util
cd /usr/local/src/httpd-2.4.46/
./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

启动httpd

/usr/local/apache2.4/bin/apachectl start

查询httpd是否启动

ps aux |grep httpd
netstat -lntp

httpd目录详解

apache2.4文件夹下
conf文件夹:配置文件
htdocs:主页文件
logs文件夹:日志文件
modules:模块存放

查看apache调用的模块

/usr/local/apache2.4/bin/httpd -M
/usr/local/apache2.4/bin/apachectl -M

转载于此https://blog.51cto.com/shuzonglu/2073717

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值