apacheの仮想ホスト設定
Last-modified: 2013-08-24 (土) 02:14:21 (3897d)
Top / apacheの仮想ホスト設定
apacheの仮想ホスト設定 †
apacheでは、1つのapacheで複数のwebサーバが起動しているように見せるような、仮想ホスト機能があります。
まあ、具体的には、アクセスされたドメイン名、IPアドレスで、見せるコンテンツのドキュメントルートを変更する、見たいなことをやってくれます。
サイトマスターは、2009年3月22日現在で、ドメインを2つ持っているので、仮想ホストを設定した方が運用上いいよね、ってことで、今回設定しました。
仮想ホストの必要性 †
まず、以下の2つのドメイン、及びそれに対応するコンテンツがあるとします。
ドメイン名 | ドメインの意味 | コンテンツ格納ディレクトリ |
www.hello.com | 例題1のドメイン | /www/hello |
www.goodbye.com | 例題2のドメイン | /www/goodbye |
この時の意図としては、
- www.hello.comにアクセスした場合は、/www/helloに格納しているコンテンツを見せたい
- www.goodbye.comにアクセスした場合は、/www/goodbyeに格納しているコンテンツを見せたい
ってこことですが、/www/helloに格納されているコンテンツには
の2つのURLからアクセスできてしまいます。当たり前ですが笑
また、その逆も然りです。
そこで、仮想ホストって奴を設定します。
(ここまでの解説がわけ分からなかったらごめんなさい)
仮想ホストの設定 †
httpd.confを変更します。
まず、仮想ホストを有効にするため、httpd.confの以下の行をコメントを外します。
※デフォルトでコメントアウトされてます。
※うちの環境だと972行目くらいです。
NameVirtualHost *:80
次に、仮想ホストの実体の設定をします。
httpd.confの一番最後に、コメントアウトされた仮想ホストの設定がありますので、これを利用すると便利です。
が、当方は以下のとおりに設定しました。
<VirtualHost *:80> ServerName hiroha.info ServerAlias www.hiroha.info DocumentRoot /var/www/html/hiki </VirtualHost> <VirtualHost *:80> ServerName usupperars.info ServerAlias www.usupperars.info DocumentRoot /var/www/html/usp </VirtualHost>
※デフォルトで記述されている設定だと、ログの出力先の設定等があるが、ログを別々に出したい要件は特にないので削除した。
設定が完了したらhttpdを再起動
# service httpd restart httpd を停止中: [ OK ] httpd を起動中: [ OK ]
以上!
これで、hiki(当wikiサイト)コンテンツはhiroha.infoドメインからしかアクセスできないようになります。
また、逆も然りです。
ちょっとすっきりしたー