CentOS6编译安装Apache

一、目标

  1、熟练掌握CentOS6.5下Apache的编译安装

  2、能够解决编译过程中产生的问题,并对相应问题进行记录

二、编译前环境搭建

  1、环境搭建

    所需环境:make、gcc、gcc-c++、openssl-devel、pcre、pcre-devel、zlib*、expat-devel

    说明:所有软件包在本地yum源中都有,yum配置https://www.cnblogs.com/fengyuzhige/p/11150515.html

  2、安装软件包准备(已保存到百度网盘)

    1)apr-1.6.5.tar.gz  下载地址:http://apr.apache.org/download.cgi;https://mirrors.tuna.tsinghua.edu.cn/apache/apr/

    2)apr-util-1.6.1.tar.gz  下载地址:http://apr.apache.org/download.cgi;https://mirrors.tuna.tsinghua.edu.cn/apache/apr/

    3)httpd-2.4.38.tar.bz2  下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/

三、编译安装

  1、编译安装apr

    1)解压apr

      tar  -zxvf apr-1.6.5.tar.gz

    2)进入解压后的目录,并将其配置到/usr/local/apr目录中

      cd  apr-1.6.5

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

    3)编译并安装

      make -j 4  &&  make  install

  2、编译安装apr-util

    1)解压apr-util

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

    2)进入解压后的目录,将其配置到/usr/local/apr-util目录中,并指定apr位置

      cd  apr-util-1.6.1

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

    3)编译并安装

      make  &&  make  install

  3、编译安装httpd

    1)解压httpd

      tar  -jxvf  httpd-2.4.38.tar.bz2

    2)进入解压后目录,将其配置到/usr/local/apache目录中,并指定apr、apr-util位置和其他参数

      ./configure --prefix=/usr/local/apache --sysconf=/etc/httpd --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork

        --sysconf=/etc/httpd 配置文件位置
        --enable-so 支持模块化
        --enable-ssl 支持ssl功能
        --enable-cgi 支持cgi功能
        --enable-rewrite 支持url重写
        --enable-modules=most 启用模块级别:most大多数
        --enable-mpms-shared=all 支持所有支持的模块
        --with-mpm=prefork/event/worker mpm模块为prefork模式
        --with-zlib 支持传输压缩
        --with-pcre 支持pcre正则表达式
        --with-apr=/usr/local/apr apr位置为/usr/local/apr
        --with-apr-util=/usr/local/apr-util apr-util位置为/usr/local/apr

    3)编译并安装

      make  &&  make  install

四、安装后的设置

  1、打开源码包中build/rpm/httpd.init文件

  2、在文件第二行添加内容(不用添加):   

    #chkconfig:35  92 92

    #description:httpd

  3、将build/rpm/httpd.init文件复制到/etc/rc.d/init.d/目录下改名为httpd,并将httpd服务添加进chkconfig

    cp  /usr/local/apache/bin/apache  /etc/rc.d/init.d/httpd

    chkconfig  --add  httpd

    chkconfig  --list  |  grep  httpd

  4、检测httpd的配置文件是否有语法错误,并清空缓存

    /usr/local/apache/bin/httpd  -t

    bash  -r

  5、将/usr/local/apache/bin添加到环境变量

    vim  /etc/profile.d/httpd.sh

      export  PATH=/usr/local/apache/bin:$PATH

    执行环境变量:chmod +x /etc/profile.d/httpd.sh  &&  source httpd.sh

    查看:echo  $PATH

  6、启动httpd服务,并查看结果

    service  httpd  start

    ps  aux  |  grep  httpd

  7、查看mpm启动的模块

    httpd  -M

    其配置内容在/etc/httpd24/httpd.conf

      LoadModule mpm_event_module modules/mod_mpm_event.so
      #LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
      #LoadModule mpm_worker_module modules/mod_mpm_worker.so

五、出错总结

  1、需要安装openssl-devel

checking for OpenSSL version >= 0.9.8a... FAILED
configure: WARNING: OpenSSL version is too old
no
checking whether to enable mod_ssl... configure: error: mod_ssl has been requested but can not be built due to prerequisite failures

  2、在执行./httpd.sh时报错,执行后PATH没改变

    使用source命令运行

  

 

posted @ 2019-07-08 12:33  风雨之歌  阅读(417)  评论(0编辑  收藏  举报