はちゅにっき

こっちのブログはまったり更新

Lighttpd の導入

httpd について悩んで、イロイロ調べてみたけれど
フロントエンドとして Lighttpd を導入している記事をあまりにも見かけないので
Lighttpd + reverse proxy をフロントエンドにすることにしました。

インストール

いつもと一緒

# aptitude install lighttpd

設定

/etc/lighttpd.conf の設定内容を一通り読みましたが
このままでも十分使えそうな感じ。
でも、気になった部分もあったのでその部分は変更しておきました。

server.dir-listing = "enable"
# ↓ ディレクトリ一覧を表示できなくする
server.dir-listing = "disable"

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
# ↓ .cgi も追加
static-file.exclude-extensions = ( ".php", ".cgi", ".pl", ".fcgi" )

また、Lighttpd でも cgi が動作するように、cgi モジュールを有効にすることに

# lighty-enable-mod cgi

その後 .cgi が cgi として動作するように /etc/lighttpd/conf-enabled/10-cgi.conf を修正しました。

cgi.assign      = (
    ".pl"  => "/usr/bin/perl",
    ".cgi" => "/usr/bin/perl",  # ←これ追加
    ".php" => "/usr/bin/php-cgi",
    ".py"  => "/usr/bin/python",
)

設定の反映

# /etc/init.d/lighttpd force-reload

で、しっかりと CGI などが動作するか確認しておわり。

TODO

以下の部分は Apache でいうところの VirtualHost の設定らしく
ここで reverse proxy の設定も行うそうですが
よくわからないのでこれから考えることに。。。

$HTTP["remoteip"] == "127.0.0.1" {
    alias.url += (
        "/doc/" => "/usr/share/doc/",
        "/images/" => "/usr/share/images/"
    )
    $HTTP["url"] =~ "^/doc/|^/images/" {
        dir-listing.activate = "enable"
    }
}