{{TOC}} {{DOCVER 4.2=d7b13440c003218ed79e9d508706eca01990122f 4.12.2014 5:01:15}} == Введение == Laravel стремится преобразить процесс разработки PHP, это относится и к локальной среде разработки. ((http://vagrantup.com Vagrant)) обеспечивает простой, элегантный способ настройки управления виртуальными машинами. Laravel Homestead - официальная подготовленная Vagrant-"коробка", которая предоставляет вам замечательную среду проектирования без обязательной установки PHP, HHVM, веб-сервера и любого другого программного серверного обеспечения на вашем компьютере. Можно больше не беспокоиться о том, что ваша операционная система засоряется! Vagrant-коробки очень удобны. Если что-то пошло не так, вы можете уничтожить и пересоздать коробку в считанные минуты! Homestead запускается на любой ОС Windows, Mac или Linux, и включает веб-сервер Nginx, PHP 5.6, MySQL, Postgres, Redis, Memcached и все другие полезные штуки, которые вам понадобятся для разработки удивительных Laravel-приложений. .(alert) Если вы используете 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 * ((/docs/v4/ssh#envoy Laravel Envoy)) * Fabric + HipChat расширение == Установка и настройка == === Установка VirtualBox и Vagrant === Прежде чем запустить Homestead-среду, вы должны установить ((https://www.virtualbox.org/wiki/Downloads VirtualBox)) и ((http://www.vagrantup.com/downloads.html Vagrant)). Эти программные пакеты предоставляют простые в использовании визуальные инсталляторы для всех популярных операционных систем. === Добавление Vagrant-коробки === Как только VirtualBox и Vagrant будут установлены, вы должны добавить коробку %%(t)laravel/homestead%% в установленный пакет Vagrant, используя следующую команду в вашем терминале: %%(sh) vagrant box add laravel/homestead %% Потребуется несколько минут, чтобы загрузить коробку. Все зависит от вашей скорости подключения к Интернету. === Установка Homestead === ==== С помощью Composer + PHP Tool ==== Как только коробка будет добавлена к пакету Vagrant, можно устанавливать консоль Homestead, используя команду Composer %%(sh)global%%: %%(sh) composer global require "laravel/homestead=~2.0" %% Не забудьте поместить директорию %%(t)~/.composer/vendor/bin%% в переменную %%(t)PATH%%, чтобы был найден исполняемыйй файл %%(t)homestead%% при запуске команды %%(sh)homestead%% в терминале. После установки консоли Homestead выполните команду %%(sh)init%%, чтобы создать конфигурационный файл %%(t)Homestead.yaml%%: %%(sh) homestead init %% Файл %%(t)Homestead.yaml%% будет помещён в директорию %%(t)~/.homestead%%. Если вы используете систему Mac или Linux, вы можете отредактировать файл %%(t)Homestead.yaml%%, выполнив команду %%(sh)homestead edit%% в терминале: %%(sh) homestead edit %% ==== Ручная установка с помощью Git (без локального PHP) ==== Если вы не хотите устанавливать PHP на своей локальной машине, вы можете установить Homestead вручную, просто клонировав репозиторий. Клонируйте репозиторий в центральный каталог %%(е)Homestead%%, где вы храните все свои проекты Laravel, так, чтобы коробка Homestead стала хостом всех ваших Laravel (и PHP) проектов: %%(sh) git clone https://github.com/laravel/homestead.git Homestead %% После установки консоли Homestead выполните команду %%(sh)bash init.sh%%, чтобы создать конфигурационный файл %%(t)Homestead.yaml%%: %%(sh) bash init.sh %% Файл %%(t)Homestead.yaml%% будет помещён в директорию %%(t)~/.homestead%%. === Настройка ключа SSH === Затем отредактируйте файл %%(t)Homestead.yaml%%. В этом файле вы можете настроить путь к своему паблик-ключу SSH, а также настроить папки, которые вы хотите расшарить между вашей основной машиной и виртуальной машиной Homestead. У вас нет SSH-ключа? На Mac и Linux вы можете создать пару SSH-ключей, используя следующую команду: %%(sh) ssh-keygen -t rsa -C "you@homestead" %% На Windows вы можете установить ((http://git-scm .com/ Git)) и использовать %%(sh)Git Bash%%, встроенную в оболочку Git, чтобы выполнить команду, указанную выше. Также вы можете использовать ((http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTY)) и ((http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html PuTTYgen)). Как только вы создали SSH-ключ, задайте путь к ключу в параметре %%(t)authorize%% в вашем файле %%(t)Homestead.yaml%%. === Настройка общих папок === Параметр %%(t)Folders%% в файле %%(t)Homestead.yaml%% перечисляет все папки, которые вы хотите расшарить для вашей среды Homestead. Поскольку файлы в этих папках будут меняться, они будут синхронизироваться с вашей локальной машиной и средой Homestead. Вы можете настроить столько папок, сколько вам необходимо! === Настройка сайтов Nginx === Не знакомы с Nginx? Нет проблем. Параметр %%(t)sites%% позволяет легко связать "домен" с папкой в среде Homestead. Типовая конфигурация сайта включена в файл %%(t)Homestead.yaml%%. И снова вы можете добавить столько сайтов к своей среде Homestead, сколько необходимо. Homestead может служить удобной виртуальной средой для каждого проекта Laravel, над которым вы работаете! Вы можете настроить использование ((http://hhvm.com HHVM)) для любого сайта Homestead, установив параметр %%(t)hhvm%% в значение %%(t)true%%: %%(conf) sites: - map: homestead.app to: /home/vagrant/Code/Laravel/public hhvm: true %% === Bash Aliases === Чтобы добавить Bash aliases к вашей коробке Homestead, просто добавьте их в файл %%(t)aliases%% в корне директории %%(t)~/.homestead%%. === Запуск Vagrant Box === Как только вы отредактировали %%(t)Homestead.yaml%%, выполните команду %%(sh)homestead up%% в вашем терминале. Если вы установили Homestead вручную и не используете инструмент PHP %%(t)homestead%%, выполните команду %%(sh)vagrant up%% из директории, которая содержит ваш клонированный репозиторий Homestead Git. Vagrant будет загружать виртуальную машину и формировать ваши общие папки и сайты Nginx автоматически! Чтобы уничтожить машину, вы можете использовать команду %%(sh)homestead destroy%%. Для просмотра полного списка доступных команд Homestead выполните %%(sh)homestead list%%. Не забывайте добавлять "домены" для своих сайтов Nginx в файл %%(t)hosts%% на вашей машине! Файл %%(t)hosts%% перенаправит ваши запросы к локальным доменам в вашу среду Homestead. На Mac и Linux этот файл расположен в %%(t)/etc/hosts%%. На Windows он расположен в %%(t)C:\Windows\System32\drivers\etc\hosts%%. Строки, которые вы добавляете в этот файл, будут выглядеть примерно так: %%(conf) 192.168.10.10 homestead.app %% Удостоверьтесь, что IP-адрес тот же, что вы установили в своём файле %%(t)Homestead.yaml%%. Как только вы добавили домен в свой файл %%(t)hosts%%, вы можете получить доступ к сайту через свой веб-браузер! %%(t) http://homestead.app %% Чтобы узнать, как подключиться к своей базе данных, читайте дальше! == Повседневное использование == === Подключение через SSH === Чтобы подключиться к среде Homestead через SSH, выполните команду %%(sh)homestead ssh%%. === Подключение к базам данных === База %%(t)homestead%% сразу настроена на использование и MySQL, и Postgres. Для ещё большего удобства конфигурация БД Laravel %%(t)local%% будет использовать эту базу данных по умолчанию. Чтобы подключиться к вашей базе данных MySQL или Postgres с вашей главной машины через Navicat или Sequel Pro, вы должны подключиться к %%(t)127.0.0.1%% через порт 33060 (MySQL) или 54320 (Postgres). Имя пользователя и пароль для обеих баз данных - %%(t)homestead / secret%%. .(alert) Вы должны использовать только эти нестандартные порты, подключаясь к базам данных с вашей главной машины. Порты 3306 и 5432 вы будете использовать в вашем конфигурационном файле базы данных Laravel, так как Laravel запущен на виртуальной машине. === Добавление дополнительных сайтов === После настройки и запуска вашей среды Homestead вы можете захотеть добавить дополнительные сайты Nginx для своих Laravel-приложений. Вы можете запустить в одной среде Homestead столько установок Laravel, сколько захотите. Есть два способа сделать это. Вы можете просто добавить сайты в свой файл %%(t)Homestead.yaml%% и затем выполнить %%(sh)vagrant provision%%. А ещё вы можете использовать скрипт %%(t)serve%%, который доступен в среде Homestead. Чтобы использовать скрипт %%(t)serve%%, подключитесь по SSH к вашей среде Homestead и запустите следующую команду: %%(sh) serve domain.app /home/vagrant/Code/path/to/public/directory %% .(alert) После выполнения команды %%(t)serve%%, не забывайте добавить новый сайт в файл %%(t)hosts%% на вашей главной машине! == Порты == Следующие порты переадресованы в вашу среду Homestead: * **SSH:** 2222 -> переадресован в 22 * **HTTP:** 8000 -> переадресован в 80 * **MySQL:** 33060 -> переадресован в 3306 * **Postgres:** 54320 -> переадресован в 5432