源码安装Apache2.4

本文详细介绍了在Linux环境下手动安装Apache HTTP Server 2.4版本的全过程,包括必要的apr和apr-util包的安装,以及httpd的配置、编译、启动等关键步骤。

Linux下Apache HTTP Server 2.4.26的安装
Linux下编译安装Apache 2.4

源码安装Apache

配置:Linux Mint +Apache2.4
2.4版本需要我们手动的安装aprapr-util

  1. 下载httpd,apr,apr-util这三个包
# cd /usr/local/src
# sodu wget https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md
# sodu wget https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md
# sodu wget https://coding.net/u/aminglinux/p/resource/git/blob/master/README.md
// 所有的软件都在这个网站里面有

下载完之后就将这三个软件解压出来
  1. apr(包括apr和apr-util)可以理解成一个通用的函数库,主要为上次应用提供支持。在这里httpd是依赖aprapr-util的,如果不先安装上面两个东西的话就无法让httpd工作。
  2. 首先安装apr:
# cd /usr/local/src/apr-1.5.2
# sudo ./configure --prefix=/usr/local/apr
# sudo make && sudo make install
//--prefix表示指定软件的安装位置
  1. 安装apr-util:
# cd /usr/local/src/apr-util-1.5.2
# sudo ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
# sudo make && sudo make install
//--with-apr表示apr-util是依赖于apr的

在3,4步骤之中提示缺少包的错误,都百度后下载安装相应的包
  1. 安装完aprapr-util后,进入/usr/local/httpd-2.4.5,配置编译参数
sudo ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared-most
  1. 解析--eanble-so
表示启用DSO.DSO表示把某些功能以模块(一个功能就是一个so文件,在httpd编译完后可以看到)的形式展示出来.`--enable-mods-shared-most`表示以共享的方式安装大多数功能模块,安装后可以在`modules`目录下看到这些文件.
  1. 进行编译安装
# sudo make
# sudo make install
// 可以使用`echo $?`来检查执行是否正确
  1. 查看加载了哪些模块
# cd /usr/local/apache2.4/bin
# sudo apachectl -M
  1. 启动httpd之前需要检查配置文件是否正确
# cd /usr/local/apache2.4/bin
# sudo apachectl -t
如果有错误,则继续修配置文件`conf/httpd.conf`,配置正确的话则会显示`Synax OK`.

10 启动httpd服务

# cd /usr/local/apache2.4/bin
# sudo apachectl -start

11 查看命令是否启动

# sudo netstat -lnp | grep httpd
  1. 我们也可以使用curl命令进行简单的测试
# curl localhost
<html><body><h1>It works!</h1></body></html>
如果显示上一行则表示测试成功了.

遇到的错误

  1. 运行apachectl -M(查看加载了哪些模块)
The program 'apachectl' is currently not installed. You can install it by typing:
sudo apt install apache2

apachectl 没有安装,请typeing apt -install apche2

cp /usr/local/apache2/bin/apachectl /usr/local/bin/apachectl
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:88
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:88
no listening sockets available, shutting down
AH00015: Unable to open logs

可能有以下几个原因:
1. 配置文件的80端口被占用了。
2. 权限不够:`sudo apachectl start`

知识拓展

Apache主配置文件httpd.conf 详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值