Apacheをインストールした場合は、通常は一つのドメイン名でのアクセスとなりますが、複数のドメイン名での接続も可能に出来ますので、その方法を記述します。
ドキュメントルートになるフォルダの作成
Apacheをインストールすると、デフォルトで/var/www/htmlが用意されます。バーチャルホストを設定する場合はディレクトリを作成する必要があるので、/var/www/以下に以下のフォルダを作成します。
複数のドメイン分作成したい場合は、以下の操作を繰り返し行なって下さい。
- vhosts
- example.com
- httpdocs
階層が以下の通りになります。
/var/www/vhosts/example.com/httpdocs
※example.comの部分はご自身のドメインに置き換えて下さい。
#/var/www に移動 cd /var/www/ #vhostsのディレクトリを作成 mkdir vhosts #vhostsのディレクトリに移動 cd /var/www/vhosts #example.comのディレクトリを作成 mkdir example.com #example.comのディレクトリに移動 cd example.com #httpdocsのディレクトリを作成 mkdir httpdocs
Apacheの設定ファイルを作成
1.virtualhost-00.conf
IPアドレスでアクセスしてきた場合の設定。
すべて拒否しアクセスさせない。
<VirtualHost *:80> ? ? ServerName any ? ? ?<Location /> ? ? ? ? ? Order deny,allow ? ? ? ? ? Deny from all ? ? ?</Location> </VirtualHost>
2.virtualhost-example.com.conf
バーチャルホスト(example.com)の設定
<VirtualHost *:80> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/vhosts/example.com/httpdocs ErrorLog logs/example.com-error_log CustomLog logs/example.com-access_log combined env=!no_log </VirtualHost>
※example.comは例です。実際にはご自身でお持ちのドメイン名を設定して下さい。
※DocumentRoot は先ほど作成したディレクトリを指定します。
※この方法では設定ファイルはドメイン毎に一つ必要になるので、必要な数作成します。
上記の設定で基本的な準備は完了です。
次に、準備したドキュメントルートにindex.htmlファイルを設置して確認となります。
以下のコマンドでファイルを作成して確認してみましょう
# echo "VirtualHost 1" > /var/www/vhosts/example.com/httpdocs/index.html
ファイルが作成出来たら、Apacheを再起動してバーチャルホストが機能しているかブラウザから確認を行います。
以下は、上記の操作をドメインの数だけ行った動作確認をしています。
systemctl restart httpd
動作確認
VirtualHost1
VirtualHost2
VirtualHost3
最後に サーバーのIPアドレスでアクセスしてみるとlocalhost で HTTPD サーバーが動いていることは間違いないのですが、ホスト名で指定されていないのでvirtualhost-00.confの設定が有効になっているので以下のエラー扱いとなります。
[ad#g]
[ad#g]