ホーム 設定 Apache CentOS7 Apacheでのバーチャルホスト設定

CentOS7 Apacheでのバーチャルホスト設定

3239
0

Apacheをインストールした場合は、通常は一つのドメイン名でのアクセスとなりますが、複数のドメイン名での接続も可能に出来ますので、その方法を記述します。

ドキュメントルートになるフォルダの作成

Apacheをインストールすると、デフォルトで/var/www/htmlが用意されます。バーチャルホストを設定する場合はディレクトリを作成する必要があるので、/var/www/以下に以下のフォルダを作成します。
複数のドメイン分作成したい場合は、以下の操作を繰り返し行なって下さい。

  1. vhosts
  2. example.com
  3. 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]