apache安装之前,需要安装APR、APR-Util和PCRE依赖包

  1. 下载 Apache       下载地址: http://httpd.apache.org/download.cgi   (打开找最新版)
  2. 下载 Apr                  下载地址 :http://archive.apache.org/dist/apr/apr-1.6.3.tar.gz  (可以直接下载或者找最新版)
  3. 下载 Apr-Util            下载地址:http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.gz  (可以直接下载或者找最新版)
  4. 下载 PCRE         下载地址:http://sourceforge.net/projects/pcre/files/pcre   (打开找最新版)

注意事项:wget  vim   gcc gcc-c++   cmake  这几个也是安装 Apache 所需要的小环境,重新安装或者更新下

yum install -y  wget  vim   gcc gcc-c++   cmake

  第一步:apr的安装:

    tar -zxvf  apr-1.6.3.tar.gz      

    cd apr-1.6.3

    ./configure --prefix=/usr/local/apr  

    make && make install

  第二步:apr-util的安装:

    tar -zxvf  apr-util-1.6.1.tar.gz

    cd apr-util-1.6.1

    ./configure  --prefix=/usr/local/apr-util  --with-apr=/usr/local/apr/  

    make && make install

    注意:编译安装apr-util时报错(fatal error: expat.h: No such file or directory)可以试着去安装expat-devel,因为apr-util需要expat-devel依赖,直接yum install -y expat-devel,再次编译安装

  第三步:pcre的安装:

    tar -zxvf  pcre-8.39.tar.gz

    cd pcre-8.3.9

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

    make && make install

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    或者可以使用yum安装,在安装apache之前安装好,yum install -y pcre pcre-devel

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  第四步:安装 Apache

    tar -zxvf  httpd-2.4.37.tar.gz

    cd httpd-2.4.37

    ./configure --prefix=/usr/local/apache24/ --with-apr=/usr/local/apr/ --with-apr-util=/usr/local/apr-util/  --enable-so  --enable-mods-shared=most

    make && make install

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

      –enable-so 表示启用DSO,表示支持扩展模块,动态扩展模块,apache和php都支持以一个模块的形式存在
      –enable-mods-shared=most 表示指定需要哪些动态扩展的模块,需要加载哪些呢?most就是绝大多数

     --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    安装完之后,我们可以查看httpd的目录结构及modules目录下面的模块文件:

    ll /usr/local/apache24

      

    bin 命令放置的目录
    conf 主要存放了配置文件httpd.conf,这个是最重要的配置文件,Apache的所有主要权限和功能都在这个文件中进行了详细的设置htdocs
    logs 日志相关的目录
    modules 模块放置的目录

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    查看apache加载了哪些模块,使用命令(两条命令一样):
    /usr/local/apache2.4/bin/httpd -M
    /usr/local/apache2.4/bin/apachectl -M

    前面以AH0058开头的行,并不是错误,仅仅是一个警告
    带有 shared 字样的,表示该模块为动态共享模块;带有 static 字样的,它表示以静态形式存在。两者区别在于,静态模块直接和主程序(/usr/local/apache24/bin/httpd)绑定在一起,动态模块则是一个个独立存在的文件

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

  执行:/usr/local/apache24/bin/apachectl start

  提示一句    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.68.194. Set the 'ServerName' directive globally to suppress this message

  这是因为/usr/local/apache24/conf/httpd.conf 中的ServerName被注释了,放开就好了。

  启动之后检查:curl localhost  能看到 It works!  就完成了。

  为了以后方便,可以把它添加到服务中去,将apachectl 拷贝到 /etc/init.d/httpd, 这样执行  service httpd start    就可以直接启动服务了

linux源码安装apache的更多相关文章

  1. Linux 源码安装apache 与常见错误解决

    文档原位置 一.编译安装apache 1.解决依赖关系 httpd-2.4.4需要较新版本的apr和apr-util,因此需要事先对其进行升级. 升级方式有两种,一种是通过源代码编译安装,一种是直接升 ...

  2. linux下源码安装apache服务

    1.搭建静态网站是,我们只需要搭建apache服务即可满足要求. 例如:如果我再客户端游览器输入地址,他会找到192.168.1.100这个服务器,然后根据端口会找到apache服务器.apache他 ...

  3. 烂泥:源码安装apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 最近要开始学习nagios监控方面的知识了,但是nagios与apache结合的比较紧密,所以本篇文章就先把apache的源码安装学习下. 我们现在分以 ...

  4. 源码安装apache

    目标:源码安装apache 依赖包:apr.apr-util和pcre.其中pcre正则库要先安装,apr和apr-util(已解压)可以复制到apache下的资源库srclib下. 安装pcre: ...

  5. Linux源码安装JDK1.8

    Linux源码安装Java 1.到官网下载 jdk-8u131-linux-x64.tar.gz 官网地址:http://www.oracle.com/technetwork/java/javase/ ...

  6. mysql-5.5 for linux源码安装

    mysql-5.5 for linux源码安装 1.使用Yum安装依赖软件包 # yum install -y gcc gcc-c++ gcc-g77 autoconf automake bison  ...

  7. Centos7源码安装Apache和PHP

    源码安装Apache 安装需要的依赖 yum -y install gcc autoconf automake make pcre pcre-devel openssl openssl-devel​# ...

  8. centos7源码安装Apache及Tomcat

    源码安装Apache (1) 一.通过 https://apr.apache.org/  下载 APR 和 APR-util 通过 http://httpd.apache.org/download.c ...

  9. Linux源码安装软件

    Linux环境下 源码编译安装软件 ==== 1. 下载,步骤略 ==== 2. 验证,部分官方下载同时提供签名,MD5,sha1,sha256等校验信息. $ gpg --verify gnupg- ...

随机推荐

  1. 学习动态性能表(8)--v$lock&v$locked_object

    学习动态性能表 第八篇-(1)-V$LOCK  2007.5.31 这个视图列出Oracle 服务器当前拥有的锁以及未完成的锁或栓锁请求.如果你觉着session在等待等待事件队列那你应该检查本视图. ...

  2. nginx之 [error] 6702#0:XXX is forbidden (13: Permission denied)

    问题描述: 配置完 nginx 两个虚拟机后,客户端能够访问原始的server ,新增加的 server 虚拟机 不能够访问,报错如下页面 解决过程: 1. 查看报错日志[root@mysql03 n ...

  3. ASP.NET MVC5中View显示Html

    @Html.Raw(Model.Name) @(new HtmlString(Model.Name));

  4. 机器学习:PCA(实例:MNIST数据集)

    一.数据 获取数据 import numpy as np from sklearn.datasets import fetch_mldata mnist = fetch_mldata("MN ...

  5. Disconf —— 来自百度的分布式配置管理平台

    摘要 为了更好的解决分布式环境下多台服务实例的配置统一管理问题,本文提出了一套完整的分布式配置管理解决方案(简称为disconf[4],下同).首先,实现了同构系统的配置发布统一化,提供了配置服务se ...

  6. L2-023. 图着色问题(暴力)

    L2-023. 图着色问题 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 图着色问题是一个著名的NP完全问题.给定无向图 G ...

  7. git教程(远程仓库和管理分支)

    在github上新建了一个仓库,然后相与本地的仓库联系起来 $ Git remote add origin https://github.com/liona329/learngit.git fatal ...

  8. 某个应用使cpu使用率100%

    --CPU使用率 Linux是一个多任务的操作系统,将每个cpu的时间划分为很短的时间片,再通过调度器轮流分配给各个任务使用,因此造成多任务同时运行的错觉 为了维护cpu时间,linux通过事先定义的 ...

  9. 解决django不能以本机ip地址访问

    在使用django框架来架设网站时,我们测试一般是通过django的开发服务器来完成,但是我们可以看到生成的地址是127.0.0.1:8000这样的话,我们在外网就无法访问了. 解决办法是通过传入第三 ...

  10. python的raw_input()函数。 函数的可变对象和不可变对象作为参数传递。

    python的raw_input()函数, 接受键盘输入, 其返回值是字符串类型, 所以当输入的是数字时, 如果是想参与算术运算, 必须要对其进行类型转换. python的参数传递, 对于可变对象和不 ...