ドメインをたくさん取った
example.comとsample.comなど複数のドメインを運用することを考えます。サブドメインがたくさんある場合も同様です。
ドメインはDNSでIPアドレスと紐付けられます。ドメインは複数あるけど、IPアドレスがひとつしかない場合、というかWEBサーバがひとつしかない場合はどうしたら良いでしょうか?
ドメインごとにWEBサーバが用意できれば良いのですが、個人で小さなサービスを複数運営しようと思うと、あまり効率的ではありません。
VirtualHostで複数のサイトを運営する
VirtualHostを使うと、ひとつのIPアドレス、ひとつのWEBサーバで複数のサイトを運営することができます。
全てのドメインへのアクセスをひとつのサーバに集めた上で、「どのドメインから来たの?」を調べて内部で応答を振り分けます。
作業ログ
example.comとtest.example.comへのアクセスをVirtualHostで振り分ける例です。
/var/www/example.comと/var/www/test.example.comというディレクトリを作成し、それぞれに環境を構築します。あとは、Apacheの設定にVirtualHostの項目を追加するだけで振り分けができます。
httpd.confを開くとVirtualHostの項目がコメントアウトされているので、これを有効にして、書き換えればすぐに使うことができます。
黒文字はターミナル上での作業、緑文字はアプリケーション内での作業、太字はアプリケーション内での入力ポイント、赤文字は各自書き換えるポイントです。
cd /var/www
mkdir example.com
mkdir test.example.com
vim /etc/httpd/conf/httpd.confNameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot /var/www/example.com
ServerName www.example.com
ServerAlias example.com www.example.com
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /var/www/test.example.com
ServerName test.example.com
</VirtualHost>/etc/init.d/httpd restart
コメント