httpd源码安装

apache httpd server源码安装坑多,记录踩坑过程

安装环境

centos6.9,64位,最小化安装
http-server 规划目录 /opt/httpd/

安装过程

  1. 配置编译安装环境
    源码安装需要安装3个主要包,httpd、apr、apr-util、pcre。httpd、apr编译工具为gcc,apr-util编译工具为gcc-c++,pcre编译需要expat-devel支持。

    1
    sudo yum install gcc gcc-c++ expat-devel
  2. 下载源码

    1
    2
    3
    4
    5
    cd ~
    wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.28.tar.gz
    wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.2.tar.gz
    wget https://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.0.tar.gz
    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.41.tar.gz
  3. 解压安装pcre
    如果报错xml,则安装expat-devel

    1
    2
    3
    4
    5
    6
    gzip -d pcre-8.41.tar.gz
    tar xvf pcre-8.41.tar
    cd pcre-8.41
    ./configure
    make
    make install
  4. 整合apr、apr-util源码到httpd源码,编译安装

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    cd ~
    gzip -d httpd-2.4.28.tar.gz
    gzip -d apr-1.6.2.tar.gz
    gzip -d apr-util-1.6.0.tar.gz
    tar xvf httpd-2.4.28.tar
    tar xvf apr-1.6.2.tar
    tar xvf apr-util-1.6.0.tar
    mv apr-1.6.2 ./httpd-2.4.28/srclib/apr
    mv apr-util-1.6.0 ./httpd-2.4.28/srclib/apr-util
    cd httpd-2.4.28
    ./configure --prefix=/opt/httpd --with-included-apr
    make
    make install

修改配置文件并启动测试

由于使用的非sudo用户,只能开启1000以上端口,所以配置文件有两处要修改

1
2
3
vi /opt/httpd/conf/httpd.conf
Listen 8080 #原为80
ServerName localhost:8080 #之前没有,在注释行#ServerName后添加

启动服务/opt/httpd/bin/apachectl -k start,通过浏览器访问服务器ip的8080端口,出现“it work”即表明安装成功。