Hatena::ブログ(Diary)

hyktの日記

2008-11-29

UbutnuでApache2を起動してみた

23:21 | UbutnuでApache2を起動してみたを含むブックマーク 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
<VirtualHost *>
        ServerName www.example.com     ←コレを追加
        ServerAdmin webmaster@localhost
DocumentRoot /var/www/ <Directory /> Options FollowSymLinks AllowOverride None </Directory> :(省略) 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を編集する方がいいのかな。

Connection: close