Этот быстрый совет поможет вам начать работу с новой Homestead Improved Vagrant VM.
- чтобы узнать о Vagrant и почему вы должны его использовать, смотрите этот пост .
- Homestead Improved основан на Homestead , но имеет дополнительное преимущество, заключающееся в том, что он не заставляет вас иметь дело с SSH-ключами, не устанавливается глобально, более кроссплатформенен и имеет вспомогательный скрипт для автоматической настройки общих папок.
- Я рекомендую создавать новую VM для Homestead Improved VM для каждого нового проекта, и этот урок будет следовать такой практике.
Предпосылки
Тебе нужно:
- Virtualbox
- бродяга
- Git Tools, если на Windows, Git иначе ( скачать )
В этом руководстве предполагается, что вы будете использовать терминал, похожий на bash; Git Bash, если на Windows (поставляется с Git Tools).
Начиная
Следующие 3 команды — это все, что необходимо для запуска нового экземпляра Homestead Improved VM в любой операционной системе (очевидно, замените my_project
git clone https://github.com/swader/homestead_improved my_project
cd my_project; mkdir -p Project/public
bin/folderfix.sh # this is optional!
Первые два клонируют проект и входят во вновь созданную папку.
Третий исполняет скрипт folderfix
Code
Это означает, что вы можете редактировать файлы внутри папки проекта ( my_project
Это позволяет использовать текстовый редактор / IDE основного компьютера для редактирования файлов проекта внутри виртуальной машины. Вы также можете сделать это вручную, отредактировав поле папок в Homestead.yaml
.
Добавить новые сайты
Существует два шага для добавления каждого нового сайта в виртуальную машину Homestead.
Шаг 1: Настройте etc/hosts
etc/hosts
В Windows он находится в C:/Windows/System32/drivers/etc/
/etc/hosts
Отредактируйте его как администратор (один из простых способов сделать это — запустить текстовый редактор, например Sublime Text as Administrator) и добавить такую запись для каждого приложения, которое вы собираетесь разрабатывать:
192.168.10.10 homestead.app
Замените homestead.app
Например, у меня есть это в моем собственном файле hosts
192.168.10.10 homestead.app
192.168.10.10 test1.app
192.168.10.10 test2.app
192.168.10.10 test3.app
Это означает, что я могу получить доступ к каждому из этих доменов в браузере через http://homestead.app
http://test1.app
Шаг 2:
Для каждого домена, определенного на предыдущем шаге, необходимо добавить сопоставление sites
Откройте файл Homestead.yaml
По умолчанию это:
sites:
- map: homestead.app
to: /home/vagrant/Code/Project/public
Это означает, что http://homestead.app
etc/hosts
index.php
/home/vagrant/Code/Project/public
Вы также можете добавить этот файл, находясь вне виртуальной машины, просто создав папку Project/public
index.php
Вы добавляете новые сайты, добавляя новую карту / в пары (столько, сколько хотите):
sites:
- map: homestead.app
to: /home/vagrant/Code/Project/public
- map: test.app
to: /home/vagrant/Code/test
Загрузка и SSHing
После добавления всех сайтов загрузите ВМ с помощью:
vagrant up
Войдите в виртуальную машину с помощью:
vagrant ssh
Оказавшись внутри, вы можете использовать виртуальную машину, как если бы она была обычным сервером Linux производства или разработки.
Порты и Черный огонь
Усадьба поставляется с предустановленным Blackfire. Это очень мощный профилировщик для приложений PHP, который детально анализирует код и рисует графики сложности, которые помогают ускорить ваши приложения. Если у вас есть учетная запись, раскомментируйте линии черного огня в Homestead.yaml
Если вы хотите открыть дополнительные порты, такие как, например, порт 5000 для Heroku, раскомментируйте часть портов Homestead.yaml
ports:
- send: 5000
to: 5000
Доступ к базе данных
Homestead поставляется с предустановленной MySQL. Его пользователь является homestead
secret
Чтобы подключиться к нему из внешней операционной системы (в Homestead не установлен PhpMyAdmin), используйте такой инструмент, как Sequel Pro или MySQL Workbench, и укажите следующие параметры:
- сервер / порт: 192.168.10.10 / 3306 или 127.0.0.1 / 33060
- пользователь: усадьба
- пройти: секрет
База данных по homestead
Вывод
Теперь вы сможете быстро настроить новый экземпляр виртуальной машины для каждого нового приложения, которое вы намереваетесь создать. Это позволит вам легко следовать всем нашим учебникам. Пожалуйста, дайте мне знать в комментариях ниже, если какой-либо из вышеперечисленных шагов неясен или может / должен быть упрощен.
Общие проблемы
Не указан входной файл
Это означает, что сервер в виртуальной машине не может найти файл index.php
sites
Homestead.yaml
Часто это происходит потому, что вы добавили новый сайт, когда виртуальная машина уже была подготовлена. Чтобы это исправить, выйдите из виртуальной машины, если вы внутри нее, и запустите vagrant provision
Если это не помогает, это означает, что у вас неправильное сопоставление в блоке sites
В качестве альтернативы, если вы работаете с приложением Symfony2, Symfony2 по умолчанию использует web
public
index.php
Вот почему Nginx не может найти файл внутри виртуальной машины. Чтобы автоматически обойти эту проблему, в Homestead.yaml
sites
type
sites:
- map: homestead.app
to: /home/vagrant/Code/Project/public
type: symfony
Это будет автоматически использовать другой сценарий обслуживания .