XAMPPバーチャルホストの設定とシンボリックリンク

XAMPPはDドライブ直下へインストール。データは別のドライブ、またはフォルダで管理している時など、XAMPPの「htdocs」へデータを引っ越しするのも手間だし管理も大変。そんな時、任意のフォルダをバーチャルホストとして設定出来るととても便利。

ついつい忘れてしまう設定方法を自分用にメモ。

1.「httpd-vhosts.conf」ファイルの編集

OSはCドライブ。
XAMPPはDドライブ直下へインストール。
データはFドライブにあるケース。

D:/xampp/apache/conf/extra/httpd-vhosts.conf

XAMPPがインストールされているフォルダから上記ファイルを開き、下記記述を探し出し「##」を削除し有効化

##NameVirtualHost *:80
修正後
NameVirtualHost *:80
同ファイルの一番下あたりに下記2つのソースを追記して保存

「http://localhost」でアクセスした時用
<VirtualHost *:80>
  DocumentRoot "D:/xampp/htdocs"
  ServerName localhost
</VirtualHost>
今回設定する「http://localhost_test」でアクセスした時用
<VirtualHost *:80>
  DocumentRoot "F:\hoge\hogehoge\test"  ←フォルダの場所を指定
  ServerName localhost_test             ←任意の名前を指定(アクセスするURL)
  <Directory "F:\hoge\hogehoge\test">   ←フォルダの場所を指定
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

主なOptionsの設定

「htdocs」以外のフォルダを指定する場合、フォルダの権限を設定する必要があります。

Options Indexes FollowSymLinks Includes ExecCGI

Indexes
インディックス表示を有効
FollowSymLinks
シンボリックリンクを有効
Includes
SSIを有効
ExecCGI
CGIを有効
IncludesNoExec
SSIを有効、CGIを無効
FollowSymLinksIfOwnerMatch
シンボリックリンク先の権限が一致する場合のみ有効

2.「hosts」の編集

メモ帳を「管理者として実行」

メモ帳の「ファイル→開く」から下記フォルダを開く
D:/windows/System32/drivers/etc

設定を「テキスト文書→全てのファイル」に変更し、現れた「hosts」ファイルを開く

先程「httpd-vhosts.conf」にて、アクセスするURLとして指定した任意の名前を追記して保存

127.0.0.1       localhost_test
XAMPP起動後(起動していたら再起動)、アクセスするURLとして指定した http://localhost_test/ にアクセスし、「F:\hoge\hogehoge\test」フォルダにあるindex.htmlが表示されていたら完了。

おまけ.「シンボリックリンク」

シンボリックリンクとはショートカットの仲間。あたかも、そこにデータが存在するかのように動作する。

例えるなら、ショートカット=只の残像
シンボリックリンク=質量をもった残像

自分の場合、同じバーチャルホスト内で表示したいけど、Gitのバージョン管理の都合上フォルダは分けたい。めったに無いけどそんな時に設定。知っていると何かと便利かと。

F:\hoge\hogehoge\test フォルダ内に F:\hoge\sample へのシンボリックリンクを作る場合、つまり F:\hoge\hogehoge\test\sample として動作させたい場合の設定方法。(先程設定したバーチャルホスト http://localhost_test/sample/ としても動作可)

コマンドプロンプトを「管理者として実行」し、下記コマンドを実行

mklink /d "F:\hoge\hogehoge\test\sample" "F:\hoge\sample"
簡単な解説
mklink /d "[シンボリックリンクを作るフォルダ\リンク名]" "[実際にデータのあるフォルダ]"
「F:\hoge\hogehoge\test」フォルダ内に、「sample」という「F:\hoge\sample」フォルダへのシンボリックリンクが出来ていたら完了。

シンボリックリンクを削除のする時は、通常のショートカット同様、シンボリックリンクを削除してしまっているけど、やはりコマンド打った方が良いのかな。


page top