Apachでマルチドメインする方法

マルチドメインとは

一つのウェブサーバーで二つ以上のドメインを扱うことをマルチドメインと言います。例えば、a.comと検索すると/var/www/html/index.htmlを表示させ、b.comと検索すると/var/www/html/b/index.htmlを表示させるみたいなことを実現することができます。a.comb.comも同じ11.222.33.444。という一つのipを参照します

前提

a.comb.comのDNSゾーンを最初に作って、二つのドメインが一つのIP(11.222.33.444)を指定されている状態にしてでおいてください。ここの説明は省きます。簡単に説明すると、最初にa.comと検索すると/var/www/html/index.htmlと表示されてた場合、b.comと検索しても/var/www/html/index.htmlと表示されるような状態に、どうにか持って行ってください。参考までに、下記のようなDNS レコードを作ってください。

Aレコード   a.com       11.222.33.444
Aレコード   b.com       11.222.33.444

httpd.confを探す

Apachの設定を書き換えるため、httpd.confを編集する必要があります。下記のコマンドでhttpd.confの場所を探すことができます

$ ps aux | grep httpd
root     25261  0.0  5.7 206664 28796 ?        Ss   04:42   0:00 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
daemon   25269  0.1  4.1 1288432 20588 ?       Sl   04:42   0:00 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
daemon   25270  0.7  7.7 1308544 38712 ?       Sl   04:42   0:01 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
daemon   25409  0.0  2.3 1017940 11784 ?       Sl   04:42   0:00 /opt/bitnami/apache2/bin/httpd.bin -f /opt/bitnami/apache2/conf/httpd.conf -DDISABLE_BANNER
bitnami  25483  0.0  0.1  14224   972 pts/0    S+   04:44   0:00 grep --color=auto httpd

上記であれば/opt/bitnami/apache2/conf/httpd.confね。

Apachのバージョンを確認する

Apachのバージョンに寄って設定の書き方が多少変わってきますので、正確にApachのバージョンは把握しておいてください。

$ httpd -v
Server version: Apache/2.4.29 (Unix)
Server built:   Feb 26 2018 13:12:05

バーチャルホストの設定

バーチャルホストを設定します bディレクトリの下にindex.htmlがあればindex.htmlは不要です。これでb.comと検索すると/var/www/html/b/配下のindex.htmlを表示してくれます

<VirtualHost *:80>
    ServerName b.com
    DocumentRoot /var/www/html/b/
</VirtualHost>

 

パーミッションエラー対策

VirtualHostによる接続を許可するためにhttpd.confの中の<Directory />から始まる項目を下記のように書き換えます。

<Directory />
Options All
AllowOverride All
</Directory>

完了

これでもb.comと検索をしてみてください。上手くいくはずです。

藤沢瞭介(Ryosuke Hujisawa)
  • りょすけと申します。18歳からプログラミングをはじめ、今はフロントエンドでReactを書いたり、AIの勉強を頑張っています。off.tokyoでは、ハイテクやガジェット、それからプログラミングに関する情報まで、エンジニアに役立つ情報を日々発信しています!

未整理記事