14 янв. 2012 г.

Lighttpd и Trac

Хоть Trac уже и заглушен, оставляю это тут на всякий случай.
Под катом кусок конфига lighttpd для Trac'а с комментариями.
/trac/root тут — корневая директория
Работало все это на поддомене (HTTP["host"] =~ "^trac\.example\.com$").



# Дом
server.document-root = "/trac/root"
# Для статических файлов используется специальный URL, 
# добавляем местоположение для его обработки...
alias.url = (
    "/chrome/" => "/trac/root/",
)
# и явно отключаем FastCGI для статических файлов
$HTTP["url"] =~ "^/chrome/" {
    # no fastcgi
}
# Остальные URL обрабатываются с помощью FastCGI.
# Общение с процессом происходит через сокет.
else $HTTP["url"] =~ "^/" {
    fastcgi.server = 
        ( "/" =>
            ( "trac" =>
                (
                    "socket" => "/tmp/trac.sock",
                    "check-local" => "disable",
                    "min-procs" => 1,
                    "max-procs" => 1,
                    # Ниже хаки специально для Trac'a
                    "bin-environment" =>
                        (
                            "TRAC_ENV" => "/trac/root",
                        ),
                    "fix-root-scriptname" => "enable",
                ),
            ),
        )
}
# Включаем авторизацию 
$HTTP["url"] =~ "login/?$" {
    auth.debug = 2
    auth.backend.htdigest.userfile = "/path/to/htdigest/file/for/trac"
    auth.require = 
        ( "" =>
            (
                "method" => "digest",
                "realm" => "trac",
                "require" => "valid-user",
            )
        )
}

FastCGI процесс запускается с помощью утилиты spawn-fcgi:
exec /usr/bin/spawn-fcgi -d /trac/root/cgi-bin/ -n -s /tmp/trac.sock -u http-user -- /trac/root/cgi-bin/trac.fcgi

Комментариев нет :

Отправить комментарий