Eu finalmente encontrei um bom tutorial voltado para isso. Vou descrever os passos que dei, pois já tinha instalado o meu LAMP stack, mas o tutorial completo pode ser encontrado aqui .
Nota para o novo:
No tutorial, ele começa mudando para o usuário root com:
sudo su
No meu caso, eu simplesmente prefixei os comandos sudo
ao invés de trocar de usuário, então vou documentar meus passos dessa maneira.
Comece
Etapa 1: instalar o Apache Worker MPM (módulos multiprocessamento)
sudo apt-get install apache2-mpm-worker
Isso substitui o prefork que eu tinha instalado, que é o padrão ao instalar o Apache.
Etapa 2: instale o PHP5 e os módulos necessários
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
Neste ponto, você pode receber um erro ao instalar o 'libapache2-mod-fastcgi':
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libapache2-mod-fastcgi is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or is only available from another source
E: Package 'libapache2-mod-fastcgi' has no installation candidate
Esta parte não está no tutorial acima
Para reconciliar isso, o repositório multiverse
deve ser adicionado às fontes do apt.
Para fazer isso:
sudo nano /etc/apt/sources.list
Ao qual eu acrescentei as seguintes linhas:
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb http://security.ubuntu.com/ubuntu precise-security multiverse
precise
neste caso refere-se à minha versão do Ubuntu " Pangolim Preciso ".
Agora salve essas alterações e volte ao terminal:
sudo apt-get update
e novamente:
sudo apt-get install libapache2-mod-fastcgi php5-fpm php5
que irá (deve) funcionar agora.
Agora ative estes módulos do Apache:
sudo a2enmod actions fastcgi alias
reinicie o apache
sudo service apache2 restart
Etapa 3: configuração do Apache
Para fazer o Apache funcionar com o PHP-FPM, precisamos da seguinte configuração:
<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 -host 127.0.0.1:9000 -pass-header Authorization
<Directory /usr/lib/cgi-bin>
Require all granted
</Directory>
#directory statement mult be on multiple lines
</IfModule>
Nota:
Se você estiver usando uma versão mais antiga do Apache (2.3.x ou anterior), deixe de fora a linha
<Directory /usr/lib/cgi-bin> Require all granted </Directory>
Você pode verificar sua versão instalada com o comando
apache2 -version
Você pode colocá-lo na configuração global do Apache (para que esteja habilitado para todos os vhosts), por exemplo, em /etc/apache2/conf.d/php5-fpm.conf
(esse arquivo não existe, portanto você deve criá-lo) ou pode colocá-lo em cada vhost deve usar o PHP-FPM.
Eu escolho seguir a rota global, então:
sudo nano /etc/apache2/conf.d/php5-fpm.conf
cole o bloco de código acima e salve, saia.
Este novo arquivo será automaticamente carregado pela configuração padrão do Apache, que carrega todos os arquivos no diretório /etc/apache2/conf.d/
.
reinicie o Apache:
sudo service apache2 restart
Agora crie o seguinte arquivo PHP na raiz do documento /var/www
:
sudo nano /var/www/info.php
Adicionar:
<?php phpinfo();
salvar & amp; sair.
Agora chamamos esse arquivo em um navegador (por exemplo, http://your-server-ip/info.php
)
Em API do servidor , na parte superior, você deve ver FPM/FastCGI
.
Sucesso!
Para obter mais informações, como alterar o PHP-FPM para usar um soquete unix em vez da porta TCP padrão ou como configurá-lo para hosts virtuais individuais em vez de todos, consulte o tutorial de origem no topo.