バーチャルホストの設定(CentOS 6)

バーチャルホストを設定することで、1つの仮想専用サーバー(VPS)上で複数のドメインを運用することができます。

環境

CentOS 6.10

1.ドメイン側のネームサーバー設定

バーチャルホストを利用するには、ドメイン側のネームサーバー設定・VPS側のネームサーバー設定の両方が必要になります。
ドメイン側のネームサーバー設定は、各ドメイン管理会社によって異なりますので、取得したドメイン管理会社のサポートページを閲覧して設定してください。
※下記リンクは、上記ドメイン管理会社で取得した場合のサポートページです。

2.VPS側のネームサーバー設定

次に、VPS側のネームサーバーで複数のドメインを使用するための設定が必要です。
下記のネームサーバー利用申請方法を参考にして設定を行ってください。
ネームサーバー利用申請方法(さくらインターネット株式会社)

3.Apacheのバーチャルホスト設定

それでは、バーチャルホストの設定を行います。
root権限でコンソールにvi /etc/httpd/conf/httpd.confと入力してください

[root@ ~]# vi /etc/httpd/conf/httpd.conf (httpd.confを編集)

httpd.confのファイル末尾近くにバーチャルホストの設定項目があります。
#NameVirtualHost *:80 と記載された行の#を削除して、名前ベースのバーチャルホスト機能を有効にします。

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80 (行頭にある # を削除)
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.

次に、httpd.confのファイル末尾にバーチャルホストの設定を追加します。
名前ベースのバーチャルホスト機能を使用する場合、バーチャルホストで追加するドメインだけでなく、「独自ドメインの設定」で使用しているドメインも、バーチャルホストとして設定する必要があります。
例として、「独自ドメインの設定」で使用しているドメインをexample.com、バーチャルホストとして追加するドメインをexample.netとします。
ハイライトで表示した部分を追加してください。

#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#

(↓「独自ドメインの設定」で設定したドメイン)
<VirtualHost *:80>
ServerAdmin root@example.com
DocumentRoot /var/www/html
ServerName www.example.com
ServerAlias example.com
</VirtualHost>

(↓バーチャルホストで追加するドメイン)
<VirtualHost *:80>
ServerAdmin root@example.com
DocumentRoot /var/www/example.net
ServerName www.example.net
ServerAlias example.net
</VirtualHost>

ファイルの末尾に追加したらファイルを保存して終了してください。

4.バーチャルホスト用のディレクトリ作成

追加したドメイン(example.net)のコンテンツを置くディレクトリを作成します。
また、ディレクトリのオーナーをFTP接続に使用するユーザーアカウントに変更します。
例として、「sakura」というユーザアカウントを使用してFTP接続を行い、コンテンツをアップロードすることにします。

[root@ ~]# mkdir /var/www/example.net (追加したドメインのディレクトリ作成)
[root@ ~]# chown sakura /var/www/example.net (ディレクトリのオーナーをsakuraに変更)

以下のコマンドを実行し、httpd.confの書き換えた内容を有効にします。

[root@ ~]# service httpd reload

5.設定の確認

上記でオーナー設定したユーザーアカウントでサーバーにFTP接続して、/var/www/example.net ディレクトリにコンテンツをアップロードしてください。
ブラウザでhttp://www.example.com/ と http://www.example.net/ にアクセスしてください。それぞれ別々のコンテンツが表示されれば、バーチャルホストの設定は完了です。