Подтвердить что ты не робот

Запуск стека LAMP на Vagrant VM (под хостом Windows 7), полные инструкции?

У меня работает стандартный выпуск Vagrant VM lucid32.box. Каковы будут полные инструкции по настройке LAMP на этом?

Я посмотрел на нож (часть шеф-повара) и попытался:

[email protected]:~$ knife cookbook site install apache2

но получил

WARNING: No knife configuration file found

Как настроить файл конфигурации ножа и что в нем должно быть?

Я много занимался поиском ответов в Интернете, но ошеломлен частичными решениями, которые не объясняют их отправную точку/предпосылки.

Обновить

Я постараюсь ответить на это сам, как никто другой, кажется, не хочет. Вот мое текущее понимание - я стремлюсь ответить на мои неизвестные/вопросы красным цветом позже.

Vagrant Windows Host, Linux VM v001 - Initial Questions After attempting setup

4b9b3361

Ответ 1

Хорошо, я решил ответить на этот вопрос полностью для себя как оригинальный плакат с вопросом. (Спасибо всем, кто внес свой вклад.)

Сквозная настройка виртуальной машины LAMP на 64-битном хосте Windows с использованием Vagrant и Oracle VirtualBox

Первоначально я задавал этот вопрос, потому что, хотя в Интернете есть множество инструкций и руководств, они, похоже, не делают:

  • Четко определить отправную точку и каковы предпосылки
  • Дайте инструкции для тех, кто, как и я, в корпоративных средах, где на компьютере с Windows установлена виртуальная машина. Вместо этого они предполагают хост-компьютер на базе Linux.
  • Уточните, где находятся настраиваемые файлы: На хосте? На гостевой ОС? (Это особенно трудно определить, являются ли и хостовая, и гостевая ОС Linux или Unix - показанные фрагменты командной строки явно не дают подсказок, поскольку все они выглядят одинаково.)
  • Укажите, какая версия Vagrant используется. Существует две (2) основные версии: версия API 1, которая является выпусками до (но не включая) v1.1.0. Другой - версия API 2, которая выпускается начиная с v1.1.0. Таким образом, соглашение о версиях похоже на Java. Эта версия API важна, так как, например, сценарии API v1 просто не будут работать в API v2 программного обеспечения Vagrant, если в начале сценария не указано условие, указывающее, какую версию использовать.

    Лично я думаю, что соглашение о версии Vagrant может быть проще. ПРИМЕЧАНИЕ: это руководство для Vagrant 1. Мне сказали, что версия 1 имеет широко установленную установленную базу, в то время как Vagrant 2 все еще находился в стадии разработки в середине 2013 года. Поэтому я хотел бы назвать версию 1 - V1 LTS - долгосрочная поддержка - как Ubuntu, чтобы показать, что это будет еще долго.

Вот изображение, чтобы уточнить, какой API используется в какой версии программного обеспечения Vagrant:

Vagrant API version v1, v2 clarification and downloads

Для моего примера настройки использования Vagrant здесь я бы предложил использовать pre-V1.1.0 (то есть Vagrant API 1 из загрузок с vagrantup.com), однако вы должны иметь возможность использовать Vagrant 2 API версию программного обеспечения Vagrant, как упомянуто выше. но вам нужно будет добавить "директиву" в начале ваших сценариев, чтобы сообщить Vagrant, что они предназначены для Vagrant 1, в противном случае сценарии завершатся с ошибкой. ТОДО: Я постараюсь получить эту директиву и поставить ее здесь, чтобы помочь.

(Митчелл Хасимото, создатель Vagrant - примите во внимание все вышеперечисленное для всех будущих выпусков вашей книги O'Reilly: Vagrant: работает и работает: http://shop.oreilly.com/product/0636920026358.do)

Что должны делать эти инструкции в этом ответе:

Получите 32-разрядную операционную систему Ubuntu Linux с LAMP (ОС Linux, веб-сервер Apache, база данных MySQL, PHP), работающую как виртуальная машина с использованием Oracle VirtualBox на 64-разрядной машине Windows 7 (или компьютере Mac или Linux, но в основном проверено на Windows, но должно нормально работать на Mac, и это решение должно быть независимым от платформы). Я проверил PHP ОК (через стандартный файл phpinfo.php и вижу, что MySQL работает, но еще не проверял).

Другие способы настройки стека LAMP, работающего на Vagrant VM

Примечание. Альтернативное решение для тех, кто хочет получить стэк LAMP с платформой управления контентом с открытым исходным кодом Drupal, можно найти здесь: http://drupal.org/project/vagrant. быть в состоянии выполнить только мои предварительные требования ниже, а затем загрузить ZIP файл с вышеуказанного URL-адреса и следовать там инструкциям и запустить Vagrant из командной строки, чтобы запустить виртуальную машину и ждать, пока она собирается и запускается (часть этого с первого раза, как только у вас будет настроен образ, последующие загрузки должны быть быстрее). Вы получаете бесплатно много других инструментов для разработчиков (то есть, чтобы сэкономить на их установке), таких как git, drush (я думаю) и инструменты профилирования производительности. Затем перейдите в [адрес сервера]/install.php для установки Drupal. Это, кажется, работает хорошо без проблем - я попробовал это, но не проверял это экстенсивно. Возможно, вам придется отключить установку xhprof, если вы получите сообщение об ошибке - см. Http://drupal.org/node/1940668 для получения подробной информации.

Другой вариант заключается в использовании этого инструмента настройки: https://puphpet.com/ - это визуальный метод "укажи и щелкни" для настройки своей настройки Vagrant. Это работает на Vagrant 2 (я думаю, обновление да, оно работает, по крайней мере на Vagrant 1.2.2). Обновление: На самом деле у меня это работает успешно, и я основал настройку для запуска Drupal на нем локально - см. Мое руководство здесь: https://drupal.org/node/2055947

Обновить

Вот некоторые другие готовые настройки Vagrant, которые, как мне показалось, хорошо работают - на Mac и Windows:

Если вы хотите, чтобы поисковая система Solr была локально на вашей виртуальной машине как часть стека LAMP, вы можете посмотреть на:

Несмотря на то, что эти альтернативы хороши, мои инструкции по-прежнему полезны, чтобы помочь вам понять, как работают такие установки или если вы хотите более простой, более базовый стек LAMP.

Небольшие дополнения, которые вам нужно выяснить, как это сделать (постараюсь включить их здесь)

Вход в машину после настройки - это осуществляется через стандартный вход по SSH. Вам понадобятся бесплатные инструменты putty.exe и puttygen.exe. На данный момент я не представил, как войти в систему с SSH здесь, но постараюсь сделать это в будущем. Вы найдете ссылки в конце этого ответа.

Обратите внимание, что логин будет с пользователем vagrant.

(После того, как вы выполнили инструкции по установке ниже), чтобы использовать пользователя root, вам необходимо "разблокировать" учетную запись, чтобы иметь возможность сбросить пароль:

Разблокируйте учетную запись root:

[email protected]:~$ sudo passwd -u root
passwd: password expiry information changed.

Затем измените пароль root:

[email protected]:~$ sudo passwd root
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

(Пароль не отображается при вводе.)

Протестируйте новый пароль, войдя в него с правами root:

[email protected]:~$ su root
Password:
[email protected]:/home/vagrant#

Кредит: https://scottlinux.com/2011/07/22/reset-or-change-user-password-in-linux/ (Статья: "Сброс или изменение пароля пользователя в Linux" - это помогло мне разобраться, как сделай это.)

Есть ошибки?

Попробуйте - добавьте комментарии к ответу, если у вас есть проблемы, и я постараюсь исправить. См. Также устранение неполадок в конце.

Будущие задачи

В настоящее время использую Puppet. Сделайте это с шеф-поваром вместо Puppet, просто чтобы расширить способы работы. Оба из них - претенденты, но у них разные подходы, поэтому я верю: с Puppet мне говорят, что вы говорите, что хотите, и Puppet может принять несколько произвольных решений, чтобы вас туда доставить. Принимая во внимание, что с шеф-поваром я считаю, что вы определяете точную последовательность шагов. Опять же - прокомментируйте здесь и исправьте меня, если необходимо,

Предварительные условия для этих инструкций:

  • Windows 7 64-битная
  • Установленный VirtualBox
  • Установлен бродяга
  • Отдельные установки Ruby и Puppet не требуются, так как они, похоже, поставляются с Vagrant. Если честно, я установил их, чтобы исправить некоторые проблемы, но обнаружил, что эти проблемы были чем-то другим. Поэтому я удалил Ruby и Puppet и перезапустил (vagrant up т.д.), И он все еще работает, поэтому я предполагаю, что эти дополнительные, отдельные установки Ruby и Puppet не требуются.

  • Рекомендуемое сочетание версий Vagrant и VirtualBox: VirtualBox версии 4.2.12 и pre-Vagrant 1.2 (как обсуждалось ранее). Некоторые другие комбинации могут работать, но я не проверял их, поэтому я придерживаюсь этой комбинации, если не вижу явного преимущества использования более поздних версий. Одним из очевидных преимуществ будет скорость предоставления. Комбинация, которую я здесь изложил, работает для маршрута puphpet.com, по крайней мере, для настройки виртуальной машины, что довольно сложно, и поэтому я бы предположил, что должно работать на моей простой установке, описанной здесь.

(Предоставлено: Эти инструкции основаны на: http://ox86.tumblr.com/post/23734821654/painless-development-environments-with-virtualbox... но не точной копии, так как они не работают для меня.)

Инструкции

(Убедитесь, что у вас есть необходимые условия выше.)

Настройка хоста выполняется на вашем хост-компьютере в вашей папке пользователя Windows, например, для меня это C:\Users\rdavis

mkdir lamp-project
cd lamp-project
mkdir configs
cd ..
cd lamp-project
mkdir manifests

(следует из: http://docs.vagrantup.com/v1/docs/getting-started/index.html)

Загрузите установочный образ дистрибутива, в данном случае Ubuntu Lucid (10.04). Этот образ фактически эквивалентен установочному диску (CD или DVD), который вы традиционно использовали бы для установки ОС на компьютер.

C:\Users\rdavis\lamp-project>vagrant box add lucid32 http://files.vagrantup.com/lucid32.box

(Кстати, на vagrantup.com есть несколько других популярных дистрибутивов, но если вы хотите сгенерировать файл .box из дистрибутива .ISO, для этого есть инструмент под названием VeeWee: https://github.com/jedi4ever/veewee)

Инициализируйте это:

C:\Users\rdavis\lamp-project>vagrant init lucid32

(Обратите внимание, я просто использовал vagrant init при написании этих инструкций, потому что я уже инициализировал lucid32, но в первый раз вам придется выполнить вышеуказанную команду.)

C:\Users\rdavis\lamp-project>vagrant init
A 'Vagrantfile' has been placed in this directory. You are now
ready to 'vagrant up' your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
'vagrantup.com' for more information on using Vagrant.

C:\Users\rdavis\lamp-project>

Отредактируйте C:\Users\rdavis\lamp-project\Vagrantfile - вставьте следующее непосредственно после Vagrant::Config.run do |config|

config.vm.box = "lucid32"
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = File.expand_path("../manifests", __FILE__)
end
config.vm.forward_port 80, 8080
config.vm.share_folder "configs", "/configs", File.expand_path("../configs", __FILE__)

Итак, ваш Vagrantfile должен выглядеть так:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::Config.run do |config|

config.vm.box = "lucid32"
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = File.expand_path("../manifests", __FILE__)
end
config.vm.forward_port 80, 8080
config.vm.share_folder "configs", "/configs", File.expand_path("../configs", __FILE__)

 # All Vagrant configuration is done here. The most common configuration
 # options are documented and commented below. For a complete reference,
 # please see the online documentation at vagrantup.com.

 # Every Vagrant virtual environment requires a box to build off of.
 # config.vm.box = "lucid32" 
 # (this is already done above, but if you have a box called 'base' which is an Ubuntu lucid32 then you can use: config.vm.box = "base". This info may be helpful if you get error: "The box 'base' could not be found.")

 # The url from where the 'config.vm.box' box will be fetched if it
 # doesn't already exist on the user system.
 # config.vm.box_url = "http://example.com/path/to/above.box"

 # Boot with a GUI so you can see the screen. (Default is headless)
 # config.vm.boot_mode = :gui

 # Assign this VM to a host-only network IP, allowing you to access it
 # via the IP. Host-only networks can talk to the host machine as well as
 # any other machines on the same network, but cannot be accessed (through this
 # network interface) by any external networks.
 # config.vm.network :hostonly, "192.168.33.10"

 # Assign this VM to a bridged network, allowing you to connect directly to a
 # network using the host network device. This makes the VM appear as another
 # physical device on your network.
 # config.vm.network :bridged

 # Forward a port from the guest to the host, which allows for outside
 # computers to access the VM, whereas host only networking does not.
 # config.vm.forward_port 80, 8080

 # Share an additional folder to the guest VM. The first argument is
 # an identifier, the second is the path on the guest to mount the
 # folder, and the third is the path on the host to the actual folder.
 # config.vm.share_folder "v-data", "/vagrant_data", "../data"

 # Enable provisioning with Puppet stand alone.  Puppet manifests
 # are contained in a directory path relative to this Vagrantfile.
 # You will need to create the manifests directory and a manifest in
 # the file base.pp in the manifests_path directory.
 #
 # An example Puppet manifest to provision the message of the day:
 #
 # # group { "puppet":
 # #   ensure => "present",
 # # }
 # #
 # # File { owner => 0, group => 0, mode => 0644 }
 # #
 # # file { '/etc/motd':
 # #   content => "Welcome to your Vagrant-built virtual machine!
 # #               Managed by Puppet.\n"
 # # }
 #
 # config.vm.provision :puppet do |puppet|
 #   puppet.manifests_path = "manifests"
 #   puppet.manifest_file  = "base.pp"
 # end

 # Enable provisioning with chef solo, specifying a cookbooks path, roles
 # path, and data_bags path (all relative to this Vagrantfile), and adding
 # some recipes and/or roles.
 #
 # config.vm.provision :chef_solo do |chef|
 #   chef.cookbooks_path = "../my-recipes/cookbooks"
 #   chef.roles_path = "../my-recipes/roles"
 #   chef.data_bags_path = "../my-recipes/data_bags"
 #   chef.add_recipe "mysql"
 #   chef.add_role "web"
 #
 #   # You may also specify custom JSON attributes:
 #   chef.json = { :mysql_password => "foo" }
 # end

 # Enable provisioning with chef server, specifying the chef server URL,
 # and the path to the validation key (relative to this Vagrantfile).
 #
 # The Opscode Platform uses HTTPS. Substitute your organization for
 # ORGNAME in the URL and validation key.
 #
 # If you have your own Chef Server, use the appropriate URL, which may be
 # HTTP instead of HTTPS depending on your configuration. Also change the
 # validation key to validation.pem.
 #
 # config.vm.provision :chef_client do |chef|
 #   chef.chef_server_url = "https://api.opscode.com/organizations/ORGNAME"
 #   chef.validation_key_path = "ORGNAME-validator.pem"
 # end
 #
 # If you're using the Opscode platform, your validator client is
 # ORGNAME-validator, replacing ORGNAME with your organization name.
 #
 # IF you have your own Chef Server, the default validation client name is
 # chef-validator, unless you changed the configuration.
 #
 #   chef.validation_client_name = "ORGNAME-validator"
end

Затем в C:\Users\rdavis\lamp-project\manifest создайте файл default.pp и вставьте в него:

$config_path = "/configs"
$vagrant_base_path = "/vagrant"
Exec { path => "/bin:/usr/bin:/usr/local/bin" }
group { "puppet": ensure => present }
exec { "apt-get update": command => "apt-get update" }
class apache {

    exec { "enable-mod_rewrite":
        require => Package["apache2"],
        before => Service["apache2"],
        command => "/usr/sbin/a2enmod rewrite"
    }
    package { "apache2":
        ensure => present
    }

    service { "apache2":
        ensure => running,
        require => Package["apache2"]
    }
}
class php {
    package { "libapache2-mod-php5": ensure => present }
    package { "php5": ensure => present }
    package { "php5-cli": ensure => present }
    package { "php5-dev": ensure => present }
    package { "php5-mysql": ensure => present }
    package { "php-pear": ensure => present }
    exec { "pear upgrade":
        command => "/usr/bin/pear upgrade",
require => Package["php-pear"],
    }
}
class mysql {
  package { "mysql-server":
    require => Exec["apt-get update"],
    ensure => present,
  }
  service { "mysql":
    enable => true,
    ensure => running,
    require => Package["mysql-server"],
  }
  exec { "Set MySQL server root password":
        require => Package["mysql-server"],
        unless => "/usr/bin/mysqladmin -uroot -proot status",
        command => "/usr/bin/mysqladmin -uroot password root",
  }
}
include apache
include php
include mysql

(Полезное примечание (необязательно), мои вышеупомянутые версии Vagrantfile и default.pp (и другие вспомогательные файлы Vagrant и структура папок) доступны из моего репозитория GitHub, VagrantVMSetups, по адресу: https://github.com/therobyouknow/VagrantVMSetups - см. папка justlamp - это то же самое, что и содержимое lamp-project использованного в этом ответе.)

Затем запустите Vagrant:

C:\Users\rdavis\lamp-project>vagrant up

Обратите внимание, что это может занять некоторое время (5-15 минут) - но потерпите. Теперь он должен успешно запустить LAMP VM. Затем вы закончили работу с виртуальной машиной. Если вы затем оставите виртуальную машину для использования в более позднее время, но отключите ее с помощью vagrant halt (вместо vagrant destroy для удаления образа VM), то я ожидаю, что эта задержка будет единовременной начальной установкой. Последующие запуски виртуальной машины (с использованием vagrant up) должны быть быстрее, я думаю.

Поиск проблемы:

Устранение неполадок Проблема 1: Использованы неверные/недопустимые кавычки - сообщение об ошибке на хост-компьютере vagrant up после запуска vagrant up

Предыстория: это случилось со мной, потому что я вставил фрагменты кода с веб-страницы, откуда пришли инструкции. У фрагмента кода были открывающие и закрывающие кавычки - которые интерпретатор/синтаксический анализатор, который использует Vagrant, не интерпретирует как правильные кавычки (или, на мой взгляд, большинство интерпретаторов и компиляторов скриптов).

Симптом: вывод так:

There is a syntax error in the following Vagrantfile. The syntax error
message is reproduced below for convenience:

C:/Users/rdavis/lamp-project/Vagrantfile:6: invalid multibyte char (US-ASCII)
C:/Users/rdavis/lamp-project/Vagrantfile:6: syntax error, unexpected $end

Или это:

Could not parse for environment production: Could not match ?/configs? at /tmp/vagrant-puppet/manifests/default.pp:1 on node lucid32.hsd1.ca.comcast.net.

The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

Или это:

There was an error executing the following command with VBoxManage:

["list", "hostonlyifs"]

Помощь: использовать правильные двойные кавычки ". Не используйте открывающие и закрывающие кавычки.

Устранение неполадок Проблема 2: После сообщения об ошибке на хост-машине после запуска vagrant up

←[1;35merr: /Stage[main]/Apache/File[/etc/apache2/sites-enabled/000-default]: Could not evaluate: Could not retrieve information from environment production source(s) file:/configs/000-default at /tmp
/vagrant-puppet/manifests/default.pp:11←[0m

Помощь: вы не должны видеть это - оригинальный скрипт содержал ссылки на путь, содержащий 000-default. Я просто удалил все строки и конструкции, ссылающиеся на него.

Устранение неполадок Проблема 3: PHP файлы обрабатываются как загрузки (загрузка файла происходит в браузере), а не выполняются и отображаются.

PHP необходимо включить на гостевой виртуальной машине.

Помощь: вам может или не нужно делать это.

Этот совет работал: (чтобы включить PHP и остановить просмотр файла при загрузке): https://serverfault.com/questions/243435/getting-php-to-work-with-apache-to-run-php-files -Через-браузер

[email protected]:/etc/php5/cli$ a2enmod php5
Module php5 already enabled
[email protected]:/etc/php5/cli$ sudo apache2ctl restart

Еще один совет:

PHP необходимо включить, предложение в: http://galleryproject.org/node/55011

is: edit php.ini Это общие расширения (.so файлы). Вам нужно включить их в php.ini, а затем перезапустить PHP.

Мне самому не нужно было редактировать php.ini. Кстати, это по адресу: /etc/php5/cli/php.ini для этой виртуальной машины lucid32.

Устранение неполадок Проблема 4: обращение к предупреждающему сообщению дополнений VirtualBox о несоответствии версий

[default] The guest additions on this VM do not match the install version of
VirtualBox! This may cause things such as forwarded ports, shared
folders, and more to not work properly. If any of those things fail on
this machine, please update the guest additions and repackage the
box.

Guest Additions Version: 4.2.0
VirtualBox Version: 4.2.4

Кажется, это не проблема (это не мешает успешной работе ВМ), но если вы хотите решить эту проблему:

http://automation.binarysage.net/?p=1198 https://unix.stackexchange.com/questions/58216/automate-installation-of-virtualbox-guest-additio ns-via-command-line

https://serverfault.com/questions/243435/getting-php-to-work-with-apache-to-run-php-files-through-browser

(для пользователей, подобных Linux: http://www.pauloamgomes.net/blog/install-vagrant)

Устранение неполадок 5: The box 'base' could not be found." Сообщение об ошибке появляется после запуска vagrant up.

Способ устранения? Проверьте строку, содержащую инструкцию config.vm.box = и т.д. В вашем Vagrantfile (см. Мой пример Vagrantfile выше), чтобы убедиться, что он ссылается на окно Vagrant (образ установки ОС), которое действительно существует в вашей системе - введите команду vagrant box list чтобы увидеть, какие ящики у вас есть.

Если вы следовали моим инструкциям, у вас должна быть коробка lucid32. Убедитесь, что в вашем Vagrantfile нет посторонних config.vm.box = и т.д. Признание: в моем Vagrantfile был посторонний config.vm.box = "base" Vagrantfile самом деле несколькими строками выше, config.vm.box = "lucid32" уже был готов. Я сейчас исправил это.

Часто задаваемые вопросы

  • Q: Что такое Vagrant box? A: Можно считать эквивалентом установочного диска ОС в том смысле, что он является основой, отправной точкой для виртуальной машины - ее ОС. Это бинарный файл.

  • Q: Что такое пакет Vagrant? A: Снимок виртуальной машины плюс конфигурация, которую Vagrant выполнил из VagrantFile, предоставляет автономные средства для передачи настроек другим людям.

Рекомендации:

Общие Бродячие ресурсы:

Что именно делают команды Vagrant? - хорошее описание

http://community.opscode.com/questions/81 http://deanstrezovski.com/setting-up-a-cagrant-lamp-stack/ http://www.jasongrimes.org/2012/06/managing-lamp -environments-with-chef-vagrant-and-ec2-1-of-3/ Как связать каталог проекта Vagrant с существующей виртуальной машиной VirtualBox? http://docs.vagrantup.com/v1/docs/getting-started/index.html

Больше на Vagrant Boxes:

http://docs.vagrantup.com/v1/docs/boxes.html Где Vagrant сохраняет изменения на ВМ?

Вход в систему на основе ключей SSH (вход в виртуальную машину извне - т.е. с хост-компьютера или с другого компьютера):

http://www.howtoforge.com/ssh_key_based_logins_putty_p2 http://docs.vagrantup.com/v1/docs/getting-started/ssh.html

http://en.wikipedia.org/wiki/Ssh-agent

Для Windows на основе SSH войти в виртуальную машину:

PuTTY: бесплатный клиент telnet/ssh www.chiark.greenend.org.uk/~sgtatham/putty/

PuTTYgen:

www.chiark.greenend.org.uk/~sgtatham/putty/download.html

История версий/обновления этого ответа

  1. Указатели и уборка рубрик
  2. Добавлен запуск vagrant up и что это может занять некоторое время
  3. Добавлено, как установить пароль root в ВМ
  4. Добавлен недостающий шаг для загрузки и запуска окна lucid32 (эквивалентно установочному диску)
  5. Для удобства добавлена ссылка на мое https://github.com/therobyouknow/VagrantVMSetups GitHub репо, содержащее настройку конфигурации Vagrant для этого ответа.
  6. Измененный Vagrantfile для удаления постороннего config.vm.box = "base" когда на самом деле несколькими строками выше, config.vm.box = "lucid32" уже был сделан. Это поможет, если вы столкнетесь с ошибкой. The box 'base' could not be found." Также добавлен новый элемент для устранения неполадок, объясняющий то же самое.
  7. Для тех, кому нужна виртуальная машина LAMP на основе Drupal, добавлено альтернативное готовое решение: http://drupal.org/project/vagrant.
  8. 2013-07-10: небольшая грамматическая корректировка причин написания данного руководства. Обновлено, что книга Vagrant от O'Reilly теперь опубликована. Добавлена ссылка на https://puphpet.com/ - онлайн генератор скриптов Vagrant configurator (очень приятно!). Добавлена ссылка на инструмент VeeWee, который используется для создания файла Vagrant.box из любого дистрибутива .ISO Linux (стандартный установочный диск).
  9. 2013-10-14 Обновлены маркеры "что они, кажется, не делают" с указанием версии Vagrant - в этом руководстве используется Vagrant 1 (и почему). Заявленный Vagrant 2, используемый с puphpet.com, также ссылается на мою документацию с помощью puphpet.com для настройки Vagrant VM для Drupal.
  10. 2013-10-21 Обновлен до состояния комбинации версии VirtualBox и Vagrant для использования: VirtualBox версии 4.2.12 и Vagrant 1.2.2. Некоторые другие комбинации могут работать, но я не проверял их, поэтому я придерживаюсь этой комбинации, если не вижу явного преимущества использования более поздних версий. Одним из очевидных преимуществ будет скорость предоставления. Поместите заголовок о других подходах к разделу Vagrant VM. Обновленный, чтобы сказать, что это и другие решения независимы от платформы и должны работать на ПК, Mac или Linux.
  11. 2013-10-23 обновляет информацию о том, какую версию Vagrant использовать для этого руководства (то есть до v1.2 (то есть до Vagrant 2)) и для другого подхода, puphpet.com(v1.2.2), который, напротив, является выпуском Vagrant 2. )
  12. 2013-12-03 исправлены заметки о версии API Vagrant и какая версия API в какой версии программного обеспечения Vagrant. Добавлены еще несколько альтернативных, всесторонних настроек Vagrant.

Ответ 2

В вашей виртуальной машине вам нужно запустить:

$knife configure

Принять все значения по умолчанию.

После запуска этого файла в файле ~/.chef/knife.rb будет создан файл конфигурации.

Что касается вашей диаграммы: В папке бродяг содержится Vagrantfile для этого проекта. Фактические файлы .ovf и .vmdk вместе с другим Vagranfile существуют в /% USERPROFILE%/. Vagrant.d/

Vagranfile - это файл конфигурации для Vagrant и существует в нескольких местах с установленным порядком приоритета. Файл Vagran в папке вашего проекта имеет приоритет: Документация по Vagrantfile.

Все может быть с localhost, включая настройку более сложного проекта Vagrant с несколькими виртуальными машинами.

РЕДАКТИРОВАТЬ: чтобы было ясно, что cmd должен быть запущен в VM и удалять острую ссылку на путь Windows.