Vagrant - это удобно и просто.

Vagrant - это инструмент, который помогает работать с виртуальной машиной. Установив Vagrant - вы можете получить операционку на виртуальной машине с Ubuntu, Apache/Nginx, MySql, php и т.д. Также, Vagrant синхронизирует папки на вашей ОС с папками на виртуальной машине (т.е. вы работаете со своим проектом в своем любимом каталоге на своей любимой ОС). Вообще, Vagrant дает море преимуществ, а именно:

  • Можно легко перенести свою виртуалку с домашнего компа на рабочий и не парится с настройками софта
  • Можно поучиться, если не сталкивались раньше, методам распределенной нагрузки создав несколько виртуалок и пробовать работать с такими технологиями как RabbitMQ, шардинг и т.д.
  • Тестировать производительность установив нужные параметры виртуалки
  • Установить ПО как на сервере заказчика
  • Делать разные настройки для PHP
  • Не устанавливать на вашу ОС PHP, MySql и прочий софт

Vagrant имеет много сборок конфигураций системы (их называют боксами), а также, можно самому собрать нужную конфигурацию на сайте https://puphpet.com/

Устанавливаем Vagrant

Для работы Vagrant нужен VirtualBox или какой-то другое ПО для виртуализации. После этого, заходим на сайт и скачиваем https://www.vagrantup.com/downloads.html Vagrant для вашей ОС и запускаем установку программы.

Устанавливаем плагины для Vagrant. В консоле выполняем команды:

vagrant plugin install vagrant-vbguest
vagrant plugin install vagrant-hostmanager

Устанавливаем бокс для PHP одним из самых популярных Scotch Box (https://box.scotch.io/).
В каталоге вашего проекта выполняем команду:

git clone https://github.com/scotch-io/scotch-box.git

теперь, заходим в каталог scotch-box и запускаем команду:

vagrant up

Загрузка данных, может занять около 10-15 мин.

После того, как загрузка закончится, можно перейти по адресу http://192.168.33.10 (это стандартный адрес для scotch-box) и увидеть стартовую страницу.

В папке scotch-box у вас появится папка public в которую можно устанавливать ваш сайт.

Вы можете выполнить в консоле команду:

vagrant ssh

чтобы войти на ваш виртуальный хост по ssh.

Для выключения виртуального бокса, выполняем команду:

vagrant halt

Более подробный список команд можно получить, выполнив команду:

vagrant list-commands

Vagrant и Yii2 advanced

Предполагаем, что у вас установлен проект Yii2 advanced. В корне вашего проекта должна быть папка vagrant. Открываем и редактируем файл vagrant/config/vagrant-local.yml (если у вас нет этого файла - у вас должен быть файл vagrant-local.example.yml - сохраните этот файл с именем vagrant-local.yml). В этом файле, вам нужно будет указать токен вашего аккаунта на github в параметре github_token и выполнить команду:

vagrant up

Теперь, вы можете обратится к своему проекту по адресу:

Более подробно на сайте Github.