class php::packages::dpa { file { '/etc/apt/trusted.gpg.d/deb.sury.org-php.gpg': ensure => present, owner => "root", group => "root", mode => "0644", source => 'pupet:///modules/php/files/deb.sury.org.gpg', } file { '/etc/apt/sources.list.d/php.list' : ensure => present, owner => "root", group => "root", mode => "0644", content => "deb https://packages.sury.org/php/ ${::lsbdistcodename} main\n", require => File['/etc/apt/trusted.gpg.d/php.gpg'], notify => Exec['php-apt-auto-update'], } exec { 'php-apt-auto-update': command => "/usr/bin/apt-get update", user => "root", refreshonly => true, } # The needed packages: we could also try libapache2-mod-php5.6filter package { 'php5': name => 'php5.6', require => File['/etc/apt/sources.list.d/php.list', } package { 'php5-cli': name => 'php5.6-cli', require => File['/etc/apt/sources.list.d/php.list', } package { [ 'php5.6-mysql', 'php5.6-sqlite3', 'php5.6-curl', 'php5.6-gmp', 'libapache2-mod-php5.6' ]: ensure => installed, require => File['/etc/apt/sources.list.d/php.list', } # Optional packages package { [ "php5.6-gd", "php-imagick" ]: ensure => installed, require => File['/etc/apt/sources.list.d/php.list', } # Not available anymore package { 'php5.6-suhosin': ensure => absent, require => File['/etc/apt/sources.list.d/php.list', } # The needed apache modules apache::module { 'php5.6': ensure => present, require => Package['libapache2-mod-php5.6'], } # Default alternative file { "/etc/alternatives/php": ensure => "/usr/bin/php5.6", owner => root, group => root, require => Package['php5'], } }