1. TOP
  2. インフラ
  3. CentOS7,PHP7,MySQL5.6でWordPressサイトを構築 その8(バーチャルホストの設定)

CentOS7,PHP7,MySQL5.6でWordPressサイトを構築 その8(バーチャルホストの設定)

|

thumbnail

前回の記事ではWebサーバーのインストールと必要な設定を行いました。今回はバーチャルホストの設定について説明いたします。

バーチャルホストとは?

サーバーを持っているとそのサーバーで複数のドメインを運用したくなる時があります。そうした時にサーバーをたくさん借りるといろいろ大変なので1つのIPアドレスで、複数のドメインを持てると便利になります。具体的に説明するとこんな感じになります。

  • http://hoge1.com でリクエスト → /var/www/public_html/hoge1のファイルを表示
  • http://hoge2.com でリクエスト → /var/www/public_html/hoge2のファイルを表示

なおバーチャルホストを設定するためには、あらかじめIPアドレスと任意のIPアドレスを結びつけるための名前解決をする(DNSの設定)必要があります。その方法については、こちらの記事をご覧ください。

バーチャルホストの設定方法

SSH接続でリモートサーバーに接続して、作業用ユーザーからroot権限をもつユーザに昇格した上で以下のコマンドを実行します。

バーチャルホストに必要なディレクトリを作成

# cd /var/www

まずデフォルトでドキュメントルートディレクトリに設定されている、/var/www/htmlディレクトリの親ディレクトリである、/var/wwwまで移動します。

# mkdir public_html
# cd public_html

次にその位置でpublic_htmlディレクトリを作成し、そのディレクトリに移動します。

# mkdir hoge1
# mkdir hoge2

最後にpublic_htmlディレクトリの位置でバーチャルホストとなるディレクトリを複数作成します。なおpublic_html、hoge1、hoge2という名前は任意の名前で構いません。

Apacheの設定ファイルに加筆

# vi /etc/httpd/conf/httpd.conf

Apacheの設定ファイルを開き、内容を加筆します。ちなみに自分の場合、設定ファイルの最後に加筆をしたかったのでファイルを開いた時に”G”のキーを押しました。”G”キーは、viの機能の一つででファイルの最終行に飛ぶことができます。

<VirtualHost hoge1.com:80>
        DocumentRoot /var/www/public_html/hoge1
</VirtualHost>
<VirtualHost hoge2.com:80>
        DocumentRoot /var/www/public_html/hoge2
</VirtualHost>

変更内容は上記の内容の通りです。バーチャルホストであることを示すタグの中に、ドメイン・http通信で使うポート番号(80番ポート)・ドキュメントルートディレクトリを加筆・保存します。

デフォルトのドキュメントルートディレクトリをコメントアウト

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.

# DocumentRoot "/var/www/html" ← コメントアウト

デフォルトのドキュメントルートディレクトリである”/var/www/html”をコメントアウトして使えないようにします。この作業を飛ばしてしまうと、ブラウザ上に入力したURLが、バーチャルホスト内の当該ドキュメントルートディレクトリを読み込まないことがあります。

Apacheの再起動

# systemctl restart httpd.service

最後にApacheの設定ファイルに変更を反映させます。

バーチャルホストの確認

バーチャルホストの設定を行ったことで、ドキュメントルートディレクトリの内容が反映されているかどうか、確認をします。

# vi /var/www/public_html/hoge1/index.html
<html>
Hello World from hoge1
</html>

これでブラウザにURL(hoge1.com)を入力しアクセスすれば、”Hello World from hoge1″が表示されます。hoge2のドキュメントルートディレクトリについても同様の確認をします。

次回の記事ではPHP7のインストールと設定についてご紹介します。