OSX Tiger 上に lighttpd + PHP + MySQL の開発環境を作ったときのメモ

 PowerBooklighttpd 1.4.11, PHP4.4.4, MySQL4.1.21 をインストールしたときのメモ。下記のサイトを参考(ほぼそのまま)にしました。

  1. A::Watch - OSXにRuby on Rails環境をインストールする方法(RoR 1.1対応)
  2. lighttpd + FastCGI は mod_perl + Apache1.3 より1割ほど高速 :: Drk7jp

準備

 パスを通す。~/.bash_login(無かったら作る)に追記。


export PATH="/usr/local/bin:/$PATH"

MySQL

 パッケージからインストール。

  1. MySQL のサイトから、mysql-standard-4.1.21-apple-darwin8.6.0-powerpc.dmg をダウンロードしてマウント
  2. mysql-standard-4.1.21-apple-darwin8.6.0-powerpc.pkg をインストール
  3. MySQLStartupItem.pkg をインストール
  4. MySQL.prefPane をインストール

これだけで良さげ。簡単!root ユーザのパスワード設定とかも忘れずに。

PCRE

 lighttpd のインストールに必須らしい。ソースからコンパイル


tar -xzvf ./pcre-6.7.tar.gz
cd pcre-6.7
./configure --prefix=/usr/local
make
sudo make install

lighttpd

 ソースからコンパイル。最初のパスを通すのを忘れてると PCRE が有効にならず、起動できなくなるらしい。


tar -xzvf lighttpd-1.4.11.tar.gz
cd lighttpd-1.4.11
./configure --prefix=/usr/local/lighttpd --with-pcre=/usr/local
make
sudo make install
設定ファイルがないので、ソースのディレクトリからコピー。場所は /usr/local/lighttpd/etc にした。

sudo mkdir /usr/local/lighttpd/etc
sudo cp ~/src/lighttpd-1.4.11/doc/lighttpd.conf /usr/local/lighttpd/etc
 ドキュメントルートとアクセスログの出力先を作成。とりあえず、ドキュメントルートを /usr/local/lighttpd/www/pages 、アクセスログの出力先を /usr/local/lighttpd/www/logs とした。

sudo mkdir /usr/local/lighttpd/www
cd /usr/local/lighttpd/www
sudo mkdir pages
sudo mkdir logs
lighttpd.conf に反映。

server.document-root = "/usr/local/lighttpd//www/pages/"
server.errorlog = "/usr/local/lighttpd//www/logs/lighttpd.error.log"
accesslog.filename = "/usr/local/lighttpd//www/logs/access.log"

fastcgi

 ソースからコンパイル


tar -xzvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0
./configure --prefix=/usr/local
make
sudo make install

PHP

 ソースからコンパイル


tar xvfz php-5.0.5.tar.gz
cd php-4.4.4
./configure \
--enable-fastcgi \
--enable-discard-path \
--enable-force-cgi-redirect \
--enable-mbstring \
--enable-mbregex \
--enable-mbstr-enc-trans \
--enable-iconv \
--enable-trans-sid \
--with-mysql=/usr/local/mysql
make test
sudo make install
 make test で何か出た。

=====================================================================
FAILED TEST SUMMARY

                                                                                                                                        • -

Bug #30638 (localeconv returns wrong LC_NUMERIC settings) [tests/lang/bug30638.phpt]
Bug #35239 (Objects can lose references) [tests/lang/bug35239.phpt]
mb_strlen() [ext/mbstring/tests/mb_strlen.phpt]
Sort with SORT_LOCALE_STRING [ext/standard/tests/array/locale_sort.phpt]
Bug #27780 (strtotime(+1 xxx) returns a wrong date/time) [ext/standard/tests/time/bug27780.phpt]
=====================================================================

とりあえず無視。
 php.ini をソースのディレクトリからコピーしてきて、mbstring 関係とか適当に設定。

sudo cp ~/src/php-4.4.4/php.ini-dist /usr/local/lib/php.ini
 lighttpd.conf を編集。fastcgi 関係の設定がコメントアウトされてるので有効にする。

#### fastcgi module
## read fastcgi.txt for more info
## for PHP don't forget to set cgi.fix_pathinfo = 1 in the php.ini
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/local/bin/php"
)
)
)
できあがり。