Lighttpd + Python-эквивалент Apache + PHP + FastCGI + suEXEC (или: lighttpd FastCGI-выполняющие сценарии Python с разрешения владельца)

1185
gspr

Прошло много лет с тех пор, как я последний раз имел какое-либо отношение к веб-серверам. В последний раз я обнаружил, что Apache вместе с FastCGI (фактически mod_fcgid) и suEXEC дали мне, казалось бы, идеальный способ работы с PHP; каждый скрипт будет запускаться с привилегиями своего владельца благодаря suEXEC, а FastCGI сделает так, чтобы PHP не нуждался в порождении каждый раз, когда поступал запрос. Абсолютно изумительно!

Сейчас я настраиваю маленький VPS просто для удовольствия. Из-за ограничений памяти (и желания учиться чему-то новому) Apache был заменен на lighttpd. Более того, в последний раз я поклялся никогда больше не трогать PHP. Поэтому на этот раз я буду использовать Python (и, возможно, Haskell) для своих динамических потребностей. Я немного поиграл с lighttpd + FastCGI + Python, но не понимаю, как мне это связать с чем-то эквивалентным suEXEC.

Итак, на вопрос: может ли кто-нибудь дать мне несколько советов о том, как мне настроить Lighttpd с FastCGI таким образом, чтобы каждый запрашиваемый скрипт Python выполнялся (через FastCGI) с привилегиями пользователя, владеющего указанным скриптом?

0

1 ответ на вопрос

1
h0tw1r3

В Apache вы можете определять шаблоны (аналогично mod_cgi), которые обозначают запросы, отправляемые в приложения FastCGI. Mod_fcgid - это менеджер процессов FastCGI, порождающий каждое уникальное приложение с определенными разрешениями (suexec).

Это не возможно с Lighttpd. Lighttpd не имеет встроенного диспетчера процессов FastCGI, который может изменять разрешения (что делает mod_fcgid).

Наиболее близким к lighttpd является spawn-fcgi, который по совпадению происходит из проекта lighttpd. Взгляните на вики Lighttpd ModFastCGI в разделе Внешний спавнинг .