Как настроить apache с fastcgi и простой тестовый скрипт?

Прошло несколько дней, когда я пытаюсь настроить fastcgi с помощью apache на сервере Kubuntu. Несмотря на всюду, я не могу заставить его работать. Если я пытаюсь запустить сайт с помощью приложения cgi, apache зависает, и после истечения таймаута возвращается ошибка 500.

Вот что я сделал:

  • Я убедился, что mod_fastcgi установлен и включен:

    # pwd /etc/apache2/mods-enabled # ls -lf* lrwxrwxrwx 1 root root 30 2010-07-22 10:01 fastcgi.conf -> ../mods-available/fastcgi.conf lrwxrwxrwx 1 root root 30 2010-07-22 10:01 fastcgi.load -> ../mods-available/fastcgi.load 
  • Насколько мне известно, fastcgi.conf настроен правильно:

     <IfModule mod_fastcgi.c> AddHandler fastcgi-script .fcgi #FastCgiWrapper /usr/lib/apache2/suexec FastCgiIpcDir /var/lib/apache2/fastcgi </IfModule> 
  • Я использую этот очень простой пример скрипта для тестирования настройки:

     #include <iostream> using namespace std; int main() { cout<<"Content-type: text/plain"<<endl<<endl; cout<<"Hello World!"<<endl; return 0; } 
  • Я скомпилировал его. Он отлично работает из командной строки.
  • Я поместил его в папку, видимую с веб-сервера: http://127.0.0.1/fcgitest/run.fcgi
  • Сначала я получаю: «Запрещено. У вас нет разрешения на доступ к /fcgitest/run.fcgi на этом сервере».
  • Я добавляю файл .htaccess в папку:

     Options +ExecCGI -Indexes 
  • И теперь, когда я пытаюсь получить доступ к адресу сценария из своего веб-браузера, я получаю симптом, который я описал в начале: браузер сначала зависает, а после таймаута я получаю 500 Internal Server Error.
  • Apache error.log говорит:

     Content-type: text/plain Hello World! [Sat Aug 28 09:08:23 2010] [warn] FastCGI: (dynamic) server "/var/www/fcgitest/run.fcgi" (pid 27758) terminated by calling exit with status '0' 

Кажется, вывод записывается в журналы ошибок! Есть недостающая конфигурация сокетов, где-то?