kariaの日記 @ Alice::Diary

ノリツッコミの鳩子がはてなブログ書いちゃうよ

Ubuntu標準のapacheでVirtualHostが読まれる順番

apacheのVirtualHostって上から順に読まれるので、普通にhttpd.conf書いてる限りではIPアドレスでアクセスしてきた場合に一番上に書いたVirtualHostが読まれるわけですけども。

Ubuntu標準のapache使うと、なんかVirtualHostはサイト毎に設定ファイルを書く事になってて、a2ensite/a2dissiteで有効・無効を設定するらしく、どれが一番上かってパッと見わかんないんですよね。

んで、最初に追加した設定がデフォルト扱いなのかなって思ってたんですけどそうではないらしく、どうも設定ファイルの名前順に読まれるらしいです。

karia@yuno[6]% sudo a2dissite yuno.side2.net
Site yuno.side2.net disabled.
Run '/etc/init.d/apache2 reload' to activate new configuration!
karia@yuno[6]% sudo mv yuno.side2.net 000-yuno.side2.net
karia@yuno[6]% sudo a2ensite 000-yuno.side2.net
Enabling site 000-yuno.side2.net.
Run '/etc/init.d/apache2 reload' to activate new configuration!
karia@yuno[6]% sudo /etc/init.d/apache2 restart
 ... waiting    ...done.
karia@yuno[6]%   

って感じで、設定ファイルの頭に000-をつけてみたら、今までただのVirtualHostだった設定がデフォルト(というかIPアドレスでリクエストしたとき)でも表示されるようになりました。