Pukiwiki を Lighttpd + PHP5で動かす.MacPortsでインストールする.

気が向いたので,いつものApacheではなく,lighttpdの上でpukiwikiを動かす.
MacPortsで,lighttpdとphp5をインストールする.

  • インストール

% sudo port install lighttpd
% sudo port install php5 +fastcgi +mysql5 +postgresql +sqlite

lighttpdの設定ファイルは,/opt/local/etc/lighttpd/lighttpd.conf とする.
php5は,/opt/local/bin/php(コマンドライン版) と,/opt/local/bin/php-fcgi(fastcgi版)が入る.
php5 の設定ファイルは

% php-fcgi -i | grep php.ini
<tr><td class="e">Configuration File (php.ini) Path </td><td class="v">/opt/local/etc/php.ini </td></tr>

より,/opt/local/etc/php.iniであることが判明.

設定ファイルのコピー

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/pages" # Document Root.お好きな所に.
server.errorlog = "/opt/local/var/www/logs/lighttpd.error.log" # エラーログ
accesslog.filename = "/opt/local/var/www/logs/access.log" # アクセスログ

次の行のコメントを外し,socketと,bin-pathを編集(下記は編集結果).

fastcgi.server             = ( ".php" =>
                               ( "localhost" =>
                                 (
                                   "socket" => "/tmp/php-fastcgi.socket",
                                   "bin-path" => "/opt/local/bin/php-fcgi"
                                 )
                               )
                            )

必要なディレクトリを作成しておく.

% sudo mkdir -p /opt/local/var/www/pages
% sudo mkdir -p /opt/local/var/www/logs

  • phi.iniの編集

設定ファイルのコピー

% sudo cp /opt/local/etc/php.ini-dist /opt/local/etc/php.ini

/opt/local/etc/php.iniに,以下の行を追加する.

cgi.fix_pathinfo = 1

追加する場所は,適当で良いと思うが,514行目(File Uploadsの前)辺りが適当か.

% sudo lighttpd -f /opt/local/etc/lighttpd/lighttpd.conf

で起動して,http://localhost/ にアクセス.404 not foundかな?
何か設定にエラーが有る場合には,コンソールにエラーの種類等,表示が出るので,そのエラーからエラー箇所を見つける.
/opt/local/var/www/pages/index.php

<?php phpinfo(); ?>

を記述して,再度http://localhost/にアクセス.phpの設定一覧が出る.

  • lighttpdの起動&終了ファイル編集

lighttpdの起動ファイル/Library/LaunchDaemons/org.macports.lighttpd.plistがうごかないっぽかったので(ちゃんと調べてないです),以下のようにさくっと変更.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.
com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Label</key>
        <string>org.macports.lighttpd</string>
        <key>OnDemand</key>
        <false/>
        <key>ProgramArguments</key>
        <array>
                <string>/opt/local/sbin/lighttpd</string>
                <string>-D</string>
                <string>-f</string>
                <string>/opt/local/etc/lighttpd/lighttpd.conf</string>
        </array>
</dict>
</plist>

これで,lighttpdの起動と終了は下記の通りのコマンドで可能.

% sudo launchctl load -w /Library/LaunchDaemons/org.macports.lighttpd.plist
% sudo launchctl unload -w /Library/LaunchDaemons/org.macports.lighttpd.plist

後は,pukiwiki-1.4.7(utf-8版)を本家からダウンロードし,設置してみたら,難なく動いた.

PHPからのDBの接続は未確認.