XAMPPでバーチャルホストを有効にする

XAMPPにはバーチャルホストの機能があります、この機能を使うとXAMPPを http://localhost/ 以外でも使えるように出来ます。

例えば「http://test/」なんて形にでもローカルサーバーを動かせれるようになります。このことによって幾つかのメリットがあります。

一つはバーチャルホストで実際に運営しているサイトと同じURL構造にしてやることが出来るので、URLのパスとかがそのままでもローカルで動作させることが出来るようになります(ただ、実際のWeb上にあるサイトにはそのURLではアクセスできなくなってしまうので、PCを使い分けるなどの工夫が必要です)。

もう一つは初期のままの使用ではルートディレクトリにサイトを作ることができません、XAMPPの管理がありますので。バーチャルホストを利用するとURLの変更と一緒にルートディレクトリの変更もできます。なのでルートディレクトリにサイトを作ることが出来るようになります。

またバーチャルホストでは無制限に設定することが可能です。

 

バーチャルホストを設定する方法

いくつかバーチャルホストを設定する方法がありますが、私の環境では動作しないものがあり正しく動作している現在使っている設定を書きます

設定変更するのは2つのファイル XAMPPの設定ファイルのhttpd-vhosts.conf とWindowsのシステムにあるhosts

XAMPPは自身の環境\xampp\apache\conf\extra にあります
WindowsXPの場合はC:\WINDOWS\system32\drivers\etc にあります
両方メモ帳で開けます

XPでは普通に開けますが、Windwos7やvistaでは管理者権限が無いとhostsは編集できないようです

 

まず、httpd-vhosts.conf を編集します

メモ帳またはその他エディターで開き次の分を探します

NameVirtualHost *:80

おそらく
##NameVirtualHost *:80となっていると思いますので、コメントアウトを外します

##を取り除いて NameVirtualHost *:80 にします。これでバーチャルホストが有効になる設定になりました。次は、URL形式とそのファイルが保存されるディレクトリ(フォルダ)を設定してやります

まず通常道理、localhost にアクセス出来るようにします、以下の文をNameVirtualHost *:80の下に書きます1行開けておきます

 

<VirtualHost *:80>
     DocumentRoot "H:/localdb/xampp/htdocs"
     ServerName localhost
 </VirtualHost>

 

「DocumentRoot "H:/localdb/xampp/htdocs"」は現在のXAMPPのインストールされている環境にあわせてhtdocsのフォルダを指定します

DocumentRootはアクセスした時のフォルダを指定するものです
ServerNameはアクセスするURLです。

次に新たに設置するURLを設定します、その時の注意点はDocumentRootのフォルダの指定は、標準のhtdocs内部に設置すること。それ以外に設置するとエラーが出ます。解決する方法は有るのですが、その方法を試しても上手く動作しなかったので、htdocs以下にルートディレクトリ(フォルダ)を作ることをおすすめします

標準設定と同様に次の分を書き加えます

 

 <VirtualHost *:80>
     DocumentRoot "H:/localdb/xampp/htdocs/x1"
     ServerName x1
 </VirtualHost>

この文では、ルートディレクトリの場所がhtdocs以下のx1になっています H:/localdb/xampp/htdocs/x1
ServerNameでは x1となってます http://x1でアクセスするとローカルサーバーでサイトが表示されるようになります。

DocumentRootとServerName を注意点を踏まえて好きなように設定します

 

おそらく以下のような文に仕上がっていると思います

 

NameVirtualHost *:80
 
<VirtualHost *:80>
     DocumentRoot "H:/localdb/xampp/htdocs"
     ServerName localhost
 </VirtualHost>
  
 <VirtualHost *:80>
     DocumentRoot "H:/localdb/xampp/htdocs/x1"
     ServerName x1
 </VirtualHost>
 

あとは好きな数だけ同じように書き加えればその分バーチャルホストを作ることができます。これで設定したファイルを上書き保存します

 

次に、hostsの編集をします

hostsを開きます、次の文があります

127.0.0.1       localhost 

これはlocalhostの初期設定になっているものです、これと同じように先ほど設定したバーチャルホストを加えます

 

127.0.0.1       localhost
127.0.0.1       x1
 

このように、前半の部分はそのままでlocalhostの部分を先ほど設定したServerNameにします、こちらはこれでだけ上書き保存をして完了です。
おそらくウィルスセキュリティのソフトが警告を出すと思いますが変更を許可してください

あとはXAMPPのApacheの再起動で完了です、試しに新たに設置したバーチャルホストのルートディレクトリ(フォルダ)にメモ帳でテスト等と書いて、拡張子をhtmlにしたものを設置してみてアクセスアクセスして
そのhtmlが表示されたら正しく動作しています。これで設定は完了です


少し触れましたが、他にルートディレクトリの場所をhtdocs以外の場所に設定する方法は、httpd-vhosts.confに次の分を先ほど書いたバーチャルホストの設定の下に書き加えます
ServerNameの直後に書き加えます

<Directory  "H:/localdb/xampp/htdocs/x1">
Options Indexes FollowSymLinks Includes ExecCGI
Order deny,allow
Deny from All   Allow from localhost 127.0.0.1
</Directory>
 

Directory "D:/My Documents/xampp/htdocs"の内容はバーチャルホストで設定したものと合わせます。これでhtdocs以外のフォルダでも動作することになります。

 

こんな形式になると思います

 

 <VirtualHost *:80>
     DocumentRoot "H:/localdb/xampp/htdocs/x1"
     ServerName x1
<Directory  "H:/localdb/xampp/htdocs/x1">
Options Indexes FollowSymLinks Includes ExecCGI
Order deny,allow
Deny from All   Allow from localhost 127.0.0.1
</Directory>
 </VirtualHost>

 


comments powered by Disqus

 サイト内検索

広告


 

ツイッター

 

先頭へ戻る