DrupalでFastCGIで稼働させるためにはmod_fastcgiの設定が必要になります。設定は、fastcgi.serverパラメータでおこないます。詳しくはDocs:ModFastCGI - lighttpd - Tracにあります。基本の構成は次のとおりです。
( <extension> =>
(
( "host" => <string>,
"port" => <integer> ,
"socket" => <string>,
"bin-path" => <string>,
"bin-environment" => <array>,
"bin-copy-environment" => <array>,
"mode" => <string>,
"docroot" => <string>,
"check-local" => <tring>,
"min-procs" => <integer>,
"max-procs" => <integer>,
"max-load-per-proc" => <integer>,
"idle-timeout" => <integer>,
"broken-scriptfilename" => <boolean>,
"disable-time" => <integer>,
"allow-x-send-file" => <boolean>,
"kill-signal" => <integer>
)
)以降、Drupalの稼働に必要なパラメータの設定をみていきます。
Drupalの稼働に必要な設定は少なく、
の最小セットで運用しています。
fastcgi.server = ( ".php" =>
( "localhost" =>
(
"socket" => "/tmp/php-fastcgi.socket",
"bin-path" => "/usr/bin/php"
)
)
)
ここでは指定していませんが、本番のホスティング環境では
などを設定したほうがよい場合もあります。
FastCGIの設定とは関係ありませんがDrupalにはクリーンURLという機能があって、通常のURLであれば「http://localhost/drupal/index.php?q=node/1」のようにURLにクエリ文字が含まれてしまうのですが、クリーンURLの機能を使用することで「http://localhost/drupal/blog/1」のようにクエリを含まないクリーンなURLをとすることができます。Lighttpdでは、Apacheの場合と同様mod_rewriteによりこの機能を使用することができます。
url.rewrite-final = (
"/drupal/system/test/(.*)$" => "/drupal/index.php?q=system/test/$1",
"/drupal/([^.?]*)\?(.*)$" => "/drupal/index.php?q=$1&$2",
"/drupal/([^.?]*)$" => "/drupal/index.php?q=$1",
"/drupal/rss.xml$" => "/drupal/index.php?q=rss.xml"
)system/testはクリーンURLが有効に機能するかチェックするDrupalのURLですのでここが書き換えられないと有効にすることができません。