Как настроить Apache для запуска PHP как FastCGI в Ubuntu 12.04 через терминал?

Спасибо за предыдущие ответы, они помогли мне большую часть пути, но чтобы все заработало, мне пришлось объединить инструкции из нескольких мест, поэтому я подумал, что напишу полный набор команд.

К вашему сведению, я использую Ubuntu 14.04, Apache 2.4, а также по умолчанию был запущен modphp, в предыдущих инструкциях также не упоминалась необходимость отключения modphp.

Я также обнаружил http://blog.starcklin.com/2013/08/install-mod-fastcgi-and-php5-fpm-on-ubuntu/ быть очень информативным и простым.

Просто запустите следующие команды в терминале одну за другой.

Сначала установите необходимые пакеты (я оставляю php5, поскольку предполагается, что он уже установлен, добавьте его обратно при первой установке). Также обратите внимание, что начиная с Apache 2.4 и выше вы можете использовать event-mpm вместо worker см. http://www.vps.net/blog/2013/04/08/apache-mpms-prefork-worker-and-event/. В моем примере показан worker, но просто замените слово worker на event, если вы предпочитаете использовать это.

sudo apt-get install apache2-mpm-workersudo apt-get install libapache2-mod-fastcgi php5-fpm

Теперь включите моды, которые вам нужны, и отключите те, которые вам не нужны.

sudo a2dismod php5 mpm_preforksudo a2enmod actions fastcgi alias mpm_worker

Создайте файл php5.fcgi и дайте веб-серверу разрешение на его использование.

sudo touch /usr/lib/cgi-bin/php5.fcgisudo chown -R www-data:www-data /usr/lib/cgi-bin

Создайте глобальную конфигурацию для php5-fpm

sudo nano /etc/apache2/conf-available/php5-fpm.conf

вставьте следующее (мы будем использовать сокет вместо IP-адреса)

<IfModule mod_fastcgi.c>    AddHandler php5.fcgi .php    Action php5.fcgi /php5.fcgi    Alias /php5.fcgi /usr/lib/cgi-bin/php5.fcgi    FastCgiExternalServer /usr/lib/cgi-bin/php5.fcgi -socket /var/run/php5-fpm.sock -pass-header Authorization -idle-timeout 3600    <Directory /usr/lib/cgi-bin>       Require all granted   </Directory> </IfModule>

Включите php5-fpm conf

sudo a2enconf php5-fpm

Перезапустите apache и fpm

sudo service apache2 restart && sudo service php5-fpm restart

В соответствии с другими инструкциями вставьте следующее в новый доступный для просмотра php-файл на вашем веб-сервере.

<?php phpinfo();

Откройте файл, который вы только что отредактировали в веб-браузере, Если вы увидите "FPM/FastCGI" рядом с Server API, теперь вы обслуживаете PHP с помощью FastCGI!