Настройка lighttpd для обработки исполняемых файлов CGI C - PullRequest
5 голосов
/ 07 июня 2011

Кто-нибудь знает, как настроить lighttpd для обработки простых исполняемых файлов CGI, в данном случае написанных на C? Я скомпилировал тестовую программу (test.cgi) и поместил ее в $ HOME / public_html / cgi-bin. Я также включил модуль CGI с lighty-enable-mod cgi и перезапустил веб-сервер. Тем не менее, при запросе http://localhost/~august/cgi-bin/test.cgi программа не запускается, а обрабатывается как статический файл. Кстати, вот моя тестовая программа:

#include <stdio.h>

int main(void)
{
   printf("Content-type: text/plain\n\n");
   puts("test...");
   return 0;
}

1 Ответ

8 голосов
/ 08 июня 2011

Конфигурация CGI по умолчанию выглядит следующим образом:

$HTTP["url"] =~ "^/cgi-bin/" {
    cgi.assign = ( "" => "" )
}

, т.е. будут выполняться только двоичные файлы в каталоге cgi-bin под корнем документа.Чтобы включить пользовательские каталоги cgi, добавьте

$HTTP["url"] =~ "^(/~[^/]+)?/cgi-bin/" {
    cgi.assign = ("" => "")
}

в файл конфигурации lighttpd.

...