FreeBSD連載(83):Apache基本安裝

2000年1月24日 14:29 王波

安裝和設置Apache

  由於HTTP協議比較簡單,因此Web伺服器軟體相當多,但是性能、可靠性、功能等都非常優秀的卻並不是很多 。目前最流行的Web伺服器軟體是Apache,它基於幾年前相當流行的一種Web伺服器NCSA-httpd,並增 加了很多新的特點,以增加功能和提高效率,因此它的使用非常流行。

  Apache的網址為http://www.apache.org,這裡可以找到關於Apache的最新源文 件和二進制檔案、文檔和相關的開發計劃。這裡提到的Apache本身及其相關的模塊的源檔案,均可以在這個站點中獲得 。

  Apache可以運行在各種操作系統──從Unix到Windows系統上,易於安裝和配置,提供了很多較新 的特性,例如它支持模塊功能,很容易就能通過增加新的模塊以增加新的伺服器功能。Apache和FreeBSD結合起 來,提供了出色的穩定性和性能,非常適合建立重負載的專業Web站點。

  在FreeBSD上安裝Apache伺服器非常容易,可以使用Packages Collection安裝A pache伺服器的二進制版。然而,如果是基於特殊目的而需要調整Apache支持的模塊,就需要重新編譯Apache 。重新編譯可以使用Ports Collection進行編譯和安裝。

  在Ports Collection中,提供了好幾個版本的Apache伺服器,其中一些屬於Apache 1.2.x版本,而另一些為Apache 1.3版本,即使是同一個Apache版本,也提供了使用了不同模塊支持的 Apache。目前應該選擇Apache 1.3版本,第一次安裝可以選擇基本版本apache13,這個版本中沒有 提供額外的模塊支持,此後當正式使用Apache的時候,會需要加入SSL支持和PHP3支持,因此應該選擇 apach13-modssl或apache13-php3版本。其中基本版本apache13和apache13-php3 有預編譯的二進制軟體包。

  • 基本安裝

  使用Packages Collection或Ports Collection可以輕松安裝Apache服 務器。安裝時將預設設置檔案復制到了/usr/local/etc/apache目錄下,除了這些標準的設置檔案之外 ,這些設置檔案還有對應的以.default為後綴的備份,如果萬一設置檔案被破壞,可以使用這些備份來恢復預設配置 檔案。而預設配置檔案中的文檔目錄為/usr/local/www/data,指向隨同軟體一起安裝的apache文 檔,CGI程序的目錄為/usr/local/www/cgi-bin。

  在稍早的版本中,預設配置檔案和文檔路徑並沒有直接安裝好,而僅僅安裝了以.default結尾的備份檔案, 以及cgi-bin.default,data.default目錄。以提醒使用者修改預設配置檔案。將這些.def ault結尾的檔案和目錄復制為不包括.default後綴的檔案和目錄就能得到正確的設置。

  預設設置並不一定百分之百保証能啟動Apache伺服器,預設設置適合絕大多數情況,但不能保証沒有特殊情況 發生,例如伺服器沒有正確的配置名字等。一般情況下,不需要更改預設設置就可以直接啟動Apache伺服器了,但即使 如此,使用者也需要根據自己的實際情況更改設置檔案,例如修改管理員的電子郵件地址等。如果Apache伺服器不能正 常啟動,也沒有關系,這僅僅說明預設設置不適合該電腦的實際情況,可以通過調整設置參數來進行修正。

  Ports Collection安裝的預設設置檔案並不是Apache軟體包中直接附帶的模板檔案,而是P ort的維護者根據FreeBSD環境加以更改之後的設置,因此適合大部分FreeBSD環境,基本上不進行改動就能 啟動Apache。

  安裝完畢之後,就可以嘗試啟動Apache伺服器了,通常可以使用apachectl程序來完成這個操作。

# /usr/local/sbin/apachectl start

  如果安裝的apache為較早的1.2.x系列版本,那麼可能不存在apachectl這個管理命令,可以通 過安裝到/usr/local/etc/rc.d目錄中的啟動腳本apache.sh來啟動Apache。或者直接執 行Apache伺服器的守護進程程序──httpd。

# /usr/local/etc/rc.d/apache.sh start

  在提供了apachectl命令的Apache 1.3版本,apache.sh實際是調用這個命令啟動和停 止伺服器。

  當伺服器啟動之後,就可以使用瀏覽器來查看伺服器是否回應http請求,可以使用X Window下的Net scpe Navigtor,然而更方便的工具為字符界面的瀏覽器lynx。對於進行管理和維護來講,還可以使用te lnet向Web伺服器直接發送控制命令,為了驗証伺服器是否正常運行,不需要請求某個文檔,只需要發送HEAD請求 就可以了。

$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
HEAD /http/1.0
HTTP/1.0 200 OK
Date: 

  如果伺服器能象這個例子一樣回應對80端口的連接請求,並對用戶輸入的請求命令返回一定的結果,那麼就說明A pache伺服器安裝和運行一切正常。此時如果使用瀏覽器訪問這個使用預設設置的伺服器,那麼就將看到Apache的 文檔。這是因為預設頁面被設置為了Apache文檔,此後Web管理員可以將/usr/local/www/data 目錄更改為真正要對外發布的網頁文檔目錄,使得系統真正能對外提供Web服務。