环境:ubuntu 16.0.4

  Apache官网下载Apache httpd压缩包:httpd-2.4.27.tar.gz,安装之前请确定安装了make工具,我安装的是GNU make

  1.   解压文件

    sudo tar -zxvf '/home/fanchao/桌面/share/apache http server/httpd-2.4.27.tar.gz' -C /etc/httpd

    在解压后的文件目录下有个install文件,里面写着

    For complete installation documentation, see [ht]docs/manual/install.html or
    http://httpd.apache.org/docs/2.4/install.html
  2. 通过查看文档,安装所需要的环境 :

    安装 APR(其实不用安装,后面说明):下载 apr-1.6.2.tar.gz

    解压:

sudo tar -zxvf '/home/fanchao/桌面/share/apache http server/apr-1.6.2.tar.gz' -C /etc/httpd

    编译和安装:

sudo
cd /etc/httpd/apr-1.6.2 #进入解压后的文件目录
sudo ./configure #这里可以添加参数 --prefix=你要安装的目录,我这里没有加,默认安装在/user/loacl目录下 以下所有的./configure都可以添加这个参数
sudo make
sudo make install

    安装APR-UTIL(其实不用安装,后面说明):下载 apr-util-1.6.0.tar.gz

    解压:

sudo tar -zxvf '/home/fanchao/ 桌面/share/apache http server/apr-util-1.6.0.tar.gz'  -C /etc/httpd

    编译和安装

cd /etc/httpd/apr-util-1.6.
sudo ./configure --with-apr=/usr/local/apr/bin/apr--config
sudo make

    这里报错

xml/apr_xml.c::: fatal error: expat.h: 没有那个文件或目录
compilation terminated.
/etc/httpd/apr-util-1.6./build/rules.mk:: recipe for target 'xml/apr_xml.lo' failed
make[]: *** [xml/apr_xml.lo] Error
make[]: Leaving directory '/etc/httpd/apr-util-1.6.0'
/etc/httpd/apr-util-1.6./build/rules.mk:: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error

    解决办法就是安装libexpat1-dev

sudo apt-get install libexpat1-dev

    重新输

sudo make
sudo make install

    安装httpd所需要的prce库:下载prce-8.41.zip

     解压:

sudo unzip   '/home/fanchao/桌面/share/apache http server/pcre-8.41.zip' -d /etc/httpd

    编译和安装:

cd /etc/httpd/pcre-8.41
sudo ./configure
sudo make
sudo make install

    最后编译安装apache httpd

sudo ./configure --with-apr='/usr/local/apr/bin/apr-1-config' --with-apr-util='/usr/local/apr/bin/apu-1-config' --with-prce='/usr/local/bin/pcre-config' #这里还有其他参数可以配置,具体参照官方
sudo make
sudo make install

    到现在按照官方文档的说明应该就已经安装好了,但是我到make这步就报错了

collect2: error: ld returned  exit status
Makefile:: recipe for target 'htpasswd' failed
make[]: *** [htpasswd] Error
make[]: Leaving directory '/etc/httpd-2.4.27/support'
/etc/httpd-2.4./build/rules.mk:: recipe for target 'all-recursive' failed
make[]: *** [all-recursive] Error
make[]: Leaving directory '/etc/httpd-2.4.27/support'
/etc/httpd-2.4./build/rules.mk:: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error

    我查了很多地方都没有遇到这个错误或者说这个错误是怎么发生的。这个错误是因为在httpd目录下的srclib目录里面没有apr和apr-util所导致的,但是./configure又不会报错,到make才会报错,所以把下载下来到apr和apr-util解压到srclib目录下到apr和apr-util目录,注意目录名字要一致。

    这就是我之前说的不用安装apr和apr-util的原因,它会自动安装,手动安装后去指定安装路径是会报错的。

    重新生成make文件和make

 sudo ./configure  --with-prce='/usr/local/bin/pcre-config' --with-included-apr #其他参数请参照官方
sudo make
sudo make install

    现在就可以安装成功了,如果没有指定文件夹那么就会默认安装在 /usr/local/apache2

    运行

sudo '/usr/local/apache2/bin/apachectl' -k start #启动
sudo '/usr/local/apache2/bin/apachectl' -k stop #停止

    完结。

    

Linux下编译,安装Apache httpd服务器的更多相关文章

  1. Linux下编译安装Apache Http Server

    Linux下编译安装Apache Http Server [TOC] 1.下载httpd-2.4.12.tar.bz2 wget http://mirror.bit.edu.cn/apache/htt ...

  2. Linux下编译安装Apache及模块

    Apache是时下最流行的Webserver软件之中的一个,支持多平台,可高速搭建web服务,并且稳定可靠.并可通过简单的API扩充.就能够集成PHP/Python等语言解释器. 文章这里解说怎样在l ...

  3. Linux下编译安装Apache 2.4

    Linux一般会自带httpd服务,但是版本一般不是最新,性能也不是最好,生产中建议手动安装官方源码包,安装Apache官方包之前首先要停止之前的httpd服务,停止后也可以卸载之前的版本 准备工作做 ...

  4. CentOS下编译安装Apache(httpd)

    官网下载最新版本的apache, apr, apr-util http://httpd.apache.org/download.cgi#apache24 http://apr.apache.org/d ...

  5. linux下编译安装apache

    在linux(CentOS6.5)上安装Apache,要首先确保以下程序事先安装 apr:The mission of the Apache Portable Runtime (APR) projec ...

  6. Linux下编译安装Apache报APR not found错误的解决办法

    我在编译安装完Nginx.MySQL和PHP(见之前一篇博客:LNMP环境搭建详细教程)之后,进行apache的编译安装: cd /usr/local/src wget http:.tar.gz ta ...

  7. linux中编译安装Apache、PHP、MySQL(上)

    1.简介 在阿里云买了个云服务器,一直没时间折腾.过了近十天了吧,才有时间好好玩玩这个云服务器.自己是做Web开发的,所以我需要的开发环境是LAMP.之前打算是采用yum安装,不过yum安装apach ...

  8. 在linux下手动安装 apache, php, mysql--终极版

    在linux下手动安装 apache, php, mysql: 参考: http://www.cnblogs.com/lufangtao/archive/2012/12/30/2839679.html ...

  9. CentOS 下编译安装Apache

    CentOS 下编译安装Apache 卸载原有的apache 首先从 http://httpd.apache.or 下载apache源码包httpd-2.4.4.tar.gz然后从 http://ap ...

随机推荐

  1. Json扩展 (转)

    https://www.newtonsoft.com/json https://www.cnblogs.com/BrokenIce/p/5902441.html https://blog.csdn.n ...

  2. Python介绍与学习

    Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开发行版发行于1991年. Python是纯粹的自由软件, 源代码和解释器CPy ...

  3. 关于read函数的一些分析

    ssize_t readn(int fd, std::string &inBuffer, bool &zero) { ssize_t nread = ; ssize_t readSum ...

  4. win10 MongoDB安装

    1.下载地址https://www.mongodb.com/download-center#community 2.安装步骤 点击next同意安装,下面这一步选择Custom 自定义目录 注意:在这一 ...

  5. BZOJ 1717 [USACO06DEC] Milk Patterns (后缀数组+二分)

    题目大意:求可重叠的相同子串数量至少是K的子串最长长度 洛谷传送门 依然是后缀数组+二分,先用后缀数组处理出height 每次二分出一个长度x,然后去验证,在排序的后缀串集合里,有没有连续数量多于K个 ...

  6. Thunder9(迅雷9)去掉右侧浏览器广告的方法

    1.打开文件夹C:\Program Files (x86)\Thunder Network\Thunder9\Program\TBC 2.找到 ThunderBrowser.exe 3.重命名为任意名 ...

  7. iText操作pdf(生成,导入图片等)

    生成pdf有很多种方法,用pdfbox也很方便,今天我要写的是用iText 主要在pom.xml中配置的jar包如下 <dependency> <groupId>com.low ...

  8. url中jsessionid的理解

    (1) 这是一个保险措施 因为Session默认是需要Cookie支持的 但有些客户浏览器是关闭Cookie的 这个时候就需要在URL中指定服务器上的session标识,也就是5F4771183629 ...

  9. ANY和ALL

    8.在WHERE中使用ANY和ALL条件   字段 >ANY(值1,值2,值3...):字段值大于集合任何一个       值就算满足条件.     字段 >ALL(值1,值2,值3... ...

  10. 2015 Multi-University Training Contest 4 hdu 5334 Virtual Participation

    Virtual Participation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Ot ...