环境准备

  1. 本机环境:
    uname -r
    cat /etc/redhat-release
    centos安装apache - 图1
    1.1 软件包版本:
    1. apr 1.6.3
    2. apr-util 1.6.1
    3. httpd 2.4.33
  1. 准备工作:
    yum -y update
    yum -y install gcc openssl openssl-devel openssl-clients pcre pcre-devel perl perl-devel pcre expat-devel
    2.1. 在官网下载源码包:
    cd /usr/
    1. wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz
    2. wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz
    3. wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.33.tar.gz
    2.2 下载并解压后,进行文件操作
  1. ls
  2. mv apr-1.6.3 apr
  3. mv apr-util-1.6.1 apr-util
  4. ls
  5. mv apr apr-util httpd-2.4.33/srclib/
  6. ls /usr/httpd-2.4.33/srclib/
  7. cd /usr/httpd-2.4.33/

安装过程

  1. 执行编译命令
  1. ./configure \
  2. --prefix=/usr/local/apache2 \
  3. --with-included-apr \
  4. --enable-so \
  5. --enable-deflate=shared \
  6. --enable-expires=shared \
  7. --enable-rewrite=shared \
  8. --with-pcre \
  9. --with-ssl

注:

  1. P.S.如果可以编译/安装成功,不需要对apr和apr-util 安装。否则还是要装


  1. --prefix=/usr/local/apache2
  2. 指定安装路径
  3. --with-included-apr
  4. Apache portable Run-time librariesApache可移植运行库
  5. --enable-s
  6. 激活apachedso模块的支持,以后可以用DSO方式编译安装共享模块。
  7. --enable-deflate=shared
  8. 提供对内容的压缩传输编码,shared表示动态加载,需要时再加载模块。
  9. --enable-expires=shared
  10. 允许通过配置文件控制http"Expires" "Cache-Control"头内容,对图片,cssjs等内容配置客户端浏览器缓存。
  11. --enable-rewrite=shared
  12. 提供基于url 规则的重写功能
  13. --with-pcre
  14. perl兼容正则表达式库
  15. --with-ssl
  16. 支持ssl
  • 编译和安装

make && make install

启动apache

  1. 编译和安装
  2. 启动前,应当设置:

    1. vi /usr/local/apache2/conf/httpd.conf
    2. 查找到/ServerName,添加一行:
    3. ServerName xxx(服务器的hostname):80

    /usr/local/apache2/bin/apachectl ,目录请根据实际情况判断

  3. 编译安装的httpd添加到开机自启

    1. cp /usr/local/apache2/bin/apachectl /etc/rc.d/init.d/
    2. cd /etc/rc.d/init.d/
    3. mv apachectl httpd
    4. vi httpd 在开头添加三行:
    5. #!/bin/bash
    6. #chkconfig:345 61 61
    7. #description:Apache httpd
    8. chkconfig --add httpd
    9. chkconfig --list|grep httpd 确认没问题,添加进去了
    10. chkconfig --level |2345 httpd on chkconfig httpd on
    11. chkconfig --list |grep httpd
  4. 参考连接:
    编译和安装
    配置选项
    源码安装httpd-2.4.25
    64位下源码安装apache2

问题总结:

  1. 运行 service httpd status 的时候,提示信息如图:
    centos安装apache - 图2
    查询解决方法,可能是没有 status 这个参数。。。就很无语,如图:
    centos安装apache - 图3

    1. 其他命令,如 service httpd start ; service httpd restart ;service httpd stop ,可以运行,无报错。