Estou usando o Puppetlabs / Apache para configurar o Apache. No arquivo principal do fantoche, eu chamo e configuro:
class { '::apache': }
class { '::apache::mod::fastcgi': }
apache::vhost { "${::fqdn} non-ssl":
servername => $::fqdn,
port => '2222',
docroot => "/var/www/${root}",
priority => 10,
}
O manifesto apache::mod::fastcgi
funciona perfeitamente ... com uma desvantagem: o PHP de alguma forma ainda é executado no modo (cli)
:
vagrant@wp:/etc/apache2/mods-enabled$ php -v
PHP 5.5.12-1+deb.sury.org~precise+1 (cli) (built: May 8 2014 21:04:38)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans
Para confirmar isso, adicionei uma chamada phpinfo()
ao arquivo a phpinfo.php
e verifiquei php /path/to/phpinfo.php | less
e Service API
ainda está em cli
.
Quando olho para /etc/apache2/mods-enabled
, posso ver fastcgi.conf
e fastcgi.load
. Eu verifiquei o conteúdo sudo nano fastcgi.conf/load
- que vem do fastcgi.conf.erb
template do módulo :
# ===> fastcgi.conf
# The Fastcgi Apache module configuration file is being
# managed by Puppet and changes will be overwritten.
<IfModule mod_fastcgi.c>
AddHandler fastcgi-script .fcgi
FastCgiIpcDir "/var/lib/apache2/fastcgi"
</IfModule>
# ===> fastcgi.load
adModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so
Observação: há um vhosts.erb
template também, que tem um submodelo _fastcgi.erb
constrói o bloco FastCGI para o modelo vhosts.
Quando tento configurá-lo (o que puppetlabs / apache :: mod :: fastcgi já deveria ter feito) com sudo a2enmod fastcgi alias
, recebo a seguinte resposta (no CLI):
Module fastcgi already enabled
Module alias already enabled
E quando eu verifico o conteúdo de /etc/apache2/sites-enabled
com sudo nano 15-default.conf
, vejo o seguinte:
<VirtualHost *:80>
# ...
## Script alias directives
ScriptAlias /cgi-bin/ "/usr/lib/cgi-bin"
</VirtualHost>
Eu mudei para o usuário root
/ main com sudo su
e verifiquei o diretório que é referenciado no arquivo fastcgi.conf
: /var/lib/apache2/fastcgi
. Só tem um conteúdo: uma pasta vazia chamada dynamic
. Esta poderia ser a fonte do problema: Uma biblioteca FastCGI vazia?
Eu realmente não consigo entender como o FastCGI pode ser ativado e executado, mas ainda leio que cli
é o modo em que estou executando o PHP.
Editar 1
Acabei de verificar se php-fpm
está em execução:
vagrant@wp:/etc/apache2/conf.d$ ps -ef | grep php-fpm
root 935 1 0 15:58 ? 00:00:00 php-fpm: master process (/etc/php5/fpm/php-fpm.conf)
www-data 982 935 0 15:58 ? 00:00:00 php-fpm: pool www
www-data 983 935 0 15:58 ? 00:00:00 php-fpm: pool www
vagrant 2760 2605 0 19:40 pts/2 00:00:00 grep --color=auto php-fpm
Eu também reiniciei php5-fpm
e apache2
services manualmente, mas com o mesmo resultado
sudo service php5-fpm restart
sudo service apache2 restart
php -v
# still: (cli)
Se eu soubesse o que está faltando, eu poderia reescrever manualmente o modelo httpd.conf.erb
ou apenas extrair as partes que estão faltando e usar os modelos padrão do puppetlabs / apache - como esta é uma opção para o módulo . O mesmo vale para '/etc/apache2/mods-available'
ou o '/etc/apache2/sites-available'
dir