/etc/hosts と hostname が違う場合は Apache の起動ができない

開発用に使ってたドメインが失効して、違うドメインを割り当てて運用してた Apache が、突然起動に失敗するようになった。
エラーログを確認すると以下の様なメッセージが出ている。*1

[Fri Aug 10 17:23:27 2012] [alert] (EAI 2)Name or service not known: mod_unique_id: unable to find IPv4 address of "hoge.example.com"

hostname コマンドで表示されるホスト名が以前のものになってて、名前解決ができずにエラーになっているものと判断したので、以下の手順で修正した。

1.ホスト名の変更

% sudo -e /etc/sysconfig/network
HOSTNAME=ホスト名
HOSTNAME=foo.example.jp

2./etc/hosts に記述しているホスト名を変更

% sudo -e /etc/hosts
127.0.0.1	foo.example.jp

3.サーバを再起動する

% sudo reboot

Apache の起動が失敗するトラブルってあんまり遭遇したことがなくて、正直ちょっと焦りました。

*1:メッセージ中のホスト名は変更している