OSX Tiger 上に lighttpd + PHP + MySQL の開発環境を作ったときのメモ
PowerBook に lighttpd 1.4.11, PHP4.4.4, MySQL4.1.21 をインストールしたときのメモ。下記のサイトを参考(ほぼそのまま)にしました。
- A::Watch - OSXにRuby on Rails環境をインストールする方法(RoR 1.1対応)
- lighttpd + FastCGI は mod_perl + Apache1.3 より1割ほど高速 :: Drk7jp
MySQL
パッケージからインストール。
- MySQL のサイトから、mysql-standard-4.1.21-apple-darwin8.6.0-powerpc.dmg をダウンロードしてマウント
- mysql-standard-4.1.21-apple-darwin8.6.0-powerpc.pkg をインストール
- MySQLStartupItem.pkg をインストール
- 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 が有効にならず、起動できなくなるらしい。
設定ファイルがないので、ソースのディレクトリからコピー。場所は /usr/local/lighttpd/etc にした。
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/www/pages 、アクセスログの出力先を /usr/local/lighttpd/www/logs とした。
sudo mkdir /usr/local/lighttpd/etc
sudo cp ~/src/lighttpd-1.4.11/doc/lighttpd.conf /usr/local/lighttpd/etc
lighttpd.conf に反映。
sudo mkdir /usr/local/lighttpd/www
cd /usr/local/lighttpd/www
sudo mkdir pages
sudo mkdir logs
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
ソースからコンパイル。
make test で何か出た。
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
=====================================================================
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 関係とか適当に設定。
lighttpd.conf を編集。fastcgi 関係の設定がコメントアウトされてるので有効にする。
sudo cp ~/src/php-4.4.4/php.ini-dist /usr/local/lib/php.ini
できあがり。
#### 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"
)
)
)