Mac(Snow Leopard)でWeb開発環境


今回の記事は、Mac で Apache + MySQL + PHP の環境を作る方法について。

簡単に環境を作りたい場合は、MAMP という選択肢もありかもしれないが、個人的には以下の理由で好きではない。

  • 多様な本番環境に設定を合わせられるほど柔軟じゃない。
  • 無駄な学習コストが発生するように思える。
  • 特定のプラットホームやパッケージへの依存度を減らしておきたい。

と、余談はさておき、Mac を使用した開発環境の構築。

以下は、かなり私の独断と偏見。
あと、あくまでも開発環境を前提としており、本番環境を前提としていない。

Apache の設定

Apache の設定は、意外と簡単。
Webmin や MAMP などのGUI からはさっさと卒業しましょう。

ユーザー、グループの変更

たとえば、PHPやCGIからファイルに書き込みをしたりする際に、対象となるファイルやディレクトリにパーミッションを 707 などとしておく必要があると思うが、開発環境ではこの作業は面倒なので、私はApache のユーザーそのものをかえている。

こうしておくことで、パーミッションの変更が不要になり、たとえば WordPress では自動アップグレードも動作するようになる。

/etc/apache2/httpd.conf の128行目付近の以下の行を変更

User foo
Group staff

User に指定する foo の部分は Mac にログインする際のユーザー名。
Group の値は、staff でいいとおもう。

この設定をしておけば、Mac のファインダー上で作成したファイルやディレクトリと同じユーザー、グループで Apache が動作するので何かと便利になる。(SuExec に近いイメージ?)

念のため、以下のディレクトリのオーナーを変更しておく。
(foo の部分は置き換えて!)

sudo chown -R foo:staff /Library/WebServer

バーチャルホストの設定

バーチャルホストを設定すれば複数のサイトを構築でき、設定もサイト毎に可能なので、レンタルサーバーなどの設定に柔軟にあわせることができる。

開発環境のバーチャルホストでは、ポートベースのバーチャルホストが簡単で手っ取り早い。

以下のサンプルは、ポート番号 9001 のバーチャルホストの例。

まずは、バーチャルホスト用のディレクトリを作成する。

mkdir /Library/WebServer/vhost9001

このソースをコピペして、例えば “9001.conf” のようなファイル名で /etc/apache2/other 以下に設置するとポート 9001 のバーチャルホストができあがる。

NameVirtualHost *:9001
Listen 9001
<VirtualHost *:9001>
    DocumentRoot "/Library/WebServer/vhost9001"
    <Directory "/Library/WebServer/vhost9001">
        Options All
        AllowOverride All
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

確認するには、ブラウザで、http://127.0.0.1:9001/ にアクセスする。
あくまでも開発環境なので、とりあえず Options とか AllowOverride の値は気にしない(笑)

もし、違うポート番号のバーチャルホストを追加するには、上記のソースを違うファイルにコピーして、 9001 を 9002 等に変更すればOK。

MySQLのインストール

これは、もっと簡単。
本家で Mac 用のバイナリが配布されているので、それをインストールする。

MySQL :: Download MySQL Community Server

たくさんあって分かりにくいかもしれないが、使用している OS の.dmg をダウンロードすれば、インストーラーでインストールでき、システム環境設定で起動停止や自動起動の設定も行える。

ユーザーやパスワードの設定は臨機応変に。
データベース名も含めて単純に本番環境に合わせるのがいいと思う。

PHP の設定

Mac では PHP はプリインストールで、Snow Leopard にインストールされているバージョンの PHP は日本語にも対応しているので特に変更する必要はない。

が、もし変更する場合は、以下のように .htaccess で変更するのがオススメ。

php_value display_errors 1

こうすることで、多様な本番環境に柔軟に合わせることができる。


関連する記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>