XAMPPはサーバー環境を構築するのに必要なソフトウェア(Apache、MySQL、PHPなど)を一元でインストール・管理できて便利ですよね。
これを使ってローカル環境に複数ドメインを追加して複数サイトを運用する方法については次の記事でも紹介しました。
この記事のようにApacheのバーチャルホスト機能を使うことで1つのIPアドレス上で複数のドメインを運用することができるようになります。
ただしドメインの中でさらに「サブドメイン」を使いたいという場合はほんの少しだけやり方が違います。
手順もほとんど同じですが微妙に異なる点があるので、ここではバーチャルホスト機能を使ってローカル環境でサブドメインを追加する方法について紹介していきます。
目次
サブドメインとは
まずサブドメインとは何かということですが、これはあるドメインの中でさらに細かく用途を区分けするためのドメインのことです。
その名の通り、「サブ(副)のドメイン」だからサブドメインです。
分かりやすく説明するために例えば次のようなドメインがあるとしましょう。
www.xxx.com
このドメインを用途に応じて複数使い分けたいときに使われるのがサブドメインで次のように大元のドメイン名(xxx.com)の前にある文字列を付け加えることで区分けされます。
www.sub1.xxx.com www.sub2.xxx.com www.sub3.xxx.com
そしてこれらのサブドメイン上では別々のサイトが作成可能になります。
ドメインを区分けして用途に応じて別々の独立したサイトを作れる・・・これがサブドメインを使うメリットです。
XAMPPでのサブドメインの作り方
ではXAMPP上でApacheのバーチャルホスト機能を使ってサブドメインを作成する手順を紹介していきます。
サブドメインの大元になるドメインは現在使っている自分のIPアドレスを表す「localhost」を使います。そしてここではそのlocalhostに「sub.localhost」というサブドメインを追加してみましょう。
その手順は大まかに分けて次の4つ
- サブドメイン用フォルダをhtdocsに作成
- httpd-vhosts.confでバーチャルホスト機能を有効化
- httpd-vhosts.confにドメインを追加
- hostsファイルにドメインを追加
この4つの手順を順に説明していきます。
サブドメイン用フォルダをhtdocsに作成
まずサブドメイン用のルートフォルダ(一番上のフォルダ)を作成しましょう。
XAMPPのインストール先は「C:\xampp」になっていると思うので「C:\xampp\htdocs」以下に次のような「sub.localhost」というフォルダを作成します。
ここではフォルダ名も「sub.localhost」にしていますが、必ずしもドメイン名と同じにする必要はなくフォルダ名は好きな名前でかまいません。
同じにしておくと後で管理しやすくなるのでこのような名前をつけてあります。
httpd-vhosts.confでバーチャルホストを有効化
次にバーチャルホスト機能を有効にするために「httpd-vhosts.conf」というファイルを編集して機能をONにしましょう。
まずこのファイルは「C:\xampp\apache\conf\extra」フォルダ以下にあるので適当なエディタで開いてください。
開いたら次の行をファイル内から探してください。
##NameVirtualHost *:80
そしてこの行を次のように ## を外してコメントアウトを解除すればOKです。
NameVirtualHost *:80
ファイルを保存すればバーチャルホスト機能が有効になります。
httpd-vhosts.confにドメインを追加
バーチャルホストを有効にしてもまだhttpd-vhosts.confは閉じてはいけません。
次にその中にドメイン情報を追加するという重要な作業をしていきます。
httpd-vhosts.confの最後に追加しなくてはならないのは次の内容です。
<VirtualHost *:80> DocumentRoot "C:/xampp/htdocs" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:/xampp/htdocs/sub.localhost" ServerName sub.localhost </VirtualHost>
1~4行目では「localhost」用のドメイン情報、6~9行目では新しく追加したい「sub.localhost」用のドメイン情報を追加しています。
各ドメイン情報は「VirtualHost」というタグで囲まれていて、その中で次の2つの情報を指定しています。
- DocumentRoot
ドメインの一番上のルートフォルダのパス
- ServerName
ルートフォルダに紐づけられるドメイン名
もしXAMPPのインストールが「C:\xampp」ならDocumentRootもServerNameも変更する必要はありませんが、もしそれ以外の場所にインストールしてあるならDocumentRootのパスは適切なものに変更してください。
以上の内容を追加して保存すれば2つのドメインが使用可能になります。
hostsファイルにドメインを追加
次に普通のドメイン追加と同じようにIPアドレスとサブドメインを紐づけます。
Windowsの場合は「hosts」ファイルというホスト名を管理するファイルがあり、その中にIPアドレスとホスト名(ここではドメイン名)の対応関係を知らせてあげなくてはなりません。
hostsファイルは「C:\WINDOWS\system32\drivers\etc」フォルダ以下にあるので、それを次のようにメモ帳で管理者権限で開いて編集しましょう。
まず「Windowsキー + Rキー」を同時押しして次のような「ファイル名を指定して実行」ダイアログを開きます。
そして「名前」の横にある欄に「cmd」と入力してOKボタンを押します。
するとコマンドプロンプト(背景が黒いウィンドウ)が出てくるので次のコマンドを入力してhostsファイルをメモ帳で開きましょう。
powershell -NoProfile -ExecutionPolicy unrestricted -Command "start notepad C:\Windows\System32\drivers\etc\hosts -verb runas"
メモ帳が起動したらファイルの最後に次の内容を追加します。
127.0.0.1 localhost 127.0.0.1 sub.localhost
追加したらファイルを保存しましょう。
これでPC上で「localhost」とそのサブドメイン「sub.localhost」の2つのドメインが利用できるようになります
サブドメインにアクセスできるか確認
ここまでの正しい手順を踏んでいればサブドメインが利用可能になるので、最後にそうなっているかブラウザからアクセスして確認しましょう。
まずChromeなどのブラウザでアドレス欄に「sub.localhost」と入力してエンターを押します。
そして次のようにファイル一覧を表示する画面が出てくれば成功です!
あとは同じ手順でいくらでもサブドメインが追加できます。お疲れ様でした。
まとめ
ここまでの手順は普通のドメインを追加する場合とほとんど変わりません。ただドメインとサブドメインは別物なので改めて記事にしました。
ドメインは個別に独立したもので細かく区分けするときにドメイン内でさらに作られるのがサブドメイン、という違いしかありません。
以上ここではXAMPPでサブドメインを追加する手順について解説しました。
フク郎
最新記事 by フク郎 (全て見る)
- トレンドブログが資産に?放置でアクセス急増の事例 - 3月 14, 2024