2008年 9月 05日(金曜日) 14:50

バーチャルホストを使用するには

評価:
(0 票)

一台の開発マシンを複数のWebアプリケーションプロジェクトに使用する場合などに、ApacheのDocumentRootを複数設定したいときがあります。または、phpMyAdminやWiki等の複数のツールを開発マシンにインストールして使いたいのだけど、全てをデフォルトのDocumentRootの下に入れたくないこともあります。ここではApacheのバーチャルホスト機能を使用して複数のDocumentRootを用意し、それぞれにホスト名を割り当ててみました。

1. Apacheの設定

Apacheのマニュアルによると、Apacheのバーチャルホストには、IPベースと名前ベースの2種類があるようですが、ここでは名前ベースのバーチャルホストを設定しました。

apache/conf/extra/httpd-vhosts.confを開いて、上の方にある次の行のコメントを外します。

NameVirtualHost *:80

次に、一番下に次のような記述を追加します。下の例では、バーチャルホストの名前を"awaresoft"としています。

VirtualHostの後ろには、NameVirtualHostと同じものをつけます。(この例では*:80)ディレクトリの設定も適宜行います。VirtualHostは複数追加することができます。

<VirtualHost *:80>
DocumentRoot "C:path/to/oproject/root" ServerName awaresoft </VirtualHost> <Directory "C:path/to/project/root"> Options Indexes FollowSymLinks AllowOverride all Order allow,deny Allow from all </Directory>

ここではメインのDocumentRootを一番上のVirtualHostとして設定し、おまけでphpMyAdmin用のVirtualHostも追加してみました。

<VirtualHost *:80>
DocumentRoot "C:path/to/main/document/root" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "C:path/to/project/root" ServerName awaresoft </VirtualHost> <Directory "C:path/to/project/root"> Options Indexes FollowSymLinks AllowOverride all Order allow,deny Allow from all </Directory> <VirtualHost *:80> DocumentRoot "C:path/to/phpMyAdmin" ServerName phpMyAdmin </VirtualHost>

2. Windowsにバーチャルホストの設定

Linuxの/etc/hostsのようなものが、WindowsにはC:WINDOWSsystem32driversetchostsにあります。ここの一番最後の行に、先ほどServerNameで指定したホスト名を追加します。

127.0.0.1 localhost
127.0.0.1 awaresoft
127.0.0.1 phpMyAdmin

Apacheの再起動

ここまでの設定が済んだら、Apacheを再起動します。

> net stop apache2.2 Apache2.2
サービスを停止中です.
Apache2.2 サービスは正常に停止されました。
> net start apache2.2 Apache2.2 サービスを開始します...
Apache2.2 サービスは正常に開始されました。

これで、ブラウザからhttp://awaresoft/でアクセスすると、"C:path oproject oot"が、http://phpMyAdmin/でアクセスすると"C:path ophpMyAdmin"が、そしてhttp://localhost/でアクセスすれば"C:path omaindocument oot"が、それぞれドキュメントルートとして使われてページが表示できるようになりました。

最終更新日: 2011年 6月 27日(月曜日) 01:46
くらち たかよし

くらち たかよし

モバイル・Webアプリ作家。最近は主にiPhoneアプリ制作を手がける。企画から、UIデザイン、設計、実装、テスト、多言語対応、ユーザーサポートまでを1人〜数人の個人で行う全人的開発手法の確立を目指している。

使う言語はObjective-C, C++, C#, Java, PHPなど。Web関連で使うものはCakePHP, MySQL, Joomla! CMSなど。デザインはシロウトながらPhotoshopとIllustratorをなんとかがんばって使う。

場所や時間に縛られない、インターネット時代の新しい働き方、自由な生き方を模索中。海外移住、低予算&低リスク起業、キャリアデザイン、心理学などにも興味あり。

Web: awaresoft.jp/