Меню Рубрики

Установка homestead на mac

Laravel Framework Russian Community

Пролог

Начало работы

Основы архитектуры

Основы

Фронтенд

Безопасность

Копаем глубже

База данных

Eloquent ORM

Тестирование

Официальные пакеты

Laravel Homestead

Введение

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
  • PHP 7.1
  • Nginx
  • MySQL
  • MariaDB
  • Sqlite3
  • Postgres
  • Composer
  • Node (с Yarn, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Mailhog
  • ngrok

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

Первые шаги

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

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

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

Установка Homestead Vagrant Box

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

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

Установка Homestead

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

Вы должны проверить меченную версию Homestead, так как ветка master не всегда может быть стабильна. Самую свежую стабильную версию можно найти на странице релиза в GitHub:

После клонирования репозитория Homestead выполните в этой директории команду bash init.sh , чтобы создать конфиг Homestead.yaml . Файл Homestead.yaml будет помещен в директорию Homestead:

Настройка Homestead

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

Параметр provider в вашем файле Homestead.yaml указывает на то, какой Vagrant-провайдер следует использовать: virtualbox , vmware_fusion , vmware_workstation или parallels . Вы можете задать тот, который предпочитаете:

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

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

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

При использовании NFS вам следует рассмотреть возможность установки плагина vagrant-bindfs. Этот плагин будет поддерживать верные права пользователя / группы относительно файлов / директорий для файлов и директорий в боксе Homestead.

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

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

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

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

Файл Hosts

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

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

Запуск Vagrant Box

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

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

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

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

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

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

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

Установка MariaDB

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

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

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

Иногда вам может понадобиться выполнить vagrant up yвашей Homestead-машины из любого места вашей файловой системы. На системах Mac / Linux это можно сделать добавив Bash-функцию в ваш Bash-профиль. На Windows можно добавить «пакетный» файл к своему PATH . Эти скрипты позволят вам выполнять любые команды Vagrant из любого места вашей системы, и автоматически укажет команде на ваш установленный Homestead:

Mac / Linux

Не забудьте исправить путь

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

Windows

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

Не забудьте исправить путь C:\Homestead в скрипте на реальное расположение вашего установленного Homestead.. После того как вы создали файл, добавьте местоположение своего файла в свой PATH . Вы можете выполнять такие команды, как homestead up или homestead ssh из любого места своей системы.

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

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

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

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

База 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.yaml :

Читайте также:  Установка китайского геймпада ps3

Если Vagrant не управляет вашим файлом «hosts» автоматически, вам может потребоваться также добавить к тому файлу новый сайт:

После добавления сайта выполните команду vagrant reload —provision из своей директории Homestead.

Типы сайтов

Homestead поддерживает несколько типов файлов, что позволяет вам запросто работать с проектами, которые не работаю на Laravel. Например, мы можем запросто добавить Symfony-приложение в Homestead, используя тип сайта symfony2 :

Доступные типы сайтов: apache , laravel (по умолчанию), proxy , silverstripe , statamic , symfony2 и symfony4 .

Параметры сайтов

Вы можете добавить дополнительные Nginx-значения fastcgi_param вашему сайте через директиву params . Например, мы добавим параметр FOO со значением BAR :

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

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

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

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

Порты

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

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

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

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

Совместное использование вашей среды

Иногда вам может потребоваться поделиться тем, над чем вы работаете в данный момент, с другими разработчиками или клиентом. В Vagrant есть встроенный способ поддержки данного функционала через vagrant share ; однако, это не будет работать, если в вашем файле Homestead.yaml настроено несколько сайтов.

Чтобы решить это проблему у Homestead есть собственная команда share . Для начала подключитесь к своей Homested-машине через vagrant ssh и выполните share homestead.app . Это позволит поделиться сайтом homestead.app из вашего конфига Homestead.yaml . Конечно же, вы можете заменить любой из других своих настроенных сайтов на homestead.app :

После запуска команды вы увидите, как появится экран Ngrok, на котором содержится журнал активности и общедоступные URL для сайта, которым вы поделились. Если вы хотите указать пользовательскую область, поддомен или другую настройку Ngrok, можно добавить их к своей команде share :

Помните, что Vagrant от природы небезопасен и вы выставляете свою виртуальную машину всему Интернет-пространству во время запуска команды share .

Несколько версий PHP

Homestead 6 представил поддержку нескольких версий PHP на одной и той же виртуальной машине. Вы можете указать какие версии PHP использовать для заданного сайта в своем файле Homestead.yaml . Доступные версии PHP: «5.6», «7.0» и «7.1»:

Дополнительно вы можете пользоваться любой из поддерживаемых версий PHP через CLI:

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

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

Чтобы включить интерфейс с мостовым соединением, измените настройку bridge и измените тип сети на public_network :

Чтобы включить DHCP, просто уберите опцию ip из своей настройки:

Обновление Homestead

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

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

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

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

Если вам нужна более старая версия PHP, посмотрите документацию по нескольким PHP-версиям прежде чем начнете использовать старую версию Homestead.

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

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

источник

Homestead

Введение

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, используя следующую команду в вашем терминале. Скачивание коробки может занять несколько минут:

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

Установка Homestead

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

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

Настройка Homestead

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

Параметр provider в файле

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

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

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

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

Читайте также:  Установка времени ам или рм

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

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

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

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

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

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

Удостоверьтесь, что IP-адрес тот же, что вы установили в своём файле

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

Запуск Vagrant Box

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

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

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

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

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

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

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

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

Установка MariaDB

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

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

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

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

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

Не забудьте исправить путь

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

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

Не забудьте исправить путь

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

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

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

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

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

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

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

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

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

Для подключения к своей виртуальной машине по SSH вы можете использовать команду sh vagrant 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 и затем выполнить sh vagrant reload —provision (для версии 5.2 и ранее sh vagrant provision )) из папки Homestead .

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

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

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

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

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

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

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

Порты

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

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

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

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

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

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

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

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

Читайте также:  Установка закладной детали для опоры освещения

Обновление Homestead

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

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

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

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

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

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

Профайлер Blackfire

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

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

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

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

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

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

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

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

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

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

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

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.

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

  • 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

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

Павел, может быть Вам поможет это решение

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

установил homestead. создал ключи для ssh, поместил их в папку

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

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

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

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

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

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

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

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

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

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

Не забудьте исправить путь

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

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

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

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

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

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

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

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

источник

Добавить комментарий