整個狀況是發生在更改了 hostname 之後,使用的系統為 Knoppix (Debian),更改 hostname 時所使用的方法為:

vi /etc/hostname
hostname [newname]
hostname -F /etc/hostname

然後 reboot 以 hostname 指令確認已經更改完成,但接著卻發現 Apache service 並未啟動,於是開始 Debug 工作:

[1] 先著手於 httpd.conf,發現並無原 hostname 的設定。
[2] 再著手於 bind (以為是 DNS 的錯誤),亦未發現任何異常情況。
[3] 接著檢查 Apache 的 log 檔案,在 error.log 中發現底下的訊息:

[alert] mod_unique_id: unable to gethostbyname(“phecda”)

其中的 phecda 是我新的 hostname,情況很明顯了是這個新的 hostname 所造成的問題,但是經由 google 找到的只是有許多人問相同的問題,未見解答。在 httpd.conf 亦未直接設定 hostname,於是檢查可能會有原 hostname 的設定處 /etc/hosts,更改 127.0.0.1 的 binding,重啟 Apache 測試,Bingo!!

Note: 在 /etc/hosts 中有設定了本機的 hostname,但是因為手動修改,所以並未改到,接著才導致 apache 無法啟動。

最後修改日期: 2004-12-15