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

Homestead

перевод документация 5.х

  1. 1. Введение
    1. 1.1. Включённое ПО
  2. 2. Установка и настройка
    1. 2.1. Первые шаги
    2. 2.2. Настройка Homestead
    3. 2.3. Запуск Vagrant Box
    4. 2.4. Установка для проекта
    5. 2.5. Установка MariaDB
  3. 3. Повседневное использование
    1. 3.1. Глобальный доступ к Homestead
    2. 3.2. Подключение через SSH
    3. 3.3. Подключение к базам данных
    4. 3.4. Добавление дополнительных сайтов
    5. 3.5. Настройка расписания Cron
    6. 3.6. Порты
  4. 4. Сетевые интерфейсы
  5. 5. Обновление Homestead
  6. 6. Старые версии
  7. 7. Профайлер Blackfire
Этот перевод актуален для англоязычной документации на (ветка 5.3) , (ветка 5.2) , (ветка 5.1) и (ветка 5.0). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

Laravel стремится преобразить процесс разработки на PHP, это относится и к локальной среде разработки. Vagrant обеспечивает простой, элегантный способ настройки и управления виртуальными машинами.

Laravel Homestead — официальная предустановленная Vagrant-"коробка", которая предоставляет вам замечательную среду разработки без необходимости установки PHP, веб-сервера и любого другого серверного программного обеспечения на ваш компьютер. Можно больше не беспокоиться о том, что ваша операционная система засоряется! Vagrant-коробки очень удобны. Если что-то пошло не так, вы можете уничтожить и пересоздать коробку в считанные минуты!

Homestead запускается на ОС Windows, Mac и Linux, и включает в себя веб-сервер Nginx, PHP 7.1, MySQL, Postgres, Redis, Memcached, Node и все другие полезные штуки, которые вам понадобятся для разработки удивительных Laravel-приложений.

Если вы используете Windows, возможно, вам необходимо включить аппаратную виртуализацию (VT-x). Она обычно включается через BIOS. Если вы используете Hyper-V на UEFI-системе, вам может понадобиться отключить Hyper-V, для доступа к VT-x.

Включённое ПО

  • Ubuntu 16.04
  • Git (в 5.1+)
  • PHP 7.1
  • HHVM (только в 5.2 и ранее)
  • Nginx
  • MySQL
  • MariaDB (в 5.1+)
  • Sqlite3 (в 5.1+)
  • Postgres
  • Composer (в 5.1+)
  • Node (с Yarn (в 5.3+), PM2, Bower, Grunt и Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Laravel Envoy (в 5.0)
  • Профайлер Blackfire (в 5.0)

Установка и настройка

Первые шаги

Прежде чем запустить Homestead-среду, вы должны установить VirtualBox 5.1,
VMWare или Parallels (с версии Laravel 5.3), а также Vagrant. Эти программные пакеты предоставляют простые в использовании визуальные инсталляторы для всех популярных операционных систем.

Для использования VMWare вам необходимо приобрести и VMware Fusion/Workstation, и плагин VMware Vagrant. Хотя он и платный, зато VMware изначально обеспечивает большую скорость работы общих папок.

Для использования провайдера Parallels вам необходимо установить плагин Parallels Vagrant. Он бесплатный.

Установка Vagrant-коробки Homestead
После установки VirtualBox/VMware и Vagrant вы должны добавить коробку laravel/homestead в установленный пакет Vagrant, используя следующую команду в вашем терминале. Скачивание коробки может занять несколько минут:

shvagrant box add laravel/homestead

Если выполнение команды завершится неудачно, проверьте, что у вас установлена свежая версия Vagrant.

Установка Homestead

Вы можете установить Homestead, просто клонировав репозиторий. Клонируйте репозиторий в папку Homestead в тот каталог, где вы храните все свои проекты Laravel, потому что коробка Homestead станет хостом всех ваших Laravel-проектов:

shcd ~

git clone https://github.com/laravel/homestead.git Homestead

После клонирования репозитория Homestead выполните в этой папке команду shbash init.sh, чтобы создать конфигурационный файл Homestead.yaml. Этот файл будет помещён в скрытый каталог ~/.homestead:

sh// Mac / Linux...
bash init.sh

// Windows...
init.bat

Настройка Homestead

Настройка провайдера

Параметр provider в файле ~/.homestead/Homestead.yaml указывает на то, какой провайдер должен использоваться: virtualbox, vmware_fusion (Mac OS X) или vmware_workstation (Windows) или parallels. Вы можете задать тот, который предпочитаете:

confprovider: virtualbox

Настройка общих папок

В параметре folders в файле Homestead.yaml перечислены все папки, которые вы хотите расшарить для вашей среды Homestead. Поскольку файлы в этих папках будут меняться, они будут синхронизироваться с вашей локальной машиной и средой Homestead. Вы можете настроить столько папок, сколько вам необходимо:

conffolders:
  - map: ~/Code
    to: /home/vagrant/Code

Для включения NFS просто добавьте простой ключ к вашей синхронизируемой папке:

conffolders:
  - map: ~/Code
    to: /home/vagrant/Code
    type: "nfs"

Также вы можете передавать параметры, поддерживаемые синхронизируемыми папками Vagrant, указывая их под ключом options:

conffolders:
  - map: ~/Code
    to: /home/vagrant/Code
    type: "rsync"
    options:
      rsync__args: ["--verbose", "--archive", "--delete", "-zz"]
      rsync__exclude: ["node_modules"]

Настройка сайтов Nginx

Не знакомы с Nginx? Не проблема. Параметр sites позволяет легко связать «домен» с папкой в среде Homestead. Типовая конфигурация сайта включена в файл Homestead.yaml. И снова вы можете добавить столько сайтов к своей среде Homestead, сколько необходимо. Homestead может служить удобной виртуальной средой для каждого проекта Laravel, над которым вы работаете:

confsites:
  - map: homestead.app
    to: /home/vagrant/Code/Laravel/public
+ 5.2 5.1 5.0

добавлено в 5.2 () 5.1 () 5.0 ()

Вы можете настроить использование HHVM для любого сайта Homestead, установив параметр hhvm в значение true:

confsites:
  - map: homestead.app
    to: /home/vagrant/Code/Laravel/public
    hhvm: true

Если вы измените параметр sites после подключения Homestead-коробки, вам будет необходимо перезапустить shvagrant reload --provision, чтобы обновить конфигурацию Nginx на виртуальной машине.

Файл Hosts

Вы должны добавить «домены» для своих Nginx-сайтов в файл hosts на вашей машине. Файл hosts перенаправит запросы к вашим сайтам в вашу машину Homestead. На Mac и Linux этот файл расположен в /etc/hosts. На Windows он расположен в C:\Windows\System32\drivers\etc\hosts. Строки, которые вы добавляете в этот файл, будут выглядеть примерно так:

conf192.168.10.10  homestead.app

Удостоверьтесь, что IP-адрес тот же, что вы установили в своём файле ~/.homestead/Homestead.yaml. Когда вы добавите домен в свой файл hosts и запустите Vagrant-коробку, вы можете получить доступ к сайту через свой веб-браузер:

http://homestead.app

Запуск Vagrant Box

Когда вы отредактировали Homestead.yaml, выполните команду shvagrant up в папке Homestead. Vagrant загрузит виртуальную машину и настроит ваши общие папки и сайты Nginx автоматически.

Чтобы уничтожить машину, вы можете использовать команду shvagrant destroy --force.

Чтобы узнать, как подключиться к своей базе данных, читайте дальше!

Установка для проекта

Вместо глобальной установки Homestead и использования одной Homestead-коробки для всех ваших проектов, вы можете настроить отдельный экземпляр Homestead для каждого проекта. Установка Homestead для проекта может быть выгоднее, когда вы хотите поставлять файл Vagrantfile вместе с вашим проектом, позволяя тем, кто работает над проектом, просто выполнять shvagrant up.

Чтобы установить Homestead непосредственно в ваш проект, затребуйте его с помощью Composer:

shcomposer require laravel/homestead --dev

Когда Homestead установлен, используйте команду shmake для создания Vagrantfile и файла Homestead.yaml в корне вашего проекта. Команда shmake автоматически настроит директивы sites и folders в файле Homestead.yaml.

Mac/Linux:

shphp vendor/bin/homestead make

Windows:

shvendor\\bin\\homestead make

Затем выполните команду shvagrant up в терминале и зайдите в свой проект http://homestead.app через браузер. Не забывайте, что вам по-прежнему необходимо добавить строку для homestead.app (или выбранного вами домена) в файл /etc/hosts.

Установка MariaDB

Если вы решили использовать MariaDB вместо MySQL, вы можете добавить параметр mariadb в ваш файл Homestead.yaml. Этот параметр удалит MySQL и установит MariaDB. MariaDB является полноценной заменой для MySQL, поэтому вы должны использовать тот же драйвер БД mysql в настройках базы данных приложения:

confbox: laravel/homestead
ip: "192.168.20.20"
memory: 2048
cpus: 4
provider: virtualbox
mariadb: true

Повседневное использование

Глобальный доступ к Homestead

Иногда вам может понадобиться выполнить shvagrant up вашей Homestead-машины из любого места вашей файловой системы.

+ 5.2

добавлено в 5.2 ()

Это можно сделать, добавив простую Bash-функцию в профиль вашего Bash. Эта функция позволит вам выполнять любые команды Vagrant из любого места вашей системы, и автоматически укажет команде на ваш установленный Homestead:

conffunction homestead() {
  ( cd ~/Homestead && vagrant $* )
}

Не забудьте исправить путь ~/Homestead в функции на реальное расположение вашего установленного Homestead. Когда функция установлена, вы можете выполнять такие команды, как shhomestead up и shhomestead ssh из любого места вашей системы.

+ 5.1 5.0

добавлено в 5.1 () 5.0 ()

Это можно сделать, добавив простой Bash-псевдоним в профиль вашего Bash. Этот псевдоним позволит вам выполнять любые команды Vagrant из любого места вашей системы, и автоматически укажет команде на ваш установленный Homestead:

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

Не забудьте исправить путь ~/Homestead в псевдониме на реальное расположение вашего установленного Homestead. Когда псевдоним установлен, вы можете выполнять такие команды, как shhomestead up и shhomestead ssh из любого места вашей системы.

+ 5.0

добавлено в 5.0 ()

Чтобы добавить псевдонимы для Bash в вашу коробку Homestead, просто добавьте их в файл aliases в корень каталога ~/.homestead.

shalias vm="ssh vagrant@127.0.0.1 -p 2222"

После создания псевдонима, вы можете просто использовать команду shvm для подключения к вашей Homestead-машине по SSH из любого места вашей системы.

Настройка SSH-ключа

Теперь отредактируйте файл Homestead.yaml. В этом файле вы можете настроить путь к своему паблик-ключу SSH, а также настроить папки, которые вы хотите расшарить между вашей основной машиной и виртуальной машиной Homestead.

У вас нет SSH-ключа? На Mac и Linux вы можете создать пару SSH-ключей, используя следующую команду:

shssh-keygen -t rsa -C "you@homestead"

На Windows вы можете установить Git и использовать Git Bash, встроенную в оболочку Git, чтобы выполнить указанную выше команду. Также вы можете использовать PuTTY и PuTTYgen.

Как только вы создали SSH-ключ, задайте путь к ключу в параметре authorize в вашем файле Homestead.yaml.

Подключение через SSH

Для подключения к своей виртуальной машине по SSH вы можете использовать команду shvagrant ssh из вашего каталога Homestead.

Но поскольку вам, скорее всего, потребуется часто подключаться к вашей Homestead-машине по SSH, будет удобно создать «функцию» (для версии 5.1 и ранее «псевдоним») на вашей хост-машине для быстрого подключения, как описано выше.

Подключение к базам данных

База homestead изначально настроена на использование и MySQL, и Postgres. Для ещё большего удобства файл Laravel .env настроен на использование этой БД по умолчанию.

Чтобы подключиться к вашей базе данных MySQL или Postgres через клиент БД с вашей хост-машины, вы должны подключиться к 127.0.0.1 через порт 33060 (MySQL) или 54320 (Postgres). Имя пользователя и пароль для обеих баз данных — homestead / secret.

Вы должны использовать эти нестандартные порты, только подключаясь к базам данных с вашей главной машины. Вы будете использовать порты 3306 и 5432 в вашем конфигурационном файле базы данных Laravel, так как Laravel запущен на виртуальной машине.

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

После настройки и запуска вашей среды Homestead вы можете захотеть добавить дополнительные Nginx-сайты для своих Laravel-приложений. Вы можете запустить в одной среде Homestead столько установок Laravel, сколько захотите. Вы можете просто добавить сайты в свой файл ~/.homestead/Homestead.yaml и затем выполнить shvagrant reload --provision (для версии 5.2 и ранее shvagrant provision)) из папки Homestead.

+ 5.0

добавлено в 5.0 ()

Этот процесс деструктивен. При запуске команды shprovision, ваша существующая БД будет уничтожена и создана заново.

А ещё вы можете использовать скрипт shserve, который доступен в среде Homestead. Чтобы использовать скрипт shserve, подключитесь по SSH к вашей среде Homestead и запустите следующую команду:

shserve domain.app /home/vagrant/Code/path/to/public/directory 80

После выполнения команды shserve, не забудьте добавить новый сайт в файл hosts на вашей главной машине!

Настройка расписания Cron

Laravel предоставляет удобный способ для планирования Cron-задач путём планирования единственной Artisan-команды shschedule:run на ежеминутное выполнение. Команда shschedule:run проверит запланированные задачи, определённые в классе App\Console\Kernel, и определит, какие задачи необходимо выполнить.

Если вы хотите выполнить команду shschedule:run для сайта Homestead, вы можете задать значение true для параметра schedule при определении сайта:

confsites:
  - map: homestead.app
    to: /home/vagrant/Code/Laravel/public
    schedule: true

Cron-задача для сайта будет определена в папке /etc/cron.d на виртуальной машине.

Порты

По умолчанию следующие порты переадресованы в вашу среду Homestead:

  • SSH: 2222 → переадресован в 22
  • HTTP: 8000 → переадресован в 80
  • HTTPS: 44300 → переадресован в 443
  • MySQL: 33060 → переадресован в 3306
  • Postgres: 54320 → переадресован в 5432

Добавление дополнительных портов

Если хотите, вы можете переадресовать дополнительные порты в Vagrant-коробку, а также указать их протокол:

confports:
  - send: 93000
    to: 9300
  - send: 7777
    to: 777
    protocol: udp

Сетевые интерфейсы

Свойство networks в файле Homestead.yaml настраивает сетевые интерфейсы для вашей среды Homestead. Вы можете настроить сколько угодно интерфейсов:

confnetworks:
  - type: "private_network"
    ip: "192.168.10.20"

Для включения сетевого моста задайте параметр bridge и измените тип сети на public_network:

confnetworks:
  - type: "public_network"
    ip: "192.168.10.20"
    bridge: "en1: Wi-Fi (AirPort)"

Для включения DHCP просто удалите параметр ip из конфигурации:

confnetworks:
  - type: "public_network"
    bridge: "en1: Wi-Fi (AirPort)"
+ 5.3

добавлено в 5.3 ()

Обновление Homestead

Для обновления Homestead надо выполнить два простых шага. Во-первых, вам надо обновить Vagrant-коробку с помощью команды shvagrant box update:

shvagrant box update

Затем вам надо обновить исходный код Homestead. Если вы клонировали репозиторий, то можете просто выполнить shgit pull origin master в то место, куда вы клонировали репозиторий изначально.

Если вы установили Homestead через файл composer.json вашего проекта, вам надо убедиться, что этот файл содержит строку "laravel/homestead": "^4" и обновить ваши зависимости:

shcomposer update

Старые версии

Вы можете легко изменить используемую в Homestead версию коробки, добавив следующую строку в ваш файл Homestead.yaml:

confversion: 0.6.0

Пример:

confbox: laravel/homestead
version: 0.6.0
ip: "192.168.20.20"
memory: 2048
cpus: 4
provider: virtualbox

При использовании старых версий коробки Homestead вам надо проверить версию на совместимость с исходным кодом Homestead. Ниже приведена таблица поддерживаемых версий коробки с указанием того, какую версию исходного кода необходимо использовать, и какая в коробке версия PHP:

Версия Homestead Версия коробки
PHP 7.03.1.00.6.0
PHP 7.14.0.01.0.0
+ 5.0

добавлено в 5.0 ()

Профайлер Blackfire

Профайлер Blackfire от SensioLabs автоматически собирает данные о выполнении вашего кода, такие как использование ОЗУ, время ЦПУ и ввод/вывод диска. В Homestead легко использовать этот профайлер для ваших приложений.

Все необходимые пакеты уже установлены в коробку Homestead, вам надо просто задать ID сервера и его ключ в файле Homestead.yaml:

confblackfire:
  - id: your-server-id
    token: your-server-token
    client-id: your-client-id
    client-token: your-client-token

После настройки прав доступа для Blackfire переподключите коробку с помощью команды shvagrant provision из вашей папки Homestead. Обязательно загляните в документацию Blackfire, чтобы узнать, как установить расширение Blackfire для вашего браузера.

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

Alexander89

У меня уже есть одна виртуалка homestead c larave 4
Я хочу новую с larave 5 для другого проекта.
Мне опять надо делать vagrant box add laravel/homestead и качать огромный файл?

_stealth

Конечно же нет. Homestead — это всего лишь базовый образ виртуальной машины, внутри которой может крутиться сколько угодно проектов.

Slon

Всё здорово работает, но я озадачен одной проблемой.

Допустим на одном из сайтов на виртуальной машине мне понадобилось изменить конфиг nginx добавив туда rewrite инструкции. С этим проблем нет. Проблемы начинаются, когда нужно создать на виртуальной машине новый проект. В homestead.yaml прописываем проект, делаем vagrant reload -provision и... и у все nginx конфиги, как и базы данных переписываются на данные по умолчанию. Если с базами данных вопрос решается просто — убрать из homestead.yaml те базы которые нужно оставить в «живых», то вот с конфигами решение пока только одно, добавлять новые проекты при помощи конструкции «serve domain.app /home/vagrant/Code/path/to/public/directory 80», что, всё таки, не так удобно и «красиво»...

В идеале было бы иметь возможность в homestead.yaml дописывать нужные дополнения к конфигу для разных проектов.

teacher_xD

сделал все как описано в статье.
перехожу по адресу http://homestead.app/
страница типа грузиться и пишет 'Время ожидания соединения истекло'

в чем проблема?

Niko8D

При попытки запуска выдает ошибку:

E:\Laravel\Homestead>vagrant up
Bringing machine 'default' up with 'virtualbox' provider...
There are errors in the configuration of this machine. Please fix
the following errors and try again:

vm:
* A box must be specified.

pasha

После установки софта и попытки загрузит виртуальную машину, получаю следующие ошибки (хотя в интерфейсе VirtualBox машина отображается с состоянием "работает ")

МОЯ КОМАНДА

vagrant up

ОШИБКА:

==> homestead-7: Checking if box 'laravel/homestead' is up to date...
==> homestead-7: Clearing any previously set forwarded ports...
==> homestead-7: Clearing any previously set network interfaces...
==> homestead-7: Preparing network interfaces based on configuration...
    homestead-7: Adapter 1: nat
    homestead-7: Adapter 2: hostonly
==> homestead-7: Forwarding ports...
    homestead-7: 80 (guest) => 8000 (host) (adapter 1)
    homestead-7: 443 (guest) => 44300 (host) (adapter 1)
    homestead-7: 3306 (guest) => 33060 (host) (adapter 1)
    homestead-7: 5432 (guest) => 54320 (host) (adapter 1)
    homestead-7: 22 (guest) => 2222 (host) (adapter 1)
==> homestead-7: Running 'pre-boot' VM customizations...
==> homestead-7: Booting VM...
==> homestead-7: Waiting for machine to boot. This may take a few minutes...
    homestead-7: SSH address: 127.0.0.1:2222
    homestead-7: SSH username: vagrant
    homestead-7: SSH auth method: private key
The guest machine entered an invalid state while waiting for it
to boot. Valid states are 'starting, running'. The machine is in the
'unknown' state. Please verify everything is configured
properly and try again.

If the provider you're using has a GUI that comes with it,
it is often helpful to open that and watch the machine, since the
GUI often has more helpful error messages than Vagrant can retrieve.
For example, if you're using VirtualBox, run `vagrant up` while the
VirtualBox GUI is open.

The primary issue for this error is that the provider you're using
is not properly configured. This is very rarely a Vagrant issue.

МОЯ КОМАНДА:

homestead up
Bringing machine 'homestead-7' up with 'virtualbox' provider...
==> homestead-7: Checking if box 'laravel/homestead' is up to date...
==> homestead-7: Running provisioner: file...
Guest-specific operations were attempted on a machine that is not
ready for guest communication. This should not happen and a bug
should be reported.

Моя конфигурация:

  • Windows 10 Домашняя (RUS) / 32 bit, CPU 64bit
  • Git-2.10.2-32-bit.exe
  • VirtualBox-5.1.8-111374-Win.exe
  • vagrant_1.8.7.msi

Расположение Homestead: C:\Users\pasha.homestead

Мой Homestaed.yaml:

---
ip: "192.168.10.10"

memory: 2048

cpus: 1

provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:

    - map: E:\www\billing

    to: /home/vagrant/Code

sites:

    - map: billing

    to: /home/vagrant/Code/Billing/public

databases:
    - billingdb

Подскажите пожалуйста, в чем может быть проблема? Заранее благодарен!

denisbondar
RamirezKIV

Добрый день!
На своей рабочей станции я использую ОС Windows 7.
Для запуска ВМ использую VMware Workstation Player 12.
По данной инструкции я установил себе vagrant.
Качнул из ком-строки vagrant/laravel box и смог подцептиь его в Player (не знаю правда зачем).
Где мне искать Homestead.yaml, как из венды клонировать проект с github'а и так далее и тому подобное?
Или это надо делать только из хостовой ОС Linux?

VasyaPupkin

установил homestead. создал ключи для ssh, поместил их в папку ~/.ssh/
В Homestead.yaml пути до ключей корректные.
В браузере homestead.app сайт открывает.

Но если зайти через Putty, пишу хост vagrant@127.0.0.1 , порт 2222, тогда пишет:

Using username "vagrant".
vagrant@127.0.0.1's password:
Access denied
vagrant@127.0.0.1's password:

Почему он просит пароль если авторизация должна быть по ключу?

Microsoft Windows [Version 6.1.7601]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.


C:\Users\Unbreakable>homestead up
Bringing machine 'default' up with 'virtualbox' provider...
==> default: Importing base box 'laravel/homestead'...
←[K==> default: Matching MAC address for NAT networking...
==> default: Checking if box 'laravel/homestead' is up to date...
==> default: Setting the name of the VM: homestead
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
    default: Adapter 1: nat
    default: Adapter 2: hostonly
==> default: Forwarding ports...
    default: 80 (guest) => 8000 (host) (adapter 1)
    default: 443 (guest) => 44300 (host) (adapter 1)
    default: 3306 (guest) => 33060 (host) (adapter 1)
    default: 5432 (guest) => 54320 (host) (adapter 1)
    default: 22 (guest) => 2222 (host) (adapter 1)
==> default: Running 'pre-boot' VM customizations...
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
    default: SSH address: 127.0.0.1:2222
    default: SSH username: vagrant
    default: SSH auth method: private key
    default: Warning: Remote connection disconnect. Retrying...
    default:
    default: Vagrant insecure key detected. Vagrant will automatically replace
    default: this with a newly generated keypair for better security.
    default:
    default: Inserting generated public key within guest...
    default: Removing insecure key from the guest if it's present...
    default: Key inserted! Disconnecting and reconnecting using new SSH key...
==> default: Machine booted and ready!
==> default: Checking for guest additions in VM...
    default: The guest additions on this VM do not match the installed version o
f
    default: VirtualBox! In most cases this is fine, but in rare cases it can
    default: prevent things such as shared folders from working properly. If you
 see
    default: shared folder errors, please make sure the guest additions within t
he
    default: virtual machine match the version of VirtualBox you have installed
on
    default: your host and reload your VM.
    default:
    default: Guest Additions Version: 5.0.4
    default: VirtualBox Version: 5.1
==> default: Setting hostname...
==> default: Configuring and enabling network interfaces...
==> default: Mounting shared folders...
    default: /vagrant => C:/Users/Unbreakable/AppData/Roaming/Composer/vendor/la
ravel/homestead
    default: /home/vagrant/Code => C:/Users/Unbreakable/Code
==> default: Running provisioner: file...
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: grep: unrecognized option '---- BEGIN SSH2 PUBLIC KEY ----
==> default: Comment: "rsa-key-20161210"
==> default: AAAAB3NzaC1yc2EAAAABJQAAAgEApGtiFTeR7gu8htc13X0t1Ll1Ca5gVK6CWW2k
==> default: rodjChuNBhotZoLeENkfcRKi6yKWWvG69vtAPd32uR9UdKyZHfiAJtNUBTQCU/UL
==> default: 5nVSSkoxkocrE8G4p0rsY/hKjOv4aalFdkyieg/w8UWAj8ZRpu54Utta0pZY7BEO
==> default: C3/hUksIXxpbfNRCrvPKUNNbunO+b/5Mqe4rRzxSpwWW6FXd7B+sqP3Y/Fqs6ZDn
==> default: Dp7I79jd2hfmbzn0vP21Ha8RxMBn02N/EB4C8y4udXUV0hsoprJFcdV35J18tCmj
==> default: 3RB6mxznKSvck87R7NqYHdt8S2Kw4EJJC7UKi6kjG/OqQvuDX1Yg5z4jLzDrOnuV
==> default: usb+CM7XOXRveNEbt7Jxb6J0dzKL23V9NODyQpwgJwSDVY00iGsb3T69Sh3Dt7Xy
==> default: wJ9SpNFOol9aDLQ7h3r7OiQ5fa1Ohcfud4Rib3ogQXDQuhhHtwjIBLKIPuutBjzY
==> default: S/Un3/sf2VrzC3IIP179aO2TQ+Qj08RedpVc+WiCWhGQ5gDewnlj/ha2vv3tYlpG
==> default: dNso6oRx/e3ByUNxvzkUX9+C5bWEHOg8A+488HvZq5OkKKTQGWmfnqpRonfN3aoe
==> default: B9yn3KRdhKoA0qh0f9YZd2HKfUvRac+ihVMJ8JtmcMjp2wwjWQFiivtlsnEClEZL
==> default: DiVCnOs=
==> default: ---- END SSH2 PUBLIC KEY ----
==> default: '
==> default: Usage: grep [OPTION]... PATTERN [FILE]...
==> default: Try 'grep --help' for more information.
==> default: ---- BEGIN SSH2 PUBLIC KEY ---- Comment: "rsa-key-20161210" AAAAB3N
zaC1yc2EAAAABJQAAAgEApGtiFTeR7gu8htc13X0t1Ll1Ca5gVK6CWW2k rodjChuNBhotZoLeENkfcR
Ki6yKWWvG69vtAPd32uR9UdKyZHfiAJtNUBTQCU/UL 5nVSSkoxkocrE8G4p0rsY/hKjOv4aalFdkyie
g/w8UWAj8ZRpu54Utta0pZY7BEO C3/hUksIXxpbfNRCrvPKUNNbunO+b/5Mqe4rRzxSpwWW6FXd7B+s
qP3Y/Fqs6ZDn Dp7I79jd2hfmbzn0vP21Ha8RxMBn02N/EB4C8y4udXUV0hsoprJFcdV35J18tCmj 3R
B6mxznKSvck87R7NqYHdt8S2Kw4EJJC7UKi6kjG/OqQvuDX1Yg5z4jLzDrOnuV usb+CM7XOXRveNEbt
7Jxb6J0dzKL23V9NODyQpwgJwSDVY00iGsb3T69Sh3Dt7Xy wJ9SpNFOol9aDLQ7h3r7OiQ5fa1Ohcfu
d4Rib3ogQXDQuhhHtwjIBLKIPuutBjzY S/Un3/sf2VrzC3IIP179aO2TQ+Qj08RedpVc+WiCWhGQ5gD
ewnlj/ha2vv3tYlpG dNso6oRx/e3ByUNxvzkUX9+C5bWEHOg8A+488HvZq5OkKKTQGWmfnqpRonfN3a
oe B9yn3KRdhKoA0qh0f9YZd2HKfUvRac+ihVMJ8JtmcMjp2wwjWQFiivtlsnEClEZL DiVCnOs= ---
- END SSH2 PUBLIC KEY ----
==> default: Running provisioner: shell...
    default: Running: inline script
==> default: Running provisioner: shell...
    default: Running: C:/Users/UNBREA~1/AppData/Local/Temp/vagrant-shell20161214
-3956-99x66m.sh
==> default: Running provisioner: shell...
    default: Running: C:/Users/UNBREA~1/AppData/Local/Temp/vagrant-shell20161214
-3956-93ylub.sh
==> default: nginx stop/waiting
==> default: nginx start/running, process 1896
==> default: php5-fpm stop/waiting
==> default: php5-fpm start/running, process 1911
==> default: Running provisioner: shell...
    default: Running: C:/Users/UNBREA~1/AppData/Local/Temp/vagrant-shell20161214
-3956-16qeeog.sh
==> default: mysql:
==> default: [Warning] Using a password on the command line interface can be ins
ecure.
==> default: Please use --connect-expired-password option or invoke mysql in int
eractive mode.
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.

C:\Users\Unbreakable>
VasyaPupkin

напишите что подключение к homestead с помощью ssh, проходит по хосту vagrant@127.0.0.1 и паролю vagrant.

А то я запарился мозговать, почему консоли не пускает без пароля, хотя авторизация должна быть по ключу.

toxi

Для новичка в освоении будет сложно разобраться в этих всех командах.

1. Почему огромный образ скачивается в каталог C:\Users\User1\.vagrant.d?
Нет инструкции о том, как этот огромный образ скачать на другой диск, например на D, где огромное количество свободного места и не забивать системный диск. Да, я мог бы додуматься и вручную сменить каталог и скачать в него образ, но так как я первый раз ставлю laravel на компьютер, то я просто тупо копирую команды и вставляю в консоль. Может быть подкорректируете статью по установке? :)

2. Почему бы не сделать просто образ настроенной виртуалки и его потом скачать на компьютер и открыть в VirtualBox либо VMWare, где будет уже все настроено как нужно, без установки лишего «мусора» в хост-систему?

3. Ставил другой фреймворк на компьютер, то там есть возможность просто скачать архив с фреймворком и раскаповать архив в нужный веб-каталог и потом работать через консоль находясь в каталоге с фреймворком, без лишнего мусора в системе, без лишних системных зависимостей. Если нужно, взял, запаковал всю папку с фреймворком, перенес на другой компьютер либо на другой сервер, распаковал архив в нужную папку, импортировал таблицы в базу и открыл сайт в браузере и все работает без проблем. Но так как другой фреймворк первый раз показался мне сложный, то я решил выбрать Lavarel, так как по описанию он мне намного ближе. Я все свои проекты пишу с нуля на чистом PHP, а теперь хочу попробовать свои силы в работе с фреймворками, для ускорения разработки однотипных приложений, типа анкеты, формы регистрации, блога, системы уровней доступа и подобное.

Faltfromoss

Глобальный доступ к Homestead Иногда вам может понадобиться выполнить vagrant up вашей Homestead-машины из любого места вашей файловой системы Это можно сделать, добавив простую Bash-функцию в профиль вашего Bash. Эта функция позволит вам выполнять любые команды Vagrant из любого места вашей системы, и автоматически укажет команде на ваш установленный Homestead:

function homestead() {
  ( cd ~/Homestead && vagrant $* )
}

Не забудьте исправить путь ~/Homestead в функции на реальное расположение вашего установленного Homestead. Когда функция установлена, вы можете выполнять такие команды, как homestead up и homestead ssh из любого места вашей системы."

Подскажите кто-нибудь - где в Windows 10 искать профиль Bash и куда добавлять эту функцию? С Линуксом и с башем знаком очень поверхностно и вообще понять не могу как его настроить. Да и гугл не сильно то помагает :/

nitsik

Для Git Bash Here для использования из любого места прописываем

PHP
function homestead() {
  ( 
cd C:/Users/Roman/Homestead && vagrant $* )
}

в файл .bashrc в папке пользователя (т. е. C:\Users\Roman\ например)
После этого

PHP
vagrant reload –provision

И не забываем, что «Этот процесс деструктивен. При запуске команды provision, ваша существующая БД будет уничтожена и создана заново.»

foxett

Зачем себя под windows так мучать? Напишите bat файл для запуска и не мучайтесь. Если вы не хотите разбираться со всем этим то просто упростите процесс.

Mitai

ОС LMDE 3, при установке следовал инструкции с сайта https://laravel.ru/docs/v5/homestead, перед этим установил VirtualBox и Vagrant, суть проблемы в следующем когда дело доходит до установки
vagrant box add laravel/homestead, устанавливается версия с которой идет только один провайдер это VMWare, как мне установить версию коробки ниже, в которой был провайдер виртуалбокса?

Mitai

не могли бы не много дополнить статью, так как теперь там ставится только коробка с VMWare провайдер

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

Разметка: ? ?

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