Como corrigir php5-mcrypt no Ubuntu 13.10 instalar via fantoche?

1

Sou muito novo no Puppet. Então, estou aqui pedindo ajuda sobre como a melhor maneira de resolver meu problema.

Estou usando o este módulo de fantoches para provisionar o PHP na minha caixa do Ubuntu 13.10. Mas, parece que o pacote php5-mcrypt está quebrado, pois mcrypt.ini está perdido em /etc/php5/conf.d em vez de /etc/php5/apache2/available-modules/

(Para o registro, estou trabalhando com o Apache 2.4 e o PHP 5.5)

Eu criei uma classe php-mcrypt que "funciona para mim". Mas quero saber se há uma maneira melhor / mais limpa de fazê-lo.

Esta é minha solução alternativa:

# https://github.com/lucasvscn/puppet-php-mcrypt
#
class php-mcrypt() {


  Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] }

  package { "php5-mcrypt":
    ensure  => "installed",
    require => Class['php'],
  }

  file { '/etc/php5/conf.d/mcrypt.ini':
    require => Package['php5-mcrypt'],
  }

  exec {
    "copying_mcrypt":
    command => 'cp -v /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available/',
    require => Package['php5-mcrypt'],
  }->

  exec {
    "enabling_mcrypt":
    command => 'php5enmod mcrypt && service apache2 reload',
    require => Package['php5-mcrypt'],
  }

}
    
por lucasvscn 20.02.2014 / 04:46

3 respostas

1

O problema com o próprio pacote foi discutido neste tópico ( link ) e este bug do Ubuntu ( link ).

A resolução comumente aceita é criar um link simbólico em vez de copiar o arquivo. Esse método tem a vantagem de ter seu ponto de configuração em um arquivo que ainda está sob o controle do sistema de gerenciamento de pacotes.

Aqui está um exemplo da marionete: link

    
por 20.02.2014 / 05:55
0

Gerencie o link como um tipo de recurso de arquivo de marionete em vez do mais complicado. Garantir = > link e especifique target = > param.

    
por 20.02.2014 / 14:43
0

Ative o php5-mcrypt com o fantoche no Ubuntu 13.10 ou 14.04

case $lsbdistid {
    'Ubuntu': {

        case $lsbdistrelease {
            '13.10': {
                file { '/etc/php5/apache2/conf.d/20-mcrypt.ini':
                    ensure => link,
                    target => '/etc/php5/conf.d/mcrypt.ini',
                    notify => Service['apache2'],
                    require => [
                        Package['libapache2-mod-php5'],
                        Package['php5-mcrypt'],
                    ],
                }
                file { '/etc/php5/cli/conf.d/20-mcrypt.ini':
                    ensure => link,
                    target => '/etc/php5/conf.d/mcrypt.ini',
                    require => [
                        Package['php5-mcrypt'],
                        Package['php5-cli'],
                    ],
                }
            }

            '14.04': {
                file { '/etc/php5/apache2/conf.d/20-mcrypt.ini':
                    ensure => link,
                    target => '../../mods-available/mcrypt.ini',
                    notify => Service['apache2'],
                    require => [
                        Package['libapache2-mod-php5'],
                        Package['php5-mcrypt'],
                    ],
                }
                file { '/etc/php5/cli/conf.d/20-mcrypt.ini':
                    ensure => link,
                    target => '../../mods-available/mcrypt.ini',
                    require => [
                        Package['php5-mcrypt'],
                        Package['php5-cli'],
                    ],
                }
            }
        }
    }
}
    
por 11.09.2014 / 23:10