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

Homestead

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

  1. 1. Введение
  2. 2. Включённое ПО
  3. 3. Установка и настройка
    1. 3.1. Установка VirtualBox и Vagrant
    2. 3.2. Добавление Vagrant-коробки
    3. 3.3. Установка Homestead
      1. 3.3.1. С помощью Composer + PHP Tool
      2. 3.3.2. Ручная установка с помощью Git (без локального PHP)
    4. 3.4. Настройка ключа SSH
    5. 3.5. Настройка общих папок
    6. 3.6. Настройка сайтов Nginx
    7. 3.7. Bash Aliases
    8. 3.8. Запуск Vagrant Box
  4. 4. Повседневное использование
    1. 4.1. Подключение через SSH
    2. 4.2. Подключение к базам данных
    3. 4.3. Добавление дополнительных сайтов
  5. 5. Порты
Этот перевод актуален для англоязычной документации на (ветка 4.2). Опечатка? Выдели и нажми Ctrl+Enter.

Введение

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

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

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

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

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

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

  • Ubuntu 14.04
  • PHP 5.6
  • HHVM
  • Nginx
  • MySQL
  • Postgres
  • Node (с Bower, Grunt, и Gulp)
  • Redis
  • Memcached
  • Beanstalkd
  • Laravel Envoy
  • Fabric + HipChat расширение

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

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

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

Добавление Vagrant-коробки

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

shvagrant box add laravel/homestead

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

Установка Homestead

С помощью Composer + PHP Tool

Как только коробка будет добавлена к пакету Vagrant, можно устанавливать консоль Homestead, используя команду Composer shglobal:

shcomposer global require "laravel/homestead=~2.0"

Не забудьте поместить директорию ~/.composer/vendor/bin в переменную PATH, чтобы был найден исполняемыйй файл homestead при запуске команды shhomestead в терминале.

После установки консоли Homestead выполните команду shinit, чтобы создать конфигурационный файл Homestead.yaml:

shhomestead init

Файл Homestead.yaml будет помещён в директорию ~/.homestead. Если вы используете систему Mac или Linux, вы можете отредактировать файл Homestead.yaml, выполнив команду shhomestead edit в терминале:

shhomestead edit

Ручная установка с помощью Git (без локального PHP)

Если вы не хотите устанавливать PHP на своей локальной машине, вы можете установить Homestead вручную, просто клонировав репозиторий. Клонируйте репозиторий в центральный каталог Homestead, где вы храните все свои проекты Laravel, так, чтобы коробка Homestead стала хостом всех ваших Laravel (и PHP) проектов:

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

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

shbash init.sh

Файл Homestead.yaml будет помещён в директорию ~/.homestead.

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

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

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

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

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

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

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

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

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

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

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

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

Bash Aliases

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

Запуск Vagrant Box

Как только вы отредактировали Homestead.yaml, выполните команду shhomestead up в вашем терминале. Если вы установили Homestead вручную и не используете инструмент PHP homestead, выполните команду shvagrant up из директории, которая содержит ваш клонированный репозиторий Homestead Git.

Vagrant будет загружать виртуальную машину и формировать ваши общие папки и сайты Nginx автоматически! Чтобы уничтожить машину, вы можете использовать команду shhomestead destroy. Для просмотра полного списка доступных команд Homestead выполните shhomestead list.

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

conf192.168.10.10  homestead.app

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

http://homestead.app

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

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

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

Чтобы подключиться к среде Homestead через SSH, выполните команду shhomestead ssh.

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

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

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

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

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

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

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

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

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

Порты

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

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

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

Afatar

Как-то сложно. Легче VirualBox + Debian. Из консоли apt-get-ом ставим пакеты.

Dmitry_K

Через Git Bash все запускается и работает, а через cmd выводит ошибку, о том, что не может найти ключ и предлагает его создать.
Вот почему так, кто-нибудь знает?

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

Разметка: ? ?

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