今まで、GrapeのiMac(Panther)でApache1.3で運用していたのですが、http周りを見直して、
Webdav&Subversionと拡張しようと思いました。
ただ、メモリが320MBしかないので、Apache2にあげるよりは、Lighttpdにしようということで、MacPortsを使ってインストールし
ました。
まずは、MacPortをインストールですが、パッケージでのインストールなので、インストール手順は割愛します。インストールのあと、以下の設定をして
おきます。Xcodeも必要なので、インストールしておいてください。
~/.bash_profile
if [ -f ~/.bashrc ]
; then
. ~/.bashrc
fi
~/.bashrc
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH
そのづぎは、X11のVer1.0をインストールしてください。Pantherではそれ以上のバージョンはインストールされないと思います。そうしないと、 MacPortが、依存関係でXFree86をインストールしようとして失敗します。MacPortでは、XFree86をインストールしないのがお勧めだそうです。
$ sudo port install lighttpd
lighttpdの設定は"/opt/local/etc/lighttpd/lighttpd.conf"に設定します。
$ sudo port install php5 +fastcgi +mysql5 +postgresql +sqlite
php5が、/opt/local/bin/phpと/opt/local/bin/php-cgiとしてインストールされます。設定は、"/opt/local/etc/php.ini"に設定します。一応、バージョンの確認をしておきます。
$ php -v
PHP 5.2.6 (cli) (built: Sep 20 2008 03:17:16)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
$ php-cgi -v
PHP 5.2.6 (cgi-fcgi) (built: Sep 20 2008 03:16:28)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
defaultのファイルをコピーして、その内容を修正します。
sudo cp /opt/local/etc/lighttpd/lighttpd.conf.default /opt/local/etc/lighttpd/lighttpd.conf
/opt/local/etc/lighttpd/lighttpd.conf の次の行を編集
server.document-root = "/opt/local/var/www/"
server.errorlog = "/opt/local/var/logs/lighttpd/error_log"
server.pid-file = "/opt/local/var/run/lighttpd/lighttpd.pid"
accesslog.filename = "/opt/local/var/logs/lighttpd/access_log"
設定したファイルが問題なく動くように、パーミッションを変更します。
$ sodo chown www:www /opt/local/var/run/lighttpd/
以下は、OSXでは必須です。でないと、すぐに落ちます。
server.event-handler = "freebsd-kqueue" # 非常に大切
必要に応じて、ユーザーを変更します。rootにしないことをお勧めします。
server.username = "www"
server.groupname = "www"
必要に応じて、ポートを変えます。いま、Apacheがport 80で動いているので、Lighttpdのテスト起動として81にします。
server.port = 81
読み込む、moduleを決めます。PHPを使うので、"mod_fastcgi"を追加で有効にします。
server.modules
= (
#
"mod_rewrite",
#
"mod_redirect",
#
"mod_alias",
"mod_access",
#
"mod_cml",
#
"mod_trigger_b4_dl",
#
"mod_auth",
"mod_status",
#
"mod_setenv",
"mod_fastcgi",
#
"mod_proxy",
#
"mod_simple_vhost",
#
"mod_evhost",
#
"mod_userdir",
#
"mod_cgi",
#
"mod_compress",
#
"mod_ssi",
#
"mod_usertrack",
#
"mod_expire",
#
"mod_secdownload",
#
"mod_rrdtool",
"mod_accesslog"
)
次の行のコメントを外し,socketと,bin-pathを設定します。
fastcgi.server
= ( ".php" =>
(
"localhost" =>
("socket" =>
"/opt/local/var/run/lighttpd/php-fastcgi.socket",
"bin-path" =>
"/opt/local/bin/php-fcgi"
)
)
)
提供されているファイルをコピーして使います。
$ sudo cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini
cgiにPATH_INFO/PATH_TRANSLATEDを受け渡すために、以下の設定をします。
cgi.fix_pathinfo = 1
/opt/local/var/www/index.php に
<?php phpinfo(); ?>
とだけ書いて、保存して、lighttpdを起動してください。
$ sudo lighttpd -f /opt/local/etc/lighttpd/lighttpd.conf
以下のアドレスにブラウザーでアクセスして表示されれば機能しています。
http://localhost:81/index.php
デバック時に以下の設定を有効にすると便利です。
http://localhost:81/server-status
or
http://localhost:81/server-config
で状態がわかります。
#### status module
#status.status-url
= "/server-status"
#status.config-url
= "/server-config"
起動スクリプトを自分でつくります。apachectlをまねしてlighttpdctlというファイルに以下の内容を記述します。
#!/bin/sh
#
# lighttpd Startup script for the lighttpd server
if [ -z "$LIGHTTPD_CONF_PATH" ]; then
LIGHTTPD_CONF_PATH="/opt/local/etc/lighttpd/lighttpd.conf"
fi
prog="lighttpd"
lighttpd="/opt/local/sbin/lighttpd"
RETVAL=0
start() {
echo -n $"Starting $prog: "
$lighttpd -f $LIGHTTPD_CONF_PATH
RETVAL=$?
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killall $prog
RETVAL=$?
return $RETVAL
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
echo
start
*)
echo $"Usage: $0 {start|stop|restart}"
RETVAL=1
esac
echo
起動
$ sudo lighttpctl starrt
Starting lighttpd:
終了
$ sudo lighttpctl stop
Stopping lighttpd:
再起動
$ sudo lighttpctl restart
Stopping lighttpd:
Starting lighttpd:
参考にしたサイト
http://d.hatena.ne.jp/sesejun/20070404/p1
http://redmine.lighttpd.net/wiki/lighttpd/PoweredByLighttpd
http://www.kozupon.com/lighttpd/
Last Update:
$Date: Sun, 03 May 2009 10:58:09 +0900 $