(26)バーチャルホスト
バーチャルホストとは、異なるドメインのアクセスを1台の物理マシン内で振り分けるものです。
個人が運用するサーバーのように、アクセス数の多くない場合は、このやり方が簡単で経済的です。
apache2 では、そもそもバーチャルホスト的な設定方法になっておりますから、設定は非常に簡単です。
|
見ての通り、/etc/apache2/sites-available/default の設定の他に /etc/apache2/sites-available/meckk と言う設定ファイルを新たに作成しただけです。
両者の違いは基本的に ServerName だけです。
これで、http://yukke-no-kobeya.ddo.jp/ でアクセスした場合と、http://meckk.com/ でアクセスした場合を切り分けます。
切り分けのファイルは、DocumentRoot で指定します。
http://meckk.com/ と http://www.meckk.com/ の切り分けは、別ファイルに分ける方法と Redirect permanent / http://www.meckk.com のようにリダイレクトを使用する方法があります。
.htaccess ファイルで指定する方法など、多くのサイトの解説があります。(恰好さえ気にしなければ、別ファイルで分けるのが単純で確実です。)
それでは、ServerName で合致しない場合はどうなるのでしょうか。
例えば、http://192.168.1.10/ でアクセスした場合などです。
私が試した限りでは、エラーは発生しなくて、設定してあるどちらかが表示されるようです。
それがどちらかかが、一定しない(頻繁に切り替わると言う意味ではなくて)ようなので、ServerName を記入しないものを作成しておけば、合致しない場合はそちらになるのかと思いましたが、この場合は常に ServerName が記入されていない選択になってしまいました。
どうやら、default のファイルを使用している場合は、該当するものがない場合は、その設定になるようです。
但し、まだまだ知識が浅い状態ですから、それが正しい設定方法かは不明ですので、鵜呑みにしないでください。(ひょっとしたら、ABCD 順とか)
【Tips】
設定ファイルを有効にする場合と無効にする場合のコマンドです。
a2ensite default で、default が有効になります。
a2dissite default で、default が無効になります。
どうやら、apache2 enable(disable)site の略のようです。
この設定を反映させるには、 /etc/init.d/apache2 restart が必要です。(reload でも同じ結果になります)