Linux环境下编译安装Apache服务器

Linux环境下编译安装Apache服务器


Linux一般会自带 httpd 服务,但版本一般不是最新的,性能也不算最好,生产中建议手动安装官方源码包,安装 Apache 官方包之前首先要停止之前的 httpd 服务,停止后也可以卸载之前的版本。
准备工作做完,首先去官网下载 Apache 的源码包,官网地址: https://httpd.apache.org/ ,首先选择最新释放出的版本,找到 Download 选择下载地址。

选择apache的下载地址
选择 .tar.bz2 的后缀格式链接,之后右键复制下载地址。
复制apache链接地址
下载到服务器。

$ wget https://mirrors.tuna.tsinghua.edu.cn/apache//httpd/httpd-2.4.43.tar.bz2

解压下载后的apache压缩包。

$ tar -jxvf httpd-2.4.43.tar.bz2

进入目录。

$ cd httpd-2.4.43

执行配置命令。

$ ./configure --prefix=/usr/local/apache2.4

可能会产生如下错误:

checking for APR... no
configure :error:APR not found. Please read the documentation.

产生该错误是因为没有 APR 相关的依赖软件,具体解决办法请参考我的另一篇博客:点击查看
解决之后再次执行。

$ ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util

可能还会产生如下错误:

checking for pcre-config... false
configure :error:pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/

这是linux系统缺失 pcre 库,如果系统并未自带或者安装过该软件,会产生以上错误。具体解决办法请参考我的另一篇博客:点击查看。如果未产生该错误,则代表配置成功,跳过这步。
错误解决之后,再次执行。

$ ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre

编译阶段。

$ make

可能会出现如下错误:

collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 错误 1
make[2]: 离开目录“/home/centos/httpd-2.4.43/support”
make[1]: *** [all-recursive] 错误 1
make[1]: 离开目录“/home/centos/httpd-2.4.43/support”
make: *** [all-recursive] 错误 1

这里产生的错误实际上是因为在 httpd 目录下的 srclib 目录里面没有 aprapr-util 所导致的,但是 ./configure 又不会报错,到了 make 才会报错,所以把下载下来到 aprapr-util 解压到 srclib 目录下到 aprapr-util 目录,注意目录名字要一致。
实际上如果报这个错误是不需用手动提前去安装 aprapr-util 的,它会搜索路径自动安装,手动安装后去指定安装路径还是可能会报错的。
先把下载下来 APR 组件复制到 srclib 目录下,假设你现在位于 httpd 文件中,当然你也可以以绝对路径指定文件迁移,执行如下:

$ cp -r /home/centos/apr-1.7.0 srclib/apr
$ cp -r /home/centos/apr-util-1.6.1 srclib/apr-util

之后,重新执行配置文件:

$ ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre --with-included-apr

或者,无需包含手动 apr 组件的路径地址,执行如下:

$ ./configure --prefix=/usr/local/apache2.4 --with-pcre=/usr/local/pcre --with-included-apr

再次编译.

$ make

安装文件。

$ make install

你也可以编译安装整合执行:

$ make && make install

请注意,如果 make 中出现错误,重新调整执行后还是失败尝试 make clean 清除所有缓存文件后继续。
如果是在 make install 过程中也出现错误,在重新调整执行后还是失败尝试执行 make clean 并且删除生成了安装目录,然后重新执行 makemake install,如若还是失败,尝试调用 make distclean 清除所有生成的文件。


Apache 执行命令:

$ /usr/local/apache2.4/bin/apachectl start //启动
$ /usr/local/apache2.4/bin/apachectl stop //停止

在启动时可能会报以下错误:

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message

具体解决办法请参考我的另一篇博客:点击查看
可能还会报以下错误:

(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80

该错误是普通用户调用权限不足,解决方法如下:

  1. 切换到root用户,使用超级管理员权限运行。
$ su 
  1. 执行命令前加上 sudo 用以临时获取root超级管理员授权的权限执行,之后输入该普通用户的密码确认即可。

至此, Apache 服务器编译安装完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值