2015年7月31日 星期五

Ubuntu Apache 啟動時出現ServerName錯誤

在Ubuntu啟動啟動Apache2時,Apache 可以正確被啟動,但如果出現下列訊息:
AH00558:apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message

在以前,我們會在/etc/apache2/apache2.conf中,手動增加「ServerName localhost」。但 Ubuntu 長久以來預設 Apache 安裝都沒加上 ServerName 的設定絕對有他的道理。

其實 Apache 在開啟的時候會將主機 hostname 設定為 ServerName ,所以 hostname 需為FQDN,如 hostname 不符 FQDN規範,就會出現上述錯誤訊息。
先使用 hostname 指令查出下列資訊:
  • hostname 取得目前本機設定好的 Hostname
  • hostname –i 取得目前本機 Hostname 對應的 IP
  • hostname –I 取得目前本機設定好的所有 IP 位址(會排除 loopback 介面)
例如我們取得下列資訊:
hostname => ubuntu
hostname -i => 127.0.1.1
hostname -I => 192.168.0.1


修改方式:
1. 透過 hostname 指令取得本機之hostname。

2. 修改 /etc/hosts 檔案中的 hostname 為標準FQDN名稱。
     $sudo vim /etc/hosts
     127.0.0.1 localhost
     127.0.1.1 原ubuntu 修改為 ubuntu.mydomain

3. 修改 /etc/hostname 檔案中的 hostname 名稱。
     $sudo vim /etc/hostname
     原 ubuntu 修改為 ubuntu.mydomain

4. 最後設定hostname完整的 FQDN 主機名稱 。(重開機也可)
     $sudo hostname ubuntu.mydomain

註:FQDN (fully qualified domain name,完整網域名稱), FQDN 包含兩部分﹕主機名稱和網域名稱。例如 mycomputer.mydomain.com。