Configuración de Apache

Configuración de Apache

Quiero instalar Apache con PHP 7.0 en Ubuntu 16.04 usandoMódulo Apache de Puppet Labs.

  1. Siguiendo la documentación elEl módulo es compatible con Ubuntu 16.04..
  2. Hay unticket relacionado con el soporte de PHP 7.0y hay un aceptadosolicitud de fusiónlo que debería agregar soporte para PHP 7.0.
  3. Parece que la solución proporcionada en la combinación no está incluida en la versión del módulo 1.9.0.

Las preguntas son

  1. ¿Hay alguna manera de utilizar la solución sugerida e instalar Apache con PHP 7.0?
  2. ¿Qué debo escribir en el manifiesto?

El siguiente código (del manifiesto de Puppet) no funciona en Ubuntu 16.04

class { 'apache':
  mpm_module    => 'prefork',
}
include apache::mod::php

tengo el siguiente error

Error: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install libapache2-mod-php5' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
Package libapache2-mod-php5 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libapache2-mod-php5' has no installation candidate
Error: /Stage[main]/Apache::Mod::Php/Apache::Mod[php5]/Package[libapache2-mod-php5]/ensure: change from purged to present failed: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold install libapache2-mod-php5' returned 100: Reading package lists...
Building dependency tree...
Reading state information...
Package libapache2-mod-php5 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'libapache2-mod-php5' has no installation candidate

lo intentéconfigurar servidores FastCGI para manejar archivos PHPpero esto también falla con casi el mismo mensaje de error. El módulo todavía no sabe nada sobre PHP 7.0.

Respuesta1

Acabo de encontrarme con un problema similar y aparentemente el mod Pupplelabs Apache ahora te permite pasar la versión PHP como parámetro:

  class { 'apache::mod::php':
    php_version => '7',
  }

Respuesta2

Yo tuve el mismo problema. Estaba usando una versión antigua del módulo.títerelabs-apache. Descargué la versión actual (1.10.0lanzado el 20 de mayo de 2016) y ahora funciona correctamente porque lo arreglaron.

Échale un vistazo al archivomanifiestos/params.pp:

if ($::operatingsystem == 'Ubuntu' and versioncmp($::operatingsystemrelease, '16.04') < 0) or 
   ($::operatingsystem == 'Debian' and versioncmp($::operatingsystemrelease, '9') < 0) {
  # Only the major version is used here
  $php_version = '5'
} else {
  # major.minor version used since Debian stretch and Ubuntu Xenial
  $php_version = '7.0'
}

Como puede ver, elegirá PHP 7 por defecto para Ubuntu 16.04. Ni siquiera es necesario configurarlo php_version => 7.0(como lo sugiere @starchx).

Respuesta3

Creo que se parece más a esto:

Configuración de Apache

class { 'apache':
    mpm_module => 'prefork'
  }
     apache::listen { '80': }
     apache::listen { '443': }

Cargar módulos de Apache adicionales

class { 'apache::mod::rewrite': }
class { 'apache::mod::status': }
class { 'apache::mod::php': }

Es posible que también necesites:

package { 'php7.0':
ensure => 'installed',
}

package { 'libapache2-mod-php7.0':
ensure => 'installed',
}

package { 'libapache2-mod-php':
ensure => 'installed',
}

Ojalá eso te acerque.

información relacionada