# This module is distributed under the GNU Affero General Public License: # # PHP module for puppet # Copyright (C) 2009 Sarava Group # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . class php { include pear # The needed packages: we could also try libapache2-mod-php5filter package { [ 'php5', 'php5-mysql', 'php5-cli', 'php5-curl', 'php5-gmp', 'libapache2-mod-php5' ]: ensure => installed, } # Not available on wheezy package { 'php5-suhosin': ensure => $::lsbdistcodename ? { 'wheezy' => absent, 'jessie' => absent, default => present, }, } # Useful when upgrading from squeeze if $::lsbdistcodename == 'wheezy' { file { [ '/etc/php5/apache2/conf.d/suhosin.ini', '/etc/php5/conf.d/suhosin.ini' ]: ensure => absent, } } # The needed apache modules apache::module { 'php5': ensure => present, require => Package['libapache2-mod-php5'], } file { '/etc/php5/cli/php.ini': ensure => present, owner => root, group => root, mode => 0644, source => [ "puppet:///modules/site_php/cli/${::fqdn}/php.ini", "puppet:///modules/site_php/cli/${::domain}/php.ini", "puppet:///modules/php/cli/php.${::operatingsystem}_${::lsbdistcodename}.ini", "puppet:///modules/php/cli/php.${::operatingsystem}.ini", "puppet:///modules/php/cli/php.ini" ], require => Package['php5-cli'], } file { "/etc/php5/apache2/php.ini": ensure => present, owner => root, group => root, mode => 0644, source => [ "puppet:///modules/site_php/apache2/${::fqdn}/php.ini", "puppet:///modules/site_php/apache2/${::domain}/php.ini", "puppet:///modules/php/apache2/php.${::operatingsystem}_${::lsbdistcodename}.ini", "puppet:///modules/php/apache2/php.${::operatingsystem}.ini", "puppet:///modules/php/apache2/php.ini" ], notify => Service['apache2'], require => Package['php5'], } } class php::imap inherits php { package { 'php5-imap': ensure => installed, } }