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 -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
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.load
adModule 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 enabled
Module 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-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
I also restarted php5-fpm
and apache2
services manually, but with the same result
sudo service php5-fpm restart
sudo service apache2 restart
php -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