Vagrant — виртуальная среда разработки

Vagrant  — свободное и открытое программное обеспечение для создания и конфигурирования виртуальной среды разработки. Является обёрткой для программного обеспечения виртуализации, например VirtualBox или Wmware, и средств управления конфигурациями, такими как Chef, Salt и Puppet.

Vagrant was started in January 2010 by Mitchell Hashimoto. For almost three years, Vagrant was a side-project for Mitchell, a project that he worked on in his free hours after his full-time job. During this time, Vagrant grew to be trusted and used by a range of individuals to entire development teams in large companies.

Virtualbox можно скачать на официальном сайте https://www.virtualbox.org/wiki/Downloads

22

Последнюю версию vagrant 1.8.6 для debian, mac os, cent os, windows можно скачать https://www.vagrantup.com/downloads.html

Ubuntu.

Скачиваем, устанавливаем. Обновляем.

24

$ dpkg -i vagrant_1.8.6_x86_64.deb
$ apt-get update

Боксы практически любых систем можно скачать на официальном сайте hashicorp https://atlas.hashicorp.com/boxes/search$ vagrant box add USER/BOX

For example: vagrant box add hashicorp/precise64.

You can also quickly initialize a Vagrant environment with vagrant init hashicorp/precise64.

26

29

Windows.

2

7

43

Если хотим запускать vagrant из под windows — добавляем bin в PATH переменную.

555

vagrant --help //проверка работоспособности
vagrant box add ubuntu/trusty6 //установка бокса ubuntu 64x

powershell

Все настройки запуска бокса хранятся в файле vagrantfile в папке, где мы инициализировали бокс. Файл конфигурации написан на языке ruby, в нем хранятся все настройки ip адреса (проброс необходимых портов), настройка поставщика виртуализации (virtual box, wmware, esx и тд). Все строчки в этом файле имеют комментарии, поэтому настройка внешнего айпи адреса, проброс нужных портов, выставления параметров запуска с нужного провайдера и автоматически инсталляция нужного программного обеспечения — не составит никаких проблем.

ruby

vagrant up //включаем машину

По умолчанию ssh адрес машины будет 127.0.0.1: 2222 (порт 2222).

Подключаемся к машине по ssh c помощью программы putty (так как команда ssh username@yoursite через терминал не работает)

Скачать программу PuTTY (the SSH and Telnet client) можно на официальном сайте (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htm)

rtr

Порт 2222 хостовой машины перенаправляется на 22 порт гостевой машины.

444

222

Раскоментируем несколько строчек, отвечающие за сеть, в vagrantfile:

config.vm.network "forwarded_port", guest: 80, host: 8080 // перенаправление 80 порта
config.vm.network "public_network" // режим работы сети - мост

И после этого мы можем накатывать различные службы: apache2, nginx, phpmyadmin, sql, samba, ftp и тд
333

Чтобы резолвить по имени — правим на хостовой машине hosts (C:\Windows\System32\drivers\etc)

32

Кто-то подключает виртуальную машину, как удаленный жесткий диск и с помощью github отправляет commit, кто-то через ftp подключает к phpshtorm, или просто как share папку.

Команды, которые часто используются в vagrant:
#Команда, которая включает виртуальную машину
vagrant up           
#Команда, которая выключает виртуальную машину 
vagrant halt
#Команда, которая перенастроит виртуальную машину
vagrant provision  
#Команда, которая удалит все файлы виртуальной машины
vagrant destroy
#Подключение к виртуальной машине по SSH
vagrant ssh
#Статус vagrant машины
vagrant status

По умолчанию, если выбран provision- Virtualbox, то образы разворачиваются в папке C:\Users\USER_NAME\VirtualBox VMs\FOLDER_VM
33333

Более подробно про Vagrant написано в книжке «Vagrant: Up and Running: Create and Manage Virtualized Development Environments 1st Edition»

456