class php::series5::packages::ppa { #package { 'python-software-properties': # ensure => present, #} # This required alternative checking of repository key! #exec { 'add-apt-repository-ondrej-php': # command => '/usr/bin/add-apt-repository -y ppa:ondrej/php && apt-get update', # user => 'root', # creates => '/etc/apt/sources.list.d/ondrej-ubuntu-php-xenial.list', # require => Package['python-software-properties'], #} file { '/etc/apt/trusted.gpg.d/ondrej_ubuntu_php.gpg': ensure => present, owner => "root", group => "root", mode => "0644", source => 'puppet:///modules/php/ondrej_ubuntu_php.gpg', } file { '/etc/apt/sources.list.d/php.list': ensure => present, owner => "root", group => "root", mode => "0644", content => "deb http://ppa.launchpad.net/ondrej/php/ubuntu ${::lsbdistcodename} main\n", require => File['/etc/apt/trusted.gpg.d/ondrej_ubuntu_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 => Exec['add-apt-repository-ondrej-php'], } package { 'php5-cli': name => 'php5.6-cli', #require => Exec['add-apt-repository-ondrej-php'], } package { [ 'php5.6-mysql', 'php5.6-sqlite3', 'php5.6-curl', 'php5.6-gmp', 'libapache2-mod-php5.6' ]: ensure => installed, #require => Exec['add-apt-repository-ondrej-php'], } # Optional packages package { [ "php5.6-gd", "php-imagick", "php5.6-xml", "php5.6-mbstring" ]: ensure => installed, #require => Exec['add-apt-repository-ondrej-php'], } # Not available anymore package { 'php5.6-suhosin': ensure => absent, #require => Exec['add-apt-repository-ondrej-php'], } # The old module apache::module { 'php5': ensure => absent, } # The needed apache modules apache::module { 'php5.6': ensure => present, require => [ Package['libapache2-mod-php5.6'], Apache::Module['php5'] ], } # Default alternative file { "/etc/alternatives/php": ensure => "/usr/bin/php5.6", owner => root, group => root, require => Package['php5'], } }