編譯安裝httpd-2.2.31

一. 預備環境:

  # 編譯安裝apache之前需要確認:apr(apache虛擬機),apr-util,apr-util-ldap的版本, 不同的版本所依賴的apr版本不同.

  # httpd-2.2.*只需依賴於apr-1.3.9即可        

  # httpd-2.4.*需要依賴於apr-1.4.*或以上的版本

  # 如需下載相應的版本: http://apr.apache.org/  

  # 查看apr的版本

 [root@caiya ~]# rpm -qa apr*

  apr-1.3.9-5.el6_2.i686

  apr-util-ldap-1.3.9-3.el6_0.1.i686

  apr-util-1.3.9-3.el6_0.1.i686

  [root@caiya ~]# 

  # centos 6.X 版本自帶的apr基本都是 apr-1.3.X, 滿足httpd-2.2.x的要求. 直接安裝即可


二. 安裝apache(httpd)

  # 下載httpd安裝包(就近選擇的下載地址, 搜狐鏡像站點)

  [root@caiya software]# wget http://mirrors.sohu.com/apache/httpd-2.2.31.tar.gz

  [root@caiya software]# tar zxvf httpd-2.2.31.tar.gz

  [root@caiya software]# cd httpd-2.2.31


  # httpd的模塊解釋:

  # 指定安裝路徑

  # --prefix=/usr/local/apache

  # 指定配置文件的路徑

  # --sysconfdir=/etc/httpd

  # 裝載核心模塊,支持動態共享模塊,以模塊的方式加載PHP, 如果不開啓, 無法使用PHP

  --enable-so                           

  # 支持URL重寫 

  --enable-rewrite                    

  # 支持ssl的功能, 否則無法使用https

  --enable-ssl                           

  # 啓動壓縮機會, 將文本信息壓縮後回覆給客戶端, 瀏覽器自動解壓, 很常用的一種壓縮機制 

  --enable-deflate                    

  # 讓PHP以FastCGI的模式工作, 必須要開啓此項

  --enable-proxy-fcgi                


  # 配置

  [root@caiya httpd-2.2.31]# ./configure \

  --prefix=/usr/local/httpd-2.2.31 \

  --sysconfdir=/etc/httpd \

  --enable-so \

  --enable-rewirte \

  --enable-ssl \

  --enable-cgi \

  --enable-cgid \ 

  --enable-modules=most \

  --enable-mods-shared=most \

  --enable-mpms-shared=all


  # 如果報如下錯誤:

  checking for pcre-config... false

  configure: error: pcre-config for libpcre not found. 

  PCRE is required and available from http://pcre.org/

  # 解決辦法

  [root@caiya httpd-2.2.31]# yum install pcre-devel -y

  # 編譯, 安裝

  [root@caiya httpd-2.2.31]# make

  [root@caiya httpd-2.2.31]# make install

  # 注意: httpd受selinux控制, 如果selinux爲運行狀態, 有可能導致httpd無法啓動

  # 此時爲關閉狀態, 如果不是關閉狀態, 修改selinux配置文件 vim /etc/selinux/config 修改爲: SELINUX=disabled

  [root@caiya local]# getenforce

  Disabled

  [root@caiya local]# 

  # 至此apache已經安裝完畢


三. 配置apache

  # 啓動apache

  # 編譯安裝的啓動腳本在: /usr/local/httpd-2.2.31/bin/apachectl

  [root@caiya bin]# /usr/local/httpd-2.2.31/bin/apachectl start

  # 如果報如下錯誤:

  AH00557: httpd: apr_sockaddr_info_get() failed for caiya.localdomain

  AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. 

  Set the 'ServerName' directive globally to suppress this message

  # 解決辦法:

  [root@caiya httpd]# vim /etc/httpd/httpd.conf

  找到"#ServerName www.example.com:80" 去掉前面的註釋

  

  # 檢測是否正常啓動(當前爲正常狀態)

  [root@caiya bin]# /usr/local/httpd-2.2.31/bin/apachectl start

  [root@caiya bin]# netstat -tnlp | grep 80

  5:tcp  0  0  :::80  :::*  LISTEN  41862/httpd         

  [root@caiya bin]# ps -ef | grep httpd
  65:root    1397    1  0  15:14 ? 00:00:00 /usr/local/httpd-2.2.31/bin/httpd -k start
  66:daemon  1398  1397  0  15:14 ? 00:00:00 /usr/local/httpd-2.2.31/bin/httpd -k start
  67:daemon  1399  1397  0  15:14 ? 00:00:00 /usr/local/httpd-2.2.31/bin/httpd -k start
  68:daemon  1400  1397  0  15:14 ? 00:00:00 /usr/local/httpd-2.2.31/bin/httpd -k start
  69:daemon  1401  1397  0  15:14 ? 00:00:00 /usr/local/httpd-2.2.31/bin/httpd -k start
  70:daemon  1402  1397  0  15:14 ? 00:00:00 /usr/local/httpd-2.2.31/bin/httpd -k start
  71:daemon  1403  1397  0  15:14 ? 00:00:00 /usr/local/httpd-2.2.31/bin/httpd -k start
  73:root  1405  1778  0 15:14 pts/1 00:00:00 grep --color -n httpd
  [root@caiya bin]# 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章