Может войдёшь?
Черновики Написать статью Профиль

Основы Laravel 5: Виртуальные машины и Homestead

перевод Основы Laravel 5 Laracasts

Это перевод видео-урока с Laracasts, серия Laravel 5 Fundamentals, урок №2Route Model Binding от . Перевод обновлён . Опечатка? Выдели и нажми Ctrl+Enter.

(0:00)
Добро пожаловать обратно. В предыдущем видео вы узнали немного о Composer, который, возможно, был для вас чем-то совершенно новым. А потом вы узнали, как создать свой первый проект в Laravel 5. И мы завершили видео запуском сервера на порту 8888, и установкой корневой папки в public:

shphp –S localhost:8888 –t public

Итак, мы выполнили новую установку Laravel 5:

localhost:8888

Тем не менее я не знал здесь кое-чего. Что делать, если вы прошли со мной через весь процесс установки, но у вас что-то не получилось, например расширение mcrypt не установилось?

(0:30)
Если вы используете Windows или Mac, то это достаточно муторно. Что вы должны делать в подобных ситуациях? И к счастью, в наши дни есть инструменты типа всё-в-одном, такие как MAMP или WAMP, которые вы можете найти. И хотя они немного упрощают процесс конфигурации, но они также дают вам что-то, что будет работать в большинстве ситуаций. Так что, особенно если вы новичок в этой теме, то это было бы моей первой рекомендацией. Просто притяните MAMP или WAMP и всё будет в порядке.

(1:00)
Вы сможете узнать о таких вещах, как виртуальные машины, когда вы продвинетесь немного дальше. Однако, что если у вас либо всё ещё возникают проблемы после этого, либо же вы немного более опытный разработчик, и вы предпочли бы использовать что-то вроде Vagrant и виртуальных машин? Ну, это замечательно! Это решение позволяет отделить всю вашу среду разработки от фактической машины, на которой вы работаете изо дня в день, что очень удобно.

(1:30)
Например, при обновлении до последней версии MacOS, вам не придётся беспокоиться о том, что ваша среда разработки будет полностью сломана. Или также преимущества, как например простой способ гарантировать, что каждый человек из вашей команды разработчиков использует одинаковое окружение. Если вы не используете что-то вроде Vagrant или виртуальной машины или им подобного, то на самом деле у вас могут возникнуть некоторые сложные проблемы.
Итак, сказав всё это, в данном видео мы собираемся исследовать Laravel Homestead.

(2:00)
Вы можете представить его, как небольшую обёртку, делающую процесс работы с Vagrant и виртуальными машинами для нас гораздо проще. Просто помните, что если вы ещё совсем новичок, и просто хотите узнать, как создать свой первый сайт, и если самое первое видео в этой серии прошло для вас без проблем, то если хотите, можете пропустить это видео. Не загружайтесь если материал покажется вам сложным.
Хорошо, давайте начнём. Как вы увидите, Homestead на самом деле не такой уж и сложный. Особенно если у вас есть базовое понимание командной строки и тому подобного. ОК, так что если мы перейдём на сайт документации Laravel:

laravel.com/docs/master/homestead

(2:30)
конечно, практически всё, что вы хотите узнать, будет здесь очень хорошо задокументировано. Так что мы надеемся, что документации Laravel и кастов с Laracasts достаточно для того, чтобы вам был доступен огромный объём образовательной информации. Тем не менее, если вы прошли через документацию и через это видео и всё ещё немного путаетесь, то очень быстро отвлекусь, я на самом деле уже осветил Homestead несколько раз. Так что если хотите, можете посмотреть это видео Поздоровайтесь с Laravel Homestead 2.0 и, возможно, оно прояснит некоторые моменты.

(3:00)
Хорошо, так что давайте посмотрим, каков наш первый шаг. Мы видим, что Homestead даст нам виртуальную машину, внутри которой по умолчанию есть все эти различные вещи. Вы получите самую последнюю версию PHP, и, конечно, MySQL и Postgres и даже такие вещи, как Node, так что если захотите вы сможете запускать Gulp или Bower. Так что на самом деле, для современной PHP-разработки практически всё, что вам может понадобиться, наверняка будет входить в комплект, и это очень полезно. И значит, вы не должны устанавливать все эти вещи по отдельности.

(3:30)
ОК, так что первый шаг, мы должны притянуть VirtualBox, а также Vagrant. Это действительно легко. Оба они являются бесплатными, так что просто зайдите на веб-сайт и найдите необходимый исполняемый файл для вашей операционной системы. В этом случае я пользуюсь Mac. Скачайте файл, установите его, это не займёт много времени. Далее вы сделаете то же самое с Vagrant. И опять же, помните, что Vagrant делает процесс быстрой загрузки среды разработки, или даже закрытие её, как можно более простым. Так что он убирает много суеты из процесса.

(4:00)
Но это не отменяет того факта, что после установки всего этого, он по-прежнему кажется немного запутанным и ошеломляющим. И именно поэтому у нас есть Homestead, который делает для нас всё гораздо проще. Вам не нужно быть мастером администратором серверов, чтобы разбираться во всех этих тонкостях, если вы просто пытаетесь создать веб-сайт. ОК, так что скачайте это. И опять же, это очень легко – несколько кликов и всё готово. Когда вы это сделаете, нам нужно добавить окно Vagrant в Laravel Homestead.

(4:30)
Это действительно легко. После установки Vagrant, вы будете иметь доступ к этому новому исполняемому файлу (vagrant). Позвольте я вам покажу. Если я запущу:

shvagrant

Готово. Так что давайте возьмём и добавим нашу виртуальную машину (box).

shvagrant box add laravel/homestead

И это займёт всего несколько минут для установки. Пока мы это тянем, давайте двигаться дальше и перейдём к следующему шагу.
Теперь нам нужно установить Laravel Homestead через Composer. Это даст нам доступ к исполняемому файлу homestead, который содержит много вкусностей, о которых я вам расскажу.

(5:00)
Таким образом, переключимся обратно, и когда это будет сделано, вставьте вот это:

shcomposer global require "laravel/homestead=~2.0"

Этот composer global... Вы уже видели composer require, он устанавливает зависимости для конкретного проекта, и, как вы можете себе представить, когда вы делаете composer global, он будет сохранять их, вероятнее всего, где-то в вашем каталоге home, так чтобы вы могли на него ссылаться из любого места в вашей системе. Так что вперёд, запустите эту команду.
Наконец, как только вы проделаете всё это, теперь у вас должен быть доступ к исполняемому файлу homestead, и мы сделаем:

shhomestead

Краткое примечание по этой теме.

(5:30)
Если вы выполнили все шаги, но вы по-прежнему пытаетесь запустить: homestead, и ничего не получается, то обязательно обратитесь к документации. Вам нужно убедиться, что этот каталог (~/.composer/vendor/bin) является частью вашего PATH. И чтобы сделать это, вы просто можете открыть один из ваших разных стартовых файлов, типа bashrc, или, если вы используете Zshell, то можете открыть zshrc. Всё это будет в пределах вашего домашнего каталога ~/.bashrc, если вы пользуетесь Mac. Поэтому, как только вы его откроете, то просто сделайте что-то вроде:

export PATH="~/.composer/vendor/bin:$PATH"

вы просто вставите этот путь, а затем будет идти всё остальное что было включено в вашем пути доступа.

(6:00)
И на этом всё! После того, как вы сохраните файл и откроете новую вкладку терминала, у вас должен появиться доступ к Homestead. Теперь мы можем запустить:

shhomestead init

чтобы создать наш глобальный файл конфигурации, который мы сможем использовать. И это позволит нам... давайте-ка я вам на самом деле лучше покажу. Давайте отредактируем файл на моей демо-машине:

shhomestead edit

И на первый взгляд это может выглядеть немного запутанным, но на самом деле это очень, очень просто понять. Прежде чем я двинусь дальше, не забывайте, что я запустил shhomestead edit, и эта команда открыла для меня данный файл.

(6:30)
Теперь, прямо здесь в самом верху, вы увидите, что мы ссылаемся на наши ключи SSH. Опять же, я буду полагать, что вы понимаете, что это такое. Но если нет, то это просто потребует от вас немного исследования, чтобы понять всё это. Считайте, что это идентификатор для вашей машины. Если я переключусь обратно в Chrome, здесь вам покажут, как именно это сделать. Вероятнее всего, если вы когда-либо ранее использовали GitHub, например, то они у вас уже есть. Но если нет, то вы можете просто вставить эту команду в ваше окно терминала, запустить её, и она настроит для вас всё.

(7:00)
Как только вы создали один из этих ключей, вам просто нужно указать путь в вашем файле Homestead.yaml. И вы увидите, что по умолчанию он будет предполагать толковое имя файла. Очень вероятно, что здесь и хранится ваш ключ (~/.ssh/id_rsa.pub), так что возможно вам совсем и не понадобится его редактировать. Далее, мы можем связать любую папку на нашей хост-машине (нашей главной машине) с папкой на виртуальной машине. В данном случае, заметьте, что я просто перемещаю всю мою директорию Code, я делаю её доступной на виртуальной машине в /home/vagrant/Code.

(7:30)
В папке ~/Code вот здесь, я храню все обычные веб-проекты. Например, база исходного кода Laracasts хранится здесь, любые демо-приложения здесь же, и хобби-проекты также хранятся в этой директории. Так что, в данном конкретном случае, вам не обязательно делать это таким же образом, но для такого сценария, любой из тех проектов будет доступен на моей виртуальной машине.
Далее у нас идет раздел сайтов sites. Именно здесь мы можем очень легко подключать домены.

(8:00)
Обратите внимание, у меня тут есть только один (laracasts.dev), ещё раз напомню, он содержит базу исходного кода Laracasts. И я устанавливаю корневой каталог документа для него в папку casts для Laracasts и это папка в public. Теперь, быстрое примечание по теме, этого скорее всего хватит для вашей виртуальной машины, но вам всё равно, вероятно, необходимо будет обновить ваш файл hosts. Так что возьмём ваш IP-адрес, и скажем (на Mac):

shsudo vi /etc/hosts

(8:30)
и если я прокручу вниз, я просто вставлю IP-адрес, а также домен что я создал: foo.dev, или в случае примера, который я показал вам ранее – вот этот (laracasts.dev). Хорошо, как только вы закончите с этим, выйдите из редактора, и в принципе всё должно быть готово. Если я переключусь обратно, чтобы очень быстро здесь закончить, если вы хотите быстро настроить какие-либо базы данных, то можете добавить их здесь (в разделе для баз данных: databases). В этом случае мы ссылаемся на одну, под названием homestead, которую, кстати, по умолчанию Laravel и будет искать. Так что это хорошее соглашение, которому стоит следовать. Может быть, просто оставим это как есть.

(9:00)
И, наконец, если вам нужно добавить любые переменные окружения, при загрузке этого сервера, то вы можете указать их здесь же. Хорошо, это всё что нужно здесь знать. Укажите назначенную папку, настройте имя сайта, и всё готово.
Если переключитесь обратно в терминал, просто запустите:

shhomestead up

Мы загрузим нашу виртуальную машину. Это может занять 10-15-20 секунд или около того, но мы можем видеть – точно, машина загружена и готова к работе. Если мы захотим проверить её, я могу запустить:

shhomestead ssh

(9:30)
мы теперь «ssh-имся» в нашу виртуальную машину. Так что если я отображу список файлов:

shls

всё работает. Пойдём в Code, в ту самую папку casts:

shcd Code
cd casts/

и для начала, давайте просто выясним, какая тут у нас версия PHP:

shphp –v

(5.6 в данном случае). У нас также есть доступ к вещам, типа MySQL или Node, или Gulp, или Grunt, или Bower. Всё это хозяйство доступно нам по умолчанию. Итак давайте посмотрим, сработает ли это. Если я переключусь обратно в Chrome и мы перейдём к laracasts.dev – всё настроено.

(10:00)
Это исходный код для Laracasts.
Теперь, если я переключусь обратно в документацию, здесь есть ещё много других интересных вещей, но на самом деле лучший способ разобраться со всем этим – покопаться в этом самостоятельно.
Например, как вы подключитесь к базе данных после того, как настроили Homestead? И здесь мы можем увидеть, что у нас есть имя пользователя и пароль по умолчанию (homestead / secret), которые мы можем использовать. И потом ещё такие вещи, как, например, когда вы будете готовы добавить дополнительный сайт. Как вам это сделать?

(10:30)
Всё такое можно найти в документации. Так что ваша задача, если вы чувствуете, что готовы использовать виртуальные машины и Homestead, в том, чтобы разобраться, как запустить новую установку Laravel.
Дайте мне знать получилось ли это у вас.

Как вы считаете, полезен ли этот материал? Да Нет

Комментарии (1)

AlexSokol

Сделал как здесь, все заработало. Но версия php 5.6.
Хочу сделать себе 7.1.
Не получается ( Все время ошибки. Может сделаете такой же понятный видос но с 7.1 ?

Написать комментарий

Разметка: ? ?

Авторизуйся, чтобы прокомментировать.