« Adobe Lightroom がついに発売されてしまう。。。 | メイン | 思いこみの中の 月読命( または 月読神) »

Webサイトのローカルテスト環境構築 on Mac OS X

あとで読む

なにかWebサイトを作るとして、公開するサーバーとローカル開発/テスト環境はできるだけ合わせたい。特にURI。Google Maps API なんてつかっていると、アクセスするドメインが違うと動作しないし、各種リンクも張り方によっては切れてしまうからだ。本当はアドレスが変わっても正常に動作するサイト作りが望ましいけど、過去書いてしまったモノをポータブルに修正するのはちょっとやりたくない。。。

というわけで、環境合わせることにするも、メンドーなことはしたくないので、最小限設定を試みる。ちなみに、ローカルマシンは Mac OS X(10.4) である。

目標:

  • http://groundwalker.com/ でローカルマシンにあるページにアクセスできるようにし、
  • 公開サイトとできるだけ変わらない表示/動作をするようにする。
  • さらに、他の公開サイトも追加しやすいようにする。
  • ローカルサイトと公開サイトはすぐに切り替えられるようにする。
  • また、ローカルマシンだけにアクセスを限定する

まず、公開するサーバーとローカル環境の各種プログラムの存在と位置、およびバージョン確認。これが違ってたら公開するサーバーにローカルマシンを合わせる。あまりに違ってたらあきらめる。Apache 1.3系と2.x系の違いくらいだったらなんとかなる。プログラムのパスが違う場合はシンボリックリンク張っておく。↓例

% ln -s /usr/bin/php /usr/local/bin/php

次に、Apache。ちなみに、Macの Apacheは version 1.3.33。
/etc/httpd/httpd.conf を編集し、名前ベースのバーチャルホスト を設定する。VirtualHostの DocumentRootに AllowOverride Allを設定して、あとは DocumentRoot以下の .htaccess で公開サーバと設定を合わせればよいようにしておく。

# アクセスをループバックに限定して、他のマシンからアクセスされないようにする。
BindAddress 127.0.0.1
...
Port 80
...
NameVirtualHost *:80
...
<VirtualHost *:80>
    ServerName groundwalker.com
    DocumentRoot /Users/[user]/www/groundwalker.com
</VirtualHost>
<Directory "/Users/[user]/www/groundwalker.com"> 
    AllowOverride All
    # その他必要なら追加
</Directory>

他のサイトのテスト環境を追加するときは VirtualHostと Directoryディレクティブを追加すればよい。

php, perl 使うので↓あたりのコメントをはずす。

#LoadModule php4_module        libexec/httpd/libphp4.so
...
#AddModule mod_php4.c
...
#    AddHandler cgi-script .cgi

次は /etc/hosts の設定。127.0.0.1(ループバック)にエイリアスつけちゃう。公開サイトにアクセスするときは元に戻せばいい。 と思ったけど、Mac OS X はデフォルトでは /etc/hosts を見ない。Linuxにあるような host.confで order指定なんてのもない。 えーと、hostsを有効にし、かつ、優先させるには NetInfoマネージャの設定をしなければならないらしい。(情報元 Ryosuke KATSU's Page: Diary: Jul (2), 2003

% sudo -s
% niutil -create . /locations/lookupd
% niutil -create . /locations/lookupd/hosts
% niutil -createprop . /locations/lookupd/hosts LookupOrder FFAgent CacheAgent NIAgent DNSAgent NILAgent
% kill -HUP `cat /var/run/netinfo_local.pid`
% kill -HUP `cat /var/run/lookupd.pid`

FFAgent が Flat-File-Agent の略らしく = /etc/hostsファイルということらしい。で、やっと、/etc/hostsの設定

#127.0.0.1       localhost
127.0.0.1       localhost groundwalker.com

サイトのデータを /Users/[user]/www/groundwalker.com/ に展開。User/Groupオーナーを適切に設定。

終わり。

Trackbacks

Trackback URL:
http://groundwalker.com/mt/gwtb.cgi/103

Comments (2)

groundwalker:

% niutil -createprop だけれども、先に /location/lookupd/hosts がないとエラーになるので、niutil -create で先に作っておく必要があるよ。

groundwalker:

Apache2 では BindAddress, Port ディレクティブは廃止された。

Listen 127.0.0.1:80

と指定するべし。

« Adobe Lightroom がついに発売されてしまう。。。 | メイン | 思いこみの中の 月読命( または 月読神) »

スポンサー

関連ブログ

あわせて読みたい

関連キーワード

Powered by
Movable Type 3.34

連絡先