Apache源代码编译安装

    • 前言
    • 安装过程
      • 0x00下载所需要的源代码
        • apache下载
        • apr和apr-util下载
        • pcre下载
      • 0x01编译安装
        • apr
        • apr-util
        • pcre
        • apache
      • 0x02测试
    • 实验中遇到的问题
    • 参考资料


前言

最近因为学习计算机网络的需要,所以想要看一下apache服务器的源代码,进行一下学习。

首先是从官网下载编译源代码,这个过程折腾了我好几个小时,因此决定记录一下这个过程。


安装过程

0x00下载所需要的源代码

apache下载

  • 下载地址:apache官网
  • 版本号:2.4.29

apr和apr-util下载

  • 下载地址:apr官网
  • 版本号: apr-1.6.3 apr-util-1.6.1

pcre下载

  • 下载地址:pcre官网
  • 版本号:pcre-8.39

0x01编译安装

apr

进入apr源代码目录

./configure --prefix=/usr/local/apr
make
sudo make install 

其中prefix参数指定的是apr的安装位置

apr-util

进入apr-util目录

./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config
make
sudo make install

pcre

进入pcre源代码目录

./configure --prefix= /usr/local/pcre
make 
make install 

apache

进入apache源代码目录

./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr-util/bin/apu-1-config --with-pcre=/usr/local/pcre
make 
make install 

0x02测试

进入apache安装位置bin目录下,作者的目录是/usr/local/apache/bin

  ./apachectl 

在浏览器中查看
Apache源代码编译安装_第1张图片
说明已经安装成功了

实验中遇到的问题

  • 编译APR包的时候出现 rm: cannot remove `libtoolT’: No such file or directory
    这个问题好像没大有什么影响,通过查阅资料,编辑configure这个文件,将 RM cfgfile” 那行注释掉 ,然后重新编译即可。

    可以参考这篇文章

  • 编译apache时出现undefined reference to `XML_ErrorString’
    网上的资料的说法是认为apr-util新版本不再捆绑expat,因此需要重新安装expat。也有说需要在编译的时候加一个-lexpat的。
    但是我这么做之后并没能够解决问题。

    我看的参考文章

  • 编译apache的时候出现重定义,这里我没有截图,忘记报错的具体信息了,大意是说有重定义。

问题2和3是困扰我的最根本原因,我觉得可能是我第一遍编译安装的时候,各种设置之类的出现了问题,索性把所有的/usr/local下的与apache相关的这些新建文件全部删除,重新解压源代码文件,一步一步重新编译安装,然后就成功了。

参考资料

参看了非常多的博客、论坛帖子、问答,没有办法一一记录,因此只记录几个影响较大的。

  • mint Linux安装apache
  • 含有大量截图的apache安装过程

你可能感兴趣的:(web,apache)