Apache2でサブドメイン

俺と同じ事をする人が将来いるかもしれないのでまとめておきます.

Apache2でサブドメインを実現する方法は二つあります.(俺が調べた限り)
1つは,httpd.confでVirtualhostを設定する方法です. 下のように設定します.

<Virtualhost *>
ServerName hogehoge.com
ServerAlias hogehoge.com
DocumentRoot /...../
</Virtualhost>

<Virtualhost *>
ServerName user.hogehoge.com
ServerAlias user.hogehoge.com
DocumentRoot /home/user/public_html
</Virtualhost>

んでまぁ,これでもいいんですが,これだとsuExecが有効にならなかったり,ユーザーの追加が面倒だったりと,ちょっと問題があります.
そこで,mod_rewriteを使います. Apache2インストール時にmod_rewriteを有効にしてなかった場合は,mod_rewrite.cを探して,

/usr/local/apache2/bin/apxs -a -i -c mod_rewrite.c

を実行してください. これで,mod_rewriteは入ります.
んで,http://maru.gs/mt/archives/000404.htmlのようにhttpd.confにチョコッと書いてやってください.