亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關注微信公眾號

Apache2.2版本的編譯安裝
2007-09-21   51CTO.com 

像其它許多開源項目一樣,Apache使用libtool和autoconf建立編譯環境。

如果你只進行很小的版本升級(比如2.2.54→2.2.55),請直接跳轉到下面的升級部分。

◆針對心急者的概述

下載 $ lynx http://httpd.apache.org/download.cgi
解壓 $ gzip -d httpd-NN.tar.gz

$ tar xvf httpd-NN.tar

$ cd httpd-NN
配置 $ ./configure --prefix=PREFIX
編譯 $ make
安裝 $ make install
配置 $ vi PREFIX/conf/httpd.conf
測試 $ PREFIX/bin/apachectl -k start

其中NN必須用當前的副版本號替代;PREFIX是服務器被安裝到文件系統中的路徑名,如果沒有指定PREFIX,默認會裝到/usr/local/apache2

下面從編譯和安裝Apache httpd的要求開始詳細闡述編譯和安裝的每個步驟。

◆要求

編譯Apache的要求如下:

磁盤空間

必須保證有50MB以上的自由臨時磁盤空間。Apache安裝完畢后會占據10MB左右的空間,實際的磁盤空間需求會因編譯設置和是否安裝第三方模塊而有所不同。

ANSI-C編譯器及編譯環境

必須裝有ANSI-C編譯器,推薦使用自由軟件基金會(FSF)的GCC。如果沒有GCC,那么要確保使用的編譯器符合ANSI標準,而且PATH中必須包含指向基本編譯工具比如make的路徑。

確保準確的時間

由于HTTP協議的元素都會用到時間,有必要了解一下你的系統所使用的時間同步機制。在基于網絡時間協議(NTP)的系統中,一般是用ntpdate或xntpd來同步時間。有關NTP軟件的資料請參見NTP主頁。

Perl 5 [可選]

有些用Perl寫的支持腳本,如apxs或dbmmanage ,需要Perl5解釋器(5.003或以上的版本就足夠了)。如果系統中存在多個Perl解釋器,比如有系統提供的Perl 4,還有你自己安裝的Perl 5,推薦你使用 --with-perl 選項來確保configure腳本使用正確的版本。如果configure沒有沒找到Perl 5也沒關系,這并不影響Apache httpd的編譯和安裝,只是相關的支持腳本不能使用而已。

apr/apr-util >= 1.2

apr和apr-util包含在Apache httpd的發行源代碼中,并且在絕大多數情況下使用都不會出現問題。當然,如果apr或apr-util的1.0或1.1版本已經安裝在你的系統中了,則必須將你的apr/apr-util升級到1.2版本,或者將httpd單獨分開編譯。要使用發行源代碼中自帶的apr/apr-util源代碼進行安裝,你必須手動完成:

# 編譯和安裝 apr 1.2
cd srclib/apr
./configure --prefix=/usr/local/apr-httpd/
make
make install

# 編譯和安裝 apr-util 1.2
cd ../apr-util
./configure --prefix=/usr/local/apr-util-httpd/ 
   --with-apr=/usr/local/apr-httpd/
make
make install

# 配置 httpd
cd ../../
./configure --with-apr=/usr/local/apr-httpd/ 
   --with-apr-util=/usr/local/apr-util-httpd/

◆下載

Apache可以從Apache HTTP服務器下載站點及其鏡像站點下載。大多數類UNIX系統的Apache用戶最好的選擇是下載源代碼并編譯一個適合自己的版本,這個過程(下面將要講述)是很簡單的,它允許你根據自己的需求進行定制。另一方面編譯好的二進制版本通常沒有進行及時的更新。如果你下載的是編譯好的二進制版本,請按照其中的INSTALL.bindist文件進行安裝。

下載完畢后,應該對下載來的tar包作PGP簽名校驗,以確保其完整而且未被篡改過。(PGP下載頁面)

◆解壓

解壓Apache httpd的tar包很簡單:

$ gzip -d httpd-NN.tar.gz

$ tar xvf httpd-NN.tar

這樣就在當前目錄下新建了一個包含發行版源代碼的目錄,必須cd進入這個目錄以繼續服務器的編譯。

◆配置源代碼樹

這一步是根據你的特定平臺和個人需求配置源代碼樹。位于發行源代碼根目錄的configure腳本會完成這個步驟(對下載Apache CVS版源代碼的開發者,需要裝有autoconf和libtool ,并需要執行buildconf ,對于官方的發行版則沒這個必要)。

要想用所有的默認值配置源代碼樹只要簡單的執行 ./configure 命令就可以了,同時configure還可以接受命令行參數以改變默認值。

最重要的選項是Apache安裝目錄的前綴:--prefix ,因為Apache需要知道這個目錄才能正常運作。更多的微調選項請參考配置選項詳解。

這樣,你就可以通過在配置選項中指定要啟用或禁用哪些模塊來定制Apache的特性。Base組的模塊默認包含在Apache中。其他組的模塊可以通過 --enable-module 指令啟用。其中module是模塊名去掉"mod_"并將下劃線轉換成連字符后的字符串。你也可以使用 --enable-module=shared 指令將模塊編譯為可在運行時加載和卸載的動態共享對象(DSO)。同樣的,你也可以使用 --disable-module 指令禁用Base組的模塊。注意,使用這些指令的時候configure不會對你拼寫錯誤的模塊發出警告說找不到某某模塊,而只是簡單的忽略這個選項。

另外,有時候還必須提供給configure腳本關于編譯器、庫、頭文件位置的更多信息。這些可以通過環境變量或者命令行選項傳遞給configure腳本。要了解更多信息,請參考配置源代碼樹。

為了讓你對能指定什么有一個簡單的印象,此例演示編譯Apache ,并將其安裝在/sw/pkg/apache目錄,指定了一個特定的編譯器以及編譯參數,而且允許今后將兩個附加的模塊mod_rewrite和mod_speling通過DSO機制在運行時動態加載:

$ CC="pgcc" CFLAGS="-O2" \

./configure --prefix=/sw/pkg/apache \

--enable-rewrite=shared \

--enable-speling=shared

configure需要運行幾分鐘,以測試指定的功能在你的系統中是否有效,并建立稍后編譯時所需的許多Makefile文件。

◆編譯

運行以下命令你就可以編譯Apache的各個部分了:

$ make

請耐心等候,因為對一個基本配置的編譯,需要運行幾分鐘左右,實際需要的時間會因為你的硬件和選擇的模塊數量有很大不同。

◆安裝

現在可以在PREFIX目錄(參見上述的 --prefix 參數)下安裝了,執行:

$ make install

如果是升級,安裝程序不會覆蓋你的配置文件和文檔。

◆配置

接著,通過修改PREFIX/conf/目錄下的配置文件,來配置Apache HTTP服務器。

$ vi PREFIX/conf/httpd.conf

docs/manual/下有Apache使用手冊,http://httpd.apache.org/docs/2.2/有最新的文檔,你還可以查看完整的指令索引。

◆測試

現在,可以執行下述命令立即啟動你的Apache HTTP服務器:

$ PREFIX/bin/apachectl -k start

你應該可以用http://localhost/來請求你的第一個網頁了,這個網頁位于DocumentRoot目錄下,通常是PREFIX/htdocs/ 。隨后,可以這樣停止服務器:

$ PREFIX/bin/apachectl -k stop

◆升級

升級的第一步是閱讀源代碼目錄中的發布公告(release announcement)和CHANGES文件以尋找可能會對你的站點產生影響的變化。如果主板本號的變化(例如1.3→2.0或2.0→2.2)表明編譯時和運行時的配置發生了重大變化,需要手動調整,所有模塊也需要升級以兼容新版本的模塊API 。

小幅度的版本升級(例如:2.2.55→2.2.57)很容易。make install 的過程不會改寫任何已經存在的文檔、日志、配置文件。此外,開發者也會盡量兼容上一版本的configure選項、運行時配置、模塊API 。大多數情況下,你將能夠使用與上一版本完全相同的configure命令行和運行時配置,而你原來的所有模塊也將正常工作。

如果你保存了上一次安裝后build子目錄中的config.nice文件,升級將更加平滑。這個文件精確地保存了所有對目錄樹進行配置的configure命令行。你只需要將config.nice文件復制到新的源代碼目錄樹的根文件夾并進行你希望的修改后,然后運行下面的命令即可完成升級:

$ ./config.nice

$ make

$ make install

$ PREFIX/bin/apachectl -k graceful-stop

$ PREFIX/bin/apachectl -k start

你應該總是在將新版本的Apache投入正式運行前,對這個新版本進行足夠的、針對你的實際運行環境的測試。比如,你可以使用一個不同的 --prefix 設置將新版本安裝在一個不同的目錄,并使用Listen指令在一個不同的端口監聽。經過一段時間的測試以發現可能存在的問題,然后再做出最后的決定。

熱詞搜索:

上一篇:在Microsoft Windows中使用Apache(2)
下一篇:帶你走進 IIS 的世界

分享到:           收藏