在Linux下安裝完Apache 2.2.6,啟動HTTP服務就報錯,似乎不影響服務的使用,但是也挺彆扭的。
-------------------------------------------------------------------------------------
[root@linux http]# ./apachectl start
httpd: apr_sockaddr_info_get() failed for linux(在BSD上是apr_sockaddr_info_get() failed for freebsdla)
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
-------------------------------------------------------------------------------------
經分析發現是apache的conf目錄下的設定檔httpd.conf中關於hostname設定和/etc/sysconfig/network中的HOSTNAME設定不統一導致的,修改成統一的主機名稱即可解決該問題。
註:/etc/sysconfig/network 預設主控件名是:HOSTNAME=localhost.localdomain
PS:網上有這種辦法,似乎是沒用的,因為我認為apache在編譯安裝過程中會編譯ARP的,因此下述操作有點多餘。
------------------------------------------------------------------------------------------------
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/