I'm using Puppetlabs/Apache to configure Apache. In the main puppet file, I call and configure it:
class { '::apache': }class { '::apache::mod::fastcgi': }apache::vhost { "${::fqdn} non-ssl": servername => $::fqdn, port => '2222', docroot => "/var/www/${root}", priority => 10,}
The apache::mod::fastcgi
manifest works seamlessly ... with one drawback: PHP somehow still runs on (cli)
mode:
vagrant@wp:/etc/apache2/mods-enabled$ php -vPHP 5.5.12-1+deb.sury.org~precise+1 (cli) (built: May 8 2014 21:04:38)Copyright (c) 1997-2014 The PHP GroupZend 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
To confirm that, I added a phpinfo()
call to the a phpinfo.php
file and checked php /path/to/phpinfo.php | less
and Service API
still is at cli
.
When I look into /etc/apache2/mods-enabled
, I can see fastcgi.conf
and fastcgi.load
. I checked the contents sudo nano fastcgi.conf/load
- which comes from the fastcgi.conf.erb
template from the module:
# ===> 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.loadadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so
Note: There is a vhosts.erb
template as well, which has a subtemplate _fastcgi.erb
that builds the FastCGI block for the vhosts template.
When I try to set it up (which puppetlabs/apache::mod::fastcgi should already have done) with sudo a2enmod fastcgi alias
, I get the following answer (on the CLI):
Module fastcgi already enabledModule alias already enabled
And when I check /etc/apache2/sites-enabled
contents with sudo nano 15-default.conf
, I see the following:
<VirtualHost *:80> # ... ## Script alias directives ScriptAlias /cgi-bin/ "/usr/lib/cgi-bin"</VirtualHost>
I switched then to the root
/main user with sudo su
and checked the directory that is referenced in the fastcgi.conf
file: /var/lib/apache2/fastcgi
. It only has one content: An empty folder named dynamic
. Could this be the source of the problem: An empty FastCGI lib?
I can't really get behind how FastCGI can be enabled and running, but still reading that cli
is the mode I'm running PHP on.
Edit 1
I just checked if php-fpm
is running:
vagrant@wp:/etc/apache2/conf.d$ ps -ef | grep php-fpmroot 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 wwwwww-data 983 935 0 15:58 ? 00:00:00 php-fpm: pool wwwvagrant 2760 2605 0 19:40 pts/2 00:00:00 grep --color=auto php-fpm
I also restarted php5-fpm
and apache2
services manually, but with the same result
sudo service php5-fpm restartsudo service apache2 restartphp -v# still: (cli)
If I would know what is missing, I could manually rewrite the httpd.conf.erb
template or just pull in those pieces that are missing and use the default puppetlabs/apache templates - as this is an option for the module. The same goes for '/etc/apache2/mods-available'
or the '/etc/apache2/sites-available'
dir