本来、サブドメインって表現はふさわしくないかもしれないけど、
http://www.example.co.jp/hoge/foo.html とか
http://bar.example.co.jp/hoge/foo.htmlってあったら、
example.co.jpとかがドメインで、wwwやbarはホスト名って呼ばれてて、
負荷分散や用途別で分けられてある複数台のサーバー機の名前を入れて区別しているんだけど、
1台のPCでも複数のアドレスを使いたい!!ってコトでできたのがVirtualHost
例えば、http://hoge.example.co.jp/にアクセしたときに/home/hoge/public_htmlを表示するには、
apacheの設定ファイルを開き、
最後の方の、
DocumentRootを/var/www/html以下に設定する場合はいいけど、
/home/ユーザー/~にする場合は、前回書いたSELinuxに対する対処が必要となる。
<参考サイト>
・名前ベースのバーチャルホスト設定
・バーチャルホストの設定
---------------追記(2009/5/4)---------------
*.example.co.jpを全部example.jpに飛ばしたいときは、ServerAliasを使う。
<参考サイト>
・バーチャルホストの例 - Apache HTTP サーバ
・DocumentRoot
http://www.example.co.jp/hoge/foo.html とか
http://bar.example.co.jp/hoge/foo.htmlってあったら、
example.co.jpとかがドメインで、wwwやbarはホスト名って呼ばれてて、
負荷分散や用途別で分けられてある複数台のサーバー機の名前を入れて区別しているんだけど、
1台のPCでも複数のアドレスを使いたい!!ってコトでできたのがVirtualHost
例えば、http://hoge.example.co.jp/にアクセしたときに/home/hoge/public_htmlを表示するには、
apacheの設定ファイルを開き、
# vim /etc/httpd/conf/httpd.conf
最後の方の、
#NameVirtualHost *:80のコメントアウトを外し、さらにその下に、
<virtualhost *:80=""> ServerAdmin webmaster@hoge.example.co.jp DocumentRoot /home/hoge/public_html ServerName hoge.example.co.jp ErrorLog logs/hoge.example.co.jp-error_log CustomLog logs/hoge.example.co.jp-access_log common </virtualhost>を追加
DocumentRootを/var/www/html以下に設定する場合はいいけど、
/home/ユーザー/~にする場合は、前回書いたSELinuxに対する対処が必要となる。
<参考サイト>
・名前ベースのバーチャルホスト設定
・バーチャルホストの設定
---------------追記(2009/5/4)---------------
*.example.co.jpを全部example.jpに飛ばしたいときは、ServerAliasを使う。
<virtualhost *:80=""> ServerName example.co.jp DocumentRoot /home/hoge/public_html </virtualhost> <virtualhost *:80=""> ServerName example.co.jp ServerAlias *.example.co.jp Redirect permanent / http://example.co.jp/ </virtualhost>
<参考サイト>
・バーチャルホストの例 - Apache HTTP サーバ
・DocumentRoot
