バーチャルホストとは1つのサーバで複数のドメインを運用することです。
バーチャルホストはXAMPPやMAMPでも作成することができます。
今回はXAMPPやMAMPでのバーチャルホスト作成の手順について説明します。
XAMPPやMAMPをインストールすると標準ではhtdocsがドキュメントルートになります。
htdocsにファイルを置くことで「localhost/〜」のアドレスでブラウザからファイルを読み込むことができるようになります。
けれども、初期状態ではドキュメントルート直下には一つのサイトしか置くことができません。
そこでバーチャルホストを導入することで複数の開発サイトを同時に作成することができるようになります。
また、実際と同じドメイン名を指定することで、PHPなど本運用の時の設定と同じ環境設定をすることができます。
MAMPでのバーチャルホストの作成方法
httpd.confの設定
まず、httpd.confの設定を行います。と言っても難しいことはなくコメントアウトされている部分を外すだけです。
行なっている内容は、「バーチャルホストの設定を読み込むよ!」ということです。
MACでの「httpd.conf」の場所のパスは次のようになります。
/Applications/MAMP/conf/apache/httpd.conf
手順
httpd.confをエディッタで開きます。
以下のコードを探します。
# Virtual hosts #Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
次のように変更します。(includeの方の#を取り除きます。)
# Virtual hosts Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
httpd-vhosts.conf の設定
次に、httpd-vhosts.conf の設定を行います。
httpd-vhosts.confのパスは以下の通りです。
C:¥xampp¥apache¥conf¥extra¥httpd-vhosts.conf
バーチャルホストを使用する場合は「NameVirtualHost *:80」部分のコメントアウト#を取ります。これでバーチャルホストが使えるようになります。
/Applications/MAMP/conf/apache/extra/httpd-vhosts.conf
次に、「httpd-vhosts.conf」ファイルで行うことは追記することです。
追記する内容は用途に応じて変わります。
80番ポートでsample.localhostのアドレスにする場合
「htdocs」に「sample」フォルダを作成してそのフォルダに対して「sample.localhost」のようなアドレスでアクセスできれば良い場合の設定。
DocumentRoot "/Applications/MAMP/htdocs/sample" ServerName sample.localhost
80番ポートでexample.comなどの実際のドメイン名にする場合
「htdocs」に「example.com」フォルダを作成してそのフォルダに対して「example.com」のような実際のドメイン名でアクセスしたい場合の設定。
DocumentRoot "/Applications/MAMP/htdocs/example.com" ServerName example.com
80番ポート以外のポートを使用する場合
80番ポート以外を使用する場合は「Listen 8001」のようにポート番号を指定します。
また、「VirtualHost *:8001」部分にもポート番号を指定します。
Listen 8001 DocumentRoot "/Applications/MAMP/htdocs/example.com" ServerName example.com
hostsの設定
httpd-vhosts.conf の設定が終わったら、hostsの設定が必要です。
hostsとは、IPアドレスとホスト名の対応を記述したファイルです。
自分自身を表すIPアドレス127.0.0.1とホスト名を記述することでローカル環境で自身に作成したサーバーにアクセスする用途で使われています。
hostsの設定
hostsファイルの場所は次の通りです。
/private/etc
次のコードはhostsファイル設定例です。
「localhost」,「example.com」,「sample.localhost」とlocalhost以外に2つのバーチャルホストを運営する場合全てのホスト名を下記のようにhostsファイルのコードの最後に追記します。
127.0.0.1 localhost 127.0.0.1 example.com 127.0.0.1 sample.localhost
XAMPPでバーチャルホストを設定して複数のドメインを使う方法
まずは、httpd.confファイルの記述でバーチャルホストの設定を読み込む設定になっているか確認します。
バーチャルホスト設定ファイルは以下のパスです。
C:¥xampp¥apache¥conf¥httpd.conf
「httpd.confファイル」の「Include conf/extra/httpd-vhosts.conf」部分の先頭のコメントアウト「#」があったら削除します。
バーチャルホストの設定ファイル編集
今回は「example.com」というURLで「C:\xampp\htdocs」のexample.comフォルダにアクセスできるように」します。
バーチャルホストのconfファイルを編集するファイルは「httpd-vhosts.conf」です。
ファイルのパスは次の通りです。
C:¥xampp¥apache¥conf¥extra¥httpd-vhosts.conf
まずは、「httpd-vhosts.conf」の20行目あたりの「NameVirtualHost」部分のコメントアウトの「##」を削除します。
「htdocs」内に「example.com」というフォルダを作ってテスト用のindex.html作成しておきます。
次に「httpd-vhosts.conf」ファイルの最後の行に以下の記述を追加します。
DocumentRoot "C:\xampp\htdocs\example.com" ServerName example.com
hostsの設定
次にhostsファイルを編集します。
ファイルのパスは次のところです。
C:\Windows\System32\drivers\etc\hosts
しかし、hostsファイルは管理者権限でないと編集することができません。管理者権限でログイン指定てもWindows10の場合hostsファイルは編集できませんので、一旦デスクトップにhostsファイルを移動します。そうすると編集できるようになります。
そして、編集後再び元の位置に戻します。
移動の際に管理者の暗証番号を聞かれる場合がありますので、暗証番号を入力してください。
hostsファイル記述内容
127.0.0.1 localhost 127.0.0.1 example.com