xamppでバーチャルホストを自由に設定する方法【誰でも簡単実装】

xamppでバーチャルホストを自由に設定する方法【2ステップでOK】

プログラミング独学中の社会人

ローカル環境の構築にxamppを使っているんだけど[htdocs]以外のディレクトリでサイトを管理したいな、ローカルサーバーも[localhost]以外でアクセス出来るようになると便利なんだが、バーチャルホスト機能とかないかな、あるなら設定方法を知りたい。

ローカル環境を構築する時は[xampp]が定番ですよね、本記事では「xampp」でhtdocs以外の任意のディレクトリをバーチャルホストで指定する方法を初心者向けに解説しています。プログラミングを始めたばかりの方、初心者の方は参考にどうぞ。

任意のディレクトリをバーチャルホストにする方法

はじめに、任意のディレクトリをバーチャルホストに設定すれば[htdocs]以外のディレクトリでローカルサイトを管理することが出来ます、パスも[localhost/~]ではなく[ディレクトリ名/]になり本番環境に近づけることが出来ます。

実装にあたっての作業内容は、コピペして少し編集するだけなので難しいことは一切ありません、それでは見ていきましょう。

筆者の環境を紹介(参考にでも)

  • OSはWindows10使用
  • XAMPPのバージョンは5.6.3
    →xamppのバージョンの確認方法は下記にアクセスし表示されたメニューの左上を確認。
    http://localhost/xampp/

バーチャルホストの実装手順

今回は以下のディレクトリをバーチャルホストにしてみたいと思います。

C:/Users/ユーザー名/Documents/myhost

ドキュメントフォルダ内に作ったmyhosthttp://myhostとして使えるようにします、下記の手順を踏んで実装します。

  1. httpd-vhosts(conf)を編集する
  2. hostsファイルを編集する
  3. Apacheを起動し確認

①:httpd-vhosts(conf)を編集する

まずhttpd-vhosts(conf)を編集します、編集エディタはメモ帳でかまいません、ファイルの場所は以下になります。

C:/xampp/apache/conf/extra/httpd-vhosts

ファイルの一番下に下記をコピペして追加します。

<VirtualHost *:80>
DocumentRoot "C:\Users\ユーザー名\Documents\myhost"
ServerName myhost
</VirtualHost>

<Directory "C:\Users\ユーザー名\Documents\myhost">
AllowOverride All
Require all granted
</Directory>

上記でハイライトされている以下の部分は変更しておきましょう。

・ドキュメントルートパス(DocumentRoot)
・ディレクトリパス(Directory)
→バーチャルホストに指定したいディレクトリのパスを指定してください、今回で言えばドキュメントフォルダ内にある[myhost]のパスですね。
・サーバーネーム(ServerName)
好きに付けてもらってかまいません、迷ったらディレクトリ名にでもしておきましょう。

ファイルを保存したら次にいきます。

②:hostsファイルを編集する

最後にhostsファイルを編集します、ファイルの場所は以下になります。

C:/Windows/System32/drivers/etc/hosts

「このファイルさわっていいの?」と思うかもしれませんが問題ありません、ただ念のためバックアップはとっておきましょう、ファイルを開いたら一番下に下記をコピペして追加します。

127.0.0.1 myhost

myhostの部分を先ほど設定したServerNameにしておきましょう、これで保存すればバーチャルホストの設定は以上で終わりとなります、簡単でしたね。

・hostsファイルが編集できない場合
メモ帳(エディタ)を開く際に右クリックで「管理者として実行」を選択し立ち上げれば編集可能になります。

③:Apacheを起動し確認

Apacheを起動していた場合は再起動しましょう、でないと反映されません。

Apacheを起動し確認

myhost(http://myhost)で表示されているのがわかりますね、無事バーチャルホストにすることができました!パチパチ!!!

エラーが出て設定できない場合

Bad Requestと表示される

Apacheで確認した際に「Bad Request(404)」と表示される場合がありますが、パスに注目してくだしあ、map_test/(http://map_test)とありますが、実はホスト名にアンダーバーを使用してはいけません。

ディレクトリ名とSeverNameを同じ名前で統一しているとよく起こりがち、httpd-vhosts(conf)及びhostsを編集する際はSeverNameにアンダーバーを使わないようにしましょう。

今回の場合アンダーバーを消して設定しなおすと表示されるようになります。

アンダーバーを消して設定しなおすと表示される

ちなみにハイフンの使用はOKです、SeverNameを決める際はアンダーバーを使用しないことを意識しておきましょう。

という事で今回は以上になります。

コメント (0)

コメントする人

セキュリティのためreCAPTCHAを利用しています。
Googleのプライバシーポリシー利用規約が適用されます。
うぇぶとまと|Webエンジニア
うぇぶとまと|Webエンジニア

飲食→派遣→IT系ベンチャーに転職。
本業をベーシックインカムとし、やりたい事に挑戦するWebエンジニア。