Header Image

Установка Vagrant Homestead

Загружено/обновлено 6 Июля 2016

Первые шаги

Затем:

переходим в каталог cd ~ или cd c:\users\{user_name} (обратите внимание, что vagrant не любит кириллические имена пользователей) С командной строки генерируем ключи ssh публичны и приватный: ssh-keygen -t rsa -C "your@email.com"

устанавливаем laravel-homestead (--insecure не обязателен - отключает черезмерную защиту, которая порой мешает):

vagrant box add --insecure laravel/homestead
git clone https://github.com/laravel/homestead.git Homestead

Переходим в каталог \Homestead и запускаем инициализацию:

bash init.sh

Далее

Необходимо отредактировать созданный инициализацией файл .homestead/Homestead.yaml , заменив пути в стиле UNIX на соответствующие пути по правилам OS Windows.

---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: C:\Users\User\.ssh\id_rsa.pub

keys:
    - C:\Users\User\.ssh\id_rsa

folders:
    - map: D:\Code
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

databases:
    - homestead

Затем

вносим изменения в файл C:\Windows\System32\drivers\etc\hosts вот так

192.168.10.10  homestead.app

Очень важно

Необходмо убедиться, что виртуализация включена в настройках CPU в BIOS. А так же рекомендуется отключить Windows Hyper-V. Один из способов сделать это с командной строки - такой:

bcdedit /set hypervisorlaunchtype off

Наконец

когда все это сделано, можно запускать нашу виртуальную машину. Для этого переходим в каталог C:\users\{user_name}\Homestead в командной строке и набираем:

vagrant up
vagrant ssh

и всё должно работать. Можно запускать homestead из любого место в командной строке если включить в файл .bashrc следующий код:

alias homestead='function __homestead() { (cd ~/Homestead && vagrant $*); unset -f __homestead; }; __homestead'

теперь можно запускать машину из любого место набирая:

homestead up
homestead ssh

Чтобы отключить vagrant нужно набрать команду:

homestead halt

или

vagrant halt

Добавление сайтов и баз данных

Здесь всё просто, но не без маленького подвоха. Откроем файл .homestead\Homestead.yaml и модифицыруем его вот таким образом:

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public
    - map: newsite.app
      to: /home/vagrant/Code/Newsite/public

databases:
    - homestead
    - new_database

Теперь редактируем Windows hosts файл, добавляя в него следующее:

192.168.10.10  newsite.app

После этого вводим команду для vagrant чтобы запустить новые настройки:

vagrant up
vagrant provision

или как мы уже узнали

homestead up
homestead provision

и все должно работать нормально. Подвох, о котором я говорил, заключается в том, что yaml файлы очень чувствительны к индентации, прямо как Python. Будте внимательны, и убедитесь в том, что в файл Homestead.yaml не попал знак Tab - для индентации допустимы только пробелы или нужно настроить редактор так, чтобы автоматически заменял тэбы пробелами.