apache2.4.27編譯安裝

來源:互聯網
上載者:User

標籤:apache編譯安裝   apache 2.4.27安裝

#apache 2.4編譯安裝#

第1步:安裝gcc編譯器。

yum  install  -y   gcc   gcc-c++   openssl-devel   pcre  pcre-devel

說明:openssl-devel是讓apache支援ssl安全通訊端功能。

因為rewirte重寫功能需要pcre-devel支援。所以要安裝pcre和pcre-devel軟體。

PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 相容的Regex庫。pcre來解決C語言中使用Regex的問題。


或者下載pcre,編譯安裝

tar  zxvf pcre-8.31.tar.gz

cd  pcre-8.31

./configure && make && make install

說明:預設安裝在/usr/local/目錄中。


第2步:準備軟體包。

從http://httpd.apache.org下載最新的httpd、apr、apr-util,然後解壓縮。

tar zxvf apr-1.5.1.tar.gz 

tar zxvf apr-util-1.5.4.tar.gz 

tar zxvf httpd-2.4.27.tar.gz


由於現在最新的httpd-2.4都需要apr、apr-util。

APR功能:(Apache portableRun-timelibraries,Apache可移植運行庫)的目的如其名稱一樣,主要為上層的應用程式提供一個可以跨越多作業系統平台使用的底層支援介面庫。

方法一:插入方法安裝

說明:插入方法安裝(即內嵌apr軟體包),在編譯httpd-2.4.7的同時編譯安裝apr軟體。

mv  apr-1.5.1   httpd-2.4.27/srclib/apr 

mv  apr-util-1.5.4  httpd-2.4.27/srclib/apr-util 

cd  httpd-2.4.27 

./configure  --prefix=/usr/local/apache2 --sysconfdir=/etc/apache2/conf/ --with-inculded-apr --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mpms-shared=all



方法二:一步一步安裝

共有a、b、c三個步驟。

a.編譯安裝apr

cd  apr-1.5.1 

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

make && make install


b.編譯安裝apr-util

apr-util-1.5.4 

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

make && make install


c.編譯安裝httpd

[[email protected] ~]# cd  httpd-2.4.27 

[[email protected] httpd-2.4.7]# ./configure \ 

prefix=/usr/local/apache2 \ 

sysconfdir=/etc/apache2/conf \ 

enable-so \ 

enable-rewirte \ 

enable-ssl \ 

enable-cgi \ 

enable-cgid \ 

enable-modules=most \ 

enable-modules-shared=most \ 

enable-mpms-shared=all \ 

with-apr=/usr/local/apr \ 

with-apr-util=/usr/local/apr-util


--prefix=/usr/local/apache2 :指定安裝目標路徑

--sysconfdir=/etc/apache2/conf :指定設定檔安裝位置

--enable-so :支援動態共用模組,如果沒有這個模組PHP將無法與apache結合工作

--enable-rewirte :支援URL重寫

--enable-ssl :啟用支援ssl

--enable-cgi :啟用支援cgi

--enable-cgid :啟用支援帶線狀圖形的CGI指令碼 MPMs

--enable-modules=most :安裝大多數模組

--enable-modules-shared=most :安裝大多數共用模組

--enable-mpms-shared=all :支援全部多道處理方式

--with-apr=/usr/local/apr :指定apr路徑

--with-apr-util=/usr/local/apr-util :指定apr-util路徑


配置完成後,編譯並安裝:

[[email protected] httpd-2.4.7]# make && make install


編譯安裝後的檔案結構:

1、主設定檔:/etc/apache2/conf/httpd.conf

2、命令和指令碼目錄:/usr/local/apache2/bin

3、預設網站的首頁:/usr/local/apache2/htdocs/index.html

4、網頁版協助手冊:/usr/local/apache2/manual/index.html

5、man手冊:/usr/local/apache2/man

6、擴充功能設定檔目錄:/etc/apache2/conf/extra/      目錄中的設定檔如下

   httpd-vhosts.conf  虛擬機器主機設定檔

   httpd-default.conf  預設設定設定檔

   httpd-userdir.conf  使用者家目錄首頁功能設定檔(類似於QQ空間)

   httpd-mpm.conf  工作模式設定檔(進程模式、線程模式的參數)

   httpd-manual.conf  協助手冊設定檔

   httpd-ssl.conf  ssl安全通訊端設定檔

   httpd-languages.conf  語言設定檔

   httpd-autoindex.conf  自動索引設定檔


第3步:修改httpd.conf設定檔。

說明:需要修改2處。

1.修改/etc/hosts,增加一行

127.0.0.1  apserver   www.example.com


2.修改 /etc/apache2/conf/httpd.conf     修改如下代碼

User   apache    //進程的屬主(170行)。找到此行,將daemon改成apache。

Group  apache    //進程的屬組(171行)。找到此行,將daemon改成apache

ServerName  www.example.com:80    //網站的網域名稱(201行)。找到此行,並啟用此行


注意:1、apserver、www.example.com都是主機名稱。

2、如果不啟用ServerName這行,啟動服務時將會有警告,可能導致apache服務無法正常啟動。


第4步:手動啟動服務:

cd   /usr/local/apache2/bin

ls

./apachectl   start    //啟動apache服務,apachectl是個指令檔

./apachectl   stop    //停止apache服務

./apachectl   status   //查看apache服務狀態


查進程狀態:ps  aux|grep  httpd

查連接埠狀態:ss  -atunlp|grep  :80  或  netstat  -atunlp|grep  :80  或  lsof  -i:80


第5步:配置apache的環境變數:

1、編輯環境變數檔案。

vi  /etc/profile  添加如下內容

PATH="$PATH:/usr/local/apache2/bin"


2、載入環境變數檔案。

source   /etc/profile


3、手動啟動服務測試:

說明:添加了新的PATH環境變數後,可以在任何目錄中運行指令碼。

cd    

apachectl   stop  

apachectl  start



第6步:配置啟動指令碼:(首選)

方法一:用編譯安裝後的指令檔設定開機啟動(首選)

1、準備啟動指令檔:

cd  /usr/local/apache2/bin

cp  -pv  apachectl   /etc/init.d/apache

vi  /etc/init.d/apache   修改如下內容

#!/bin/sh    //找到此行,並添加下一行內容

# chkconfig:  -  85  15      //允許用chkconfig管理

#上行的-減號是控制預設的運行層級(預設為2~5),85為開機開機檔案名S85apache的序號,15是開機不啟動的檔案名稱K15apache中的序號。開機檔案路徑:ls  /etc/rc.d/rc3.d/S85apache。


2、設定為開機啟動,並驗證

chmod  +x  /etc/init.d/apache    //添加x可執行許可權

chkconfig  apache  on     //設為開機啟動

chkconfig  apache  --list    //查看開機啟動設定狀態

service  apache  stop     // 停止apache服務

service  apache  start     // 啟動apache服務


查連接埠狀態:netstat  -atunlp|grep  :80

本地測試網站的訪問:curl  127.0.0.1


3、(選做,可不做)給apache相關的檔案和目錄建立軟連結。

[email protected] httpd-2.4.7]# cd /usr/sbin/ 

[[email protected] sbin]# ln  -s  /usr/local/apache2/bin/*  ./ 

為記錄檔建立軟連結 

[[email protected] sbin]# ln -s /usr/local/apache2/logs  /var/log/apache

到此,apache-2.4.27編譯安裝和配置實驗完畢。


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

方法二:配置啟動指令碼:

[[email protected] httpd-2.4.7]# cp build/rpm/httpd.init /etc/init.d/apache //使用init指令碼管理httpd 

[[email protected] httpd-2.4.7]# vim /etc/init.d/apache 

          httpd=${HTTPD-/usr/sbin/httpd}          修改成 httpd=${HTTPD-/usr/local/apache2/bin/httpd} 

          pidfile=${PIDFILE-/var/run/${prog}.pid}  修改成pidfile=${PIDFILE-/usr/local/apache2/logs/${prog}.pid} 

          lockfile=${LOCKFILE-/var/lock/subsys/${prog}} 

          RETVAL=0 

          # check for 1.3 configuration 

        check13 () { 

              CONFFILE=/etc/apache2/conf/httpd.conf  修改成CONFFILE=/etc/apache2/conf/httpd.conf 

[[email protected] httpd-2.4.7]# chmod 755 /etc/init.d/apache //增加執行許可權 

[[email protected] httpd-2.4.7]# chkconfig  apache  on   //設定apache到服務開機啟動 

[[email protected] httpd-2.4.7]# chkconfig  apache --list  //查看apache開機設定狀態

[email protected] httpd-2.4.7]# cd /usr/sbin/ 

[[email protected] sbin]# ln  -s  /usr/local/apache2/bin/*  ./ 

為記錄檔建立軟連結 

[[email protected] sbin]# ln -s /usr/local/apache2/logs  /var/log/apache


如果啟動httpd的時候出現


Starting httpd: AH00557: httpd: apr_sockaddr_info_get() failed for apserver 

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 

                                                          [  OK  ]


則需要修改2處:


1.修改/etc/hosts,增加一行

127.0.0.1  apserver


2.修改 /etc/apache2/conf/httpd.conf,在最後增加一行

ServerName  apserver


注意:apserver為機器名稱

""


apache2.4.27編譯安裝

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.