Установка homestead к каждому проекту отдельно
Вместо того, чтобы создавать одну виртуалку для всех своих проектов, можно создавать для каждого нового проекта - отдельную виртуальную машину. При таком подходе удобно кастомизировать отдельную систему, индивидуально под свой проект, не задумываясь о том, что можно что-то поломать в остальных. Так же, явным преимуществом является то, что теперь, вы можете поделиться с другими разработчиками своим конфигом vagrant-контейнера, и они смогут с помощью одной команды vagrant up
развернуть оболочку, необходимую для запуска вашего проекта.
И в результате, мы будем иметь проект, который можно будет легко запустить даже в поле, в несколько кликов.
Для того, чтобы ознакомиться с вариантом установки общей виртуальной ОС, и понять, как работать с vagrant, советую почитать статью как установить laravel homestead на windows
Текущая статья предусматривает, что вы уже знакомы с основами vagrant-a, и имеете некий опыт работы с ним. Потому, некоторые очевидные вещи в этой статье будут упускаться.
На даный момент у вас уже должен быть установлен Virtual Box и Vagrant.
Я пользуюсь IDE - PHP Storm, потому, сегодня продемонстрирую, как запускать vagrant в phpstorm.
Шаг 1:
Создаём новый проект laravel через composer.
composer create-project --prefer-dist laravel/laravel newproject
newproject
- имя папки, в которой будет создан новый laravel-проект
Я буду демонстрировать способ установки с помощью composer-a, потому у вас так же должен быть установлен composer и php. У меня на на компьютере установлен OpenServer, потому я открою его консоль, и перейду в папку текущего проекта:
Аналогично, через composer подключаем homestead:
composer require laravel/homestead --dev
Шаг 2:
Теперь нужно запустить команду, которая создаст конфигурационные файлы:
vendor\\bin\\homestead make
После чего, в папке проекта появились новые файлы, и насколько вы знаете из предыдущей статьи, основным из которых является Homestead.yaml, содержащий все конфигурационные параметры.
Прелесть такого подхода, что все параметры проставились автоматически, и вручную не приходится ничего править.
Содержимое файла Homestead.yaml:
ip: 192.168.10.10
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
-
map: 'C:\OSPanel\domains\laravel-homestead.loc'
to: /home/vagrant/code
sites:
-
map: homestead.test
to: /home/vagrant/code/public
databases:
- homestead
name: laravel-homestead-loc
hostname: laravel-homestead-loc
Шаг 3:
Последнее, что осталось сделать - выполнить команду vagrant up
, которая создаст новую виртуальную машину.
В моём случае, я воспользуюсь преимуществом IDE, в которой управление vagrant-ом вынесено в отдельное контекстное меню (Tools > Vagrant
):
И, сразу после создания виртуальной машины, перейдём по ссылке из Homestead.yaml (http://homestead.test), и получим вот такой ответ:
Ввиду того, что OpenServer у меня выключен, то с уверенностью можно сказать, что виртуалка запустилась, и работает корректно.
Для того, чтобы перейти в консоль виртуальной машины выполним vagrant ssh
:
И перейдём в директорию проекта:
cd code && ls
И вам будет показано полное содержимое нашего laravel-проекта, который мы создали ранее. И вот так и получается, что наш проект так просто был прокинут в виртуальную ОС.
Теперь вы знаете, как использовать vagrant и homestead. А так же, в этой статье была немного затронута тема vagrant в phpstorm. Удачи в программировании