我正在使用 Puppet 在 Ubuntu 上安装 PHP 5.2(目的是使用 Puppet 和 Drush 安装 Drupal),但它安装的软件包都是 PHP 5.3。我找到了手动安装 PHP 5.2 的说明:
http://2bits.com/drupal-planet/various-ways-running-php-52-ubuntu-1004-lucid-lynx.html(方法 3)
但这不符合 Puppet 的模型。有没有人找到更好的方法来使用 Puppet 安装 PHP 5.2(用于 Drupal 6)?
答案1
package { "drupal6": ensure => present }
看起来 Drupal 6 已经适用于 Ubuntu 10。这比自己从源代码安装 PHP 要好。我猜他们已经修补了 Drupal 6 在 PHP 5.3 上的小问题。
通过查看依赖项,我将决定是否需要 mysql 或 postgresql,然后执行以下操作之一:
package {
"php5-mysql":
ensure => present;
"mysql-client":
ensure => present;
"drupal6":
ensure => present,
require => [
Package["php5-mysql"],
Package["mysql-client"]
];
}
或者:
package {
"php5-pgsql":
ensure => present;
"postgresql-client":
ensure => present;
"drupal6":
ensure => present,
require => [
Package["php5-pgsql"],
Package["postgresql-client"]
];
}
否则,“或”依赖项可能会引入错误的数据库库内容。当然,您可能还需要适当的数据库服务器内容、附加的 php5 组件和各种 drupal 模块……
答案2
php 5.2.14 安装
class php {
$php = "installed"
$phpoptions = "'--with-apxs2=/usr/local/apache2/bin/apxs' '--prefix=/usr/local/php' '--with-curl' '--enable-exif' '--enable-ftp' '--with-gd' '--with-jpeg-dir=/usr/lib' '--with-png-dir=/usr/lib' '--with-xpm-dir=/usr/lib' '--with-gettext' '--with-iconv' '--with-mysql=/usr/lib' '--with-openssl' '--with-pear' '--with-ttf' '--with-freetype-dir=/usr/lib' '--enable-gd-native-ttf' '--with-xmlrpc' '--with-zlib' '--enable-maintainer-zts' '--enable-mbstring' '--enable-sockets' '--enable-pcntl'"
$packagelist = [ "libjpeg-dev", "libcurl4-gnutls-dev", "libfreetype6-dev", "libxpm-dev", "libpng12-dev" ]
package { $packagelist:
ensure => present }
exec { "php-install":
cwd => "/home/chris/downloads",
user => "root",
path => "/bin:/usr/bin",
command => "/usr/bin/wget http://museum.php.net/php5/php-5.2.14.tar.gz && /bin/tar -xzvf php-5.2.14.tar.gz && cd php-5.2.14 && ./configure $phpoptions && make && make install && touch /tmp/php.txt",
creates => "/tmp/php.txt"
}
}