Версия фреймворка: 5.4 4.2 4.1

Laravel Homestead

Введение

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

Laravel Homestead является официальным пред-упакованным "боксом" (box) для Vagrant'а, и предоставляет замечательную среду разработки, не требуя от Вас устанавливать PHP, веб-сервер и какое-бы то ни было дополнительное серверное ПО на Вашей локальной машине. Больше не стоит беспокоиться о захламлении вашей операционной системы! Боксы Vagrant'а являются полностью одноразовыми. Если что-то пойдет не так, Вы сможете уничтожить и пересоздать бокс за считанные минуты!

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

Текущая версия Homestead сделана и протестирована для использования под Vagrant 1.6.

Включенное Программное Обеспечение (ПО)

  • Ubuntu 14.04
  • PHP 5.5
  • Nginx
  • MySQL
  • Postgres
  • Node (включая Bower, Grunt и Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Laravel Envoy
  • Fabric + HipChat Extension

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

Установка VirtualBox и Vagrant

Перед запуском среды Homestead, Вы должны установить VirtualBox и Vagrant. Оба этих программных продукта имеют легкие в использовании установщики для всех популярных операционных систем.

Добавление бокса в Vagrant

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

vagrant box add laravel/homestead

Склонируйте Репозиторий Homestead

Как только бокс будет добавлен в Vagrant, Вам следует склонировать или скачать этот репозиторий. Склонировать репозиторий рекомендуется в некоторую центральную директорию Homestead, в которой вы будете хранить все ваши проекты на Laravel, так как Homestead будет выполнять роль управляющего всеми вашими проектами на Laravel (и PHP).

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

Настройте Пути к Вашим SSH ключам

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

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

ssh-keygen -t rsa -C "your@email.com"

Под Windows вы можете установить Git и воспользоваться командной строкой Git Bash, поставляемой с Git, для выполнения этой команды. В качестве альтернативы, Вы можете использовать PuTTY или PuTTYgen.

Как только ключ будет создан, укажите путь к нему в свойстве authorize файла Homestead.yaml.

Настройте Общедоступные Папки

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

Настройте Nginx Под Ваши Сайты

Еще не знакомы с Nginx? Никаких проблем. Свойство sites позволяет легко связать "домен" и произвольную папку в среде Homestead. В файле Homestead.yaml имеется пример настрйки одного сервера. Опять же, вы можете добавить столько сайтов, сколько Вам нужно. Homestead может служить удобной виртуальной средой для любого вашего проекта на Laravel!

Алиасы (Aliases) Bash

Чтобы добавить произвольный алиас в Homestead, просто добавьте его в файл aliases в корне Homestead.

Запуск Vagrant Бокса

Как только Вы отредактировали файл Homestead.yaml по вашему вкусу, выполните команду vagrant up из командной строки, находясь в директории Homestead. Vagrant запустит виртуальную машину и настроит все ваши совместно используемые папки и сайты автоматически!

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

127.0.0.1  homestead.app

После того, как вы добавите домен в файл hosts, Вы получите доступ к сайту из вашего броузера по порту 8000!

http://homestead.app:8000

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

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

Соединение По SSH

Чтобы подсоединиться к Вашей среде Homestead по SSH, следует подключиться к 127.0.0.1 по 2222 порту, используя SSH-ключ, указанный в файле Homestead.yaml. Вы также можете просто выполнить команду vagrant ssh, находясь в директории Homestead.

Если Вам нужно еще большее удобство, может быть полезнымм добавить следующий алиас в файл ~/.bash_aliases или ~/.bash_profile:

alias vm='ssh vagrant@127.0.0.1 -p 2222'

Устанока Связи с Базами Данных

База данных homestead "из коробки" настроена на использование как MySQL, так и Postgres. Для даже большего удобства, по умолчанию конфигурация базы данных local настроена на использование этой базы данных.

Для соединения с Вашей базой данных MySQL или Postgres из вашей основной системы посредством Navicat или Sequel Pro, следует устанавливать соединение с 127.0.0.1 по порту 33060 (MySQL) или 54320 (Postgres). Имя пользователя и пароль для базы данных соответственно homestead и secret.

Замечание: Эти нестандартные порты следует использовать только когда вы устанавливаете соединение из своей основной системы. В файлах конфигурации Laravel'а следует использовать порты по умолчанию 3306 и 5432, так как Laravel запускается внутри Виртуальной Машины.

Создание Дополнительных Сайтов

После того, как среда Homestead будет снабжена необходимым программным обеспеччением и запущена, Вам возможно потребуется добавить дополнительные сайты для ваших Laravel-приложений. В одной среде Homestead может выполяться сколько угодно копий Laravel. Для этого есть два способа. Во-первых, вы можете просто добавить сайты в файл Homestead.yaml, после чего выполнить vagrant destroy и снова vagrant up.

Или же Вы можете воспользоваться скриптом serve, доступным в среде Homestead. Для того, чтобы им воспользоваться, войдите по SSH в среду Homestead и выполните следующую команду:

serve domain.app /home/vagrant/Code/путь/к/директории/public
Замечание: После запуска команды serve не забудьте добавить новый домеен в файл hosts в вашей основной системе.

Порты

Следующие порты будут перенаправлены в среду Homestead:

  • SSH: 2222 -> Перенаправление на порт 22
  • HTTP: 8000 -> Перенаправление на порт 80
  • MySQL: 33060 -> Перенаправление на порт 3306
  • Postgres: 54320 -> Перенаправление на порт 5432