Моя цель — установить Vagrant Box, содержащий какой-нибудь http-сервер (lighttpd atm), PHP 5.2, немного базы данных SQL (MySQL) и PhpMyAdmin.
Я использую коробку trusty64 и для удовлетворения требований PHP 5.2 я импортировал старый репозиторий Ubuntu.
Вот мои файлы:
Vagrantfile
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/trusty64"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.network :forwarded_port, guest: 3306, host: 3306
config.vm.provision "shell",
inline: "sudo add-apt-repository 'deb http://old-releases.ubuntu.com/ubuntu karmic main'"
config.vm.provision :puppet do |puppet|
puppet.manifests_path = "puppet/manifests"puppet.manifest_file = "start.pp"puppet.module_path = "puppet/modules"puppet.options = "--verbose"end
end
кукольный / манифесты / start.pp
# Puppet configurations
Exec { path => [ "/bin/", "/sbin/" , "/usr/bin/", "/usr/sbin/" ] }
include aptupdate
include lighttpd
include php52
#include mysql
#include phpmyadmin
кукольный / модули / aptupdate / манифесты / init.pp
class aptupdate {
exec {"apt-get-update":
command => "apt-get update",
path => "/usr/bin"}
}
кукольный / модули / aptupdate / манифесты / init.pp
class lighttpd{
package {
'lighttpd':
ensure => installed
}
service {
'lighttpd':
ensure => running,
enable => true,
require => Package['lighttpd']
}
}
кукольный / модули / aptupdate / манифесты / init.pp
class php52{
$phpversion = "5.2.10.dfsg.1-2ubuntu6"
package { "php5":
ensure => $phpversion,
}
package { "php5-common":
ensure => $phpversion,
require => Package["php5"],
}
package { "php5-mysql":
ensure => $phpversion,
require => Package["php5", "php5-common"],
}
}
Эта проблема
Я добавил хорошо работающий модуль MySQL и, наконец, модуль PhpMyAdmin, как вы можете увидеть в start.pp. PhpMyAdmin запрашивал php5-mysql в качестве зависимости, поэтому я добавил его в php5 / init.pp. Это приводит к php5-общей зависимости php5-mysql, также добавленной мной. После этого потребовался php5, поэтому я добавил его в столбец require => Package.
Но теперь снова задают первое требование, и я не знаю, что изменить, чтобы добиться успеха с установкой php 5.2
Вот сообщение об ошибке
==> default: Error: Could not update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold --force-yes install php5-mysql=5.2.10.dfsg.1-2ubuntu6' returned 100: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: Some packages could not be installed. This may mean that you have
==> default: requested an impossible situation or if you are using the unstable
==> default: distribution that some required packages have not yet been created
==> default: or been moved out of Incoming.
==> default: The following information may help to resolve the situation:
==> default:
==> default: The following packages have unmet dependencies:
==> default: php5-mysql : Depends: php5 but it is not going to be installed or
==> default: phpapi-20060613
==> default: E: Unable to correct problems, you have held broken packages.
==> default: Error: /Stage[main]/Php52/Package[php5-mysql]/ensure: change from purged to 5.2.10.dfsg.1-2ubuntu6 failed: Could not update: Execution of '/usr/bin/apt-get -q -y -o DPkg::Options::=--force-confold --force-yes install php5-mysql=5.2.10.dfsg.1-2ubuntu6' returned 100: Reading package lists...
==> default: Building dependency tree...
==> default: Reading state information...
==> default: Some packages could not be installed. This may mean that you have
==> default: requested an impossible situation or if you are using the unstable
==> default: distribution that some required packages have not yet been created
==> default: or been moved out of Incoming.
==> default: The following information may help to resolve the situation:
==> default:
==> default: The following packages have unmet dependencies:
==> default: php5-mysql : Depends: php5 but it is not going to be installed or
==> default: phpapi-20060613
==> default: E: Unable to correct problems, you have held broken packages.
Для подсказок я был бы очень благодарен
Задача ещё не решена.
Других решений пока нет …