Mac OS X 10.6 で VirtualHost
※2011/04/09に修正しました。
そういえばうちの Mac OS X 10.6 でバーチャルホスト使ったことないな
と思ったので、今日もありきたりな話ですがまた備忘録ということで。。
ここでは http://hoge.localhost:8080/ で
ハードディスクの /hoge/index.php
にアクセスできるようにする、という例にします。
hosts ファイルにバーチャルホストを追加
/etc/hosts に「hoge.localhost」を追加します。
管理者権限がないとだめなんで vim あたりで変更します。
sudo vim /etc/hosts
こんな感じで hoge.localhost を追加しときます。
127.0.0.1 と hoge.localhost の間ってタブなのかな?スペースなのかな?
とかこういうのに慣れてないので気になってしまうのですが、どっちでもいいんですね。
127.0.0.1 localhost 127.0.0.1 hoge.localhost
httpd.conf で httpd-vhosts.conf も読み込むように変更
httpd.conf 系の編集ですが、とりあえず編集が終わるごとに以下で
設定に変なところがないかチェックした方がよさげです。
このあとで Apache を再起動しますが、設定でミスってても
なぜかエラーメッセージなどが表示されないためです。
/usr/sbin/apachectl -t
まず /etc/apache2/httpd.conf については下の方で httpd-vhosts.conf の Include 文がコメントアウトされているので元に戻しておきます。
Include /private/etc/apache2/extra/httpd-vhosts.conf
次に /etc/apache2/extra/httpd-vhosts.conf に以下を追加します。
元々8080のポートを使っていたのでここでも8080にしてますが、
普通は80のままでいいはずです。
細かい設定はここから色々追加、という感じです。
※ ホスト名でバーチャルホストを切り替える場合は ServerName で区別するってのを後で知ったので以下修正しました。ごめんなさい。。
NameVirtualHost *:8080 <VirtualHost *:8080> DocumentRoot "/hoge" ServerName hoge.localhost </VirtualHost> <Directory "/hoge"> Order deny,allow Deny from All Allow from localhost 127.0.0.1 </Directory>
再起動。おつかれさまでした
あとは「システム環境設定」>「共有」>「Web 共有」か
以下のコマンドで Apache を再起動。
sudo /usr/sbin/apachectl restart
http://hoge.localhost:8080/ にアクセスすれば、/hoge/index.php の結果が
表示されるはずです。
ううう。日をまたいでしまった。
とりあえずこんな感じでプロジェクトごとにバーチャルホストを作っとけば
家でも快適に開発できそうです。