UbutnuでApache2を起動してみた

Ubuntu 8.04.1で、Apacheを再起動したら、次のようなメッセージが表示された。

hykt@ubuntu-laptop:~$ sudo apache2ctl restart
apache2: Could not reliably determine the server's fully qualified domain name,
 using 127.0.1.1 for ServerName
hykt@ubuntu-laptop:~$
Apache自体は動いているので、どちらかというと警告という感じ。 
テストで使っている分には問題ないから…と今まで気にしないようにしてたけど、やっぱり気になるので、直す方法を調べてみた。

ググると、「Apacheのコンフィグに、ServerNameという定義を追加すればよい。」という情報が多い

ちなみにUbuntuの場合、Apacheのコンフィグは、/etc/apache2/sites-availableの中にサイト毎に作成する。インストール後にはdefaultというファイルがある。
このディレクトリにサイト毎のコンフィグファイル(例えばmywebsite)を作成して、

$ sudo a2ensite mywebsite

で、サイトを有効に、

$ sudo a2dissite mywebsite

で、サイトが無効になる。
これらのコマンドを実行することで、/etc/apache2/sites-enabled内に/etc/apache2/sites-available内のコンフィグからのリンクが作成または削除される。
その後、Apacheをreloadまたは再起動する。

hykt@ubuntu-laptop:~$ sudo a2ensite mywebsite
Site mywebsite installed; run /etc/init.d/apache2 reload to enable.
hykt@ubuntu-laptop:~$ sudo /etc/init.d/apache2 reload
 * Reloading web server config apache2
apache2: Could not reliably determine the server's fully qualified domain name,
 using 127.0.1.1 for ServerName
                                                                 [ OK ]

んで、[OK]なのでApacheは起動しているが、警告が気になるので直したい。ってこと。

…ということで、とりあえず/etc/apache2/sites-available/defaultにServerNameを設定して、Apacheを再起動っと。

hykt@ubuntu-laptop:~$ sudo vi /etc/apache2/sites-available/default

        ServerName www.example.com     ←コレを追加
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/
        
                Options FollowSymLinks
                AllowOverride None
        
:(省略)
hykt@ubuntu-laptop:~$ sudo apache2ctl restart
apache2: Could not reliably determine the server's fully qualified domain name,
 using 127.0.1.1 for ServerName
hykt@ubuntu-laptop:~$

がーん。

次に、「/etc/hostsにホスト名だけじゃなく、FQDN(ドメイン名も含めた形式)で書くとよい。」という情報が目に付いた。
ふむふむ。
このときの状態でどうなってるか調べてみた。
hykt@ubuntu-laptop:~$ hostname
ubuntu-laptop
hykt@ubuntu-laptop:~$ hostname --fqdn
ubuntu-laptop
はぁー。コレじゃダメですな。
んじゃ、/etc/hostsを編集しましょ。
hykt@ubuntu-laptop:~$ sudo vi /etc/hosts

127.0.0.1 www.example.com localhost 
127.0.1.1 ubuntu-laptop
:(省略)
hykt@ubuntu-laptop:~$ sudo apache2ctl restart
apache2: Could not reliably determine the server's fully qualified domain name,
 using 127.0.1.1 for ServerName
hykt@ubuntu-laptop:~$
ががーん。
んじゃ、こっち。
hykt@ubuntu-laptop:~$ sudo vi /etc/hosts

127.0.0.1 localhost 
127.0.1.1 www.example.com ubuntu-laptop
:(省略)
hykt@ubuntu-laptop:~$ sudo apache2ctl restart
hykt@ubuntu-laptop:~$
お。うまくいった。
ちなみに、この状態で…。
hykt@ubuntu-laptop:~$ hostname
ubuntu-laptop
hykt@ubuntu-laptop:~$ hostname --fqdn
www.example.com
よしよし、っと。


ちなみに、この/etc/hostsに記述する方法以外に、/etc/apache2/apache2.confにServerNameを記述するという方法でも、警告が表示されなくなった。
apache2.confはapacheの動作全般に関わる設定ファイルなので、編集するのは控えていたんだけど…。
hostnameコマンドがまともな文字列を返すようになることを考えると、/etc/hostsを編集する方がいいのかな。