Homestead — Vagrant (Homestead) как добавить сайт в корень


Содержание

Проект Laravel не открывается в браузере с помощью Homestead

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

Я новичок как в Хомстеде, так и в Ларавеле. Это моя конфигурация и подробности об установке ниже:

  • Усадьба 7 установлена
  • Vagrant 2.0.3 установлен
  • Композитор 1.6.4 установлен
  • Oracle VM VirtualBox 5.2.8 установлен
  • установлен git bash 2.16.1.windows.4
  • Windows 10 O / S — моя основная база O / S

В VirtualBox Manager я получил эти данные => Имя: homestead-7, O / S: Ubuntu (64-битная), Базовая память: 2048 МБ, Порядок загрузки: жесткий диск, Оптический, Ускорение: VT-x / AMD-V, Вложенный пейджинг, PAE / NX, паравиртуализация KVM ….. и так далее

В c:/Laravel_P папку, которую я установил Laravel, используя Composer в Git Bash:

После того, как о команде, я получил 26,3 МБ папку для тестирования в Laravel_P папка, в которой прошла успешная установка Laravel.

Затем я вернусь из папки в мой корень cd и перейдите в папку Homestead cd Homestead , После того, как я вхожу в папку Homestead, я запускаю команду:

Это запускает мой Homestead Vagrant успешно (я проверил в VB), и при обработке этой команды не было отображено никакой ошибки.

Я изменяю свой файл homestead.yaml на этот как мои системные места размещения.

Также изменил мой хост-файл и сохранил изменения:

Затем я запускаю другую команду:

Я пробовал также vagrant reload —provision командовать также

Теперь, когда я попытался получить доступ к своему проекту Laravel из

Я получил ошибку:

Этот сайт не может быть достигнут
IP-адрес сервера homestead.wetest не найден.

Насколько я знаю, я пробовал каждый шаг, который можно найти в Интернете и документации в Laravel, но почему я не получаю желаемый результат? Пожалуйста, кто-нибудь, помогите мне в этом.

Как настроить сервер Laravel Homestead для запуска локально, не находясь в сети/Интернете?

Раньше я вручную настраивал свою виртуальную машину на VirtualBox и настраивал ее, чтобы она также работала, когда я кодирую в автономном режиме (без Интернета/не подключен к маршрутизатору). Я сделал это, используя настройки в графическом интерфейсе VirtualBox, а также в Apache на виртуальной машине.

Теперь я заинтересован в изучении nginx, и я решил попробовать использовать Laravel Homestead. Учебники, на которые я смотрю, по-видимому, имеют предположение, что я буду получать доступ к виртуальной машине Homestead по сети (хотя, конечно, это на том же ПК). Что мне нужно сделать, чтобы виртуальная машина была доступна, когда я в автономном режиме (например, когда я кодирую на самолете или поезде)? Я бы хотел иметь доступ к Интернету с виртуальной машины каждый раз, когда я вернусь к WiFi (т.е. Для apt-get и т.д.).

(примечание: мой хост-компьютер работает под управлением Windows 7 64-бит)

vagrant nginx laravel offline homestead

2 ответа

0 Решение Tommy Lee [2015-03-03 05:33:00]

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

В scripts/homestead.rb вас будет строка с IP-адресом виртуальной машины.

Добавьте этот IP-адрес в свой файл hosts . Обычно это находится в C:\Windows\System32\drivers\etc\hosts

  1. Загрузите и установите новые копии Vagrant и Virtualbox.

в папку моих загрузок C:\Downloads\homestead-0-2-2.box

После установки Virtualbox и Vagrant. Установленный laravel/homestead, выполнив следующую команду в git bash (вы можете скачать git bash здесь: http://git-scm.com/downloads).

бродячий бокс добавить laravel/homestead/c/downloads/homestead-0-2-2.box

Запустите эту команду внутри C:\users\yourusername

NB: Это создаст эту папку: C:\Users\yourusername\Homestead

С некоторыми файлами.

Все еще в Git bash, cd в C:\Users\yourusername\Homestead и запустите эту команду:

NB: это создаст папку C:\Users\yourusername\.homestead которая содержит Homestead.yaml и некоторые другие файлы


Затем создайте ключ SSH, который вам понадобится, когда вы захотите войти в свою виртуальную машину, выполнив следующую команду:

NB: Это задаст какой-то вопрос, просто нажмите enter или введите yes и нажмите enter. Это создаст ваш ssh-ключ внутри C:\Users\yourusername\.ssh

Затем вам нужно настроить усадьбу путем редактирования для Nginx

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

Мой Homestead.yaml смотрит это после редактирования:

NB: Чтобы понять соответствие, которое представляет собой процесс обмена папкой между хостом и виртуальной машиной:

Мой проект laravel находится в C:\wamp\www\laravel

Этот каталог /home/vagrant/Code будет находиться внутри виртуальной машины после установки.

Итак, что говорит VM, когда вы видите /home/vagrant/Code ссылаетесь на эту папку C:\wamp\www\laravel

Что мы говорим здесь, когда я перехожу в свой браузер и /home/vagrant/Code/laravel/public http://laravel.dev отображение содержимого /home/vagrant/Code/laravel/public которое на самом деле указывает на C:\www\wamp\laravel\public

После редактирования файла Homestead.yaml сохраните ваши chnages

NB: Прежде чем мы сможем использовать http://laravel.dev в веб-браузере хоста для просмотра нашего проекта laravel, нам нужно добавить это следующее в файл hosts, расположенный в

Добавьте этот IP-адрес в список других IP-адресов, перечисленных, если таковые имеются:

Наконец, вернитесь в свой Git bash, убедитесь, что вы находитесь в /c/Users/yourusername/homestead и введите:

Подождите, пока бродяга завершит свои процессы. Нажмите «Да», когда появится диалоговое окно с запросом разрешения на создание сетевого адаптера в вашей системе.

Homestead новая база данных

У меня развернут homestead для проектов laravel. На виртуальной машине одна база данных (‘homestead’). Я начинаю второй laravel-проект, который использует одноименные таблицы: migrations, users. Мне стоит создать вторую базу для нового проекта? Как это сделать?

1 ответ 1

Это сделать очень просто

Нужно отредактировать файл path/to/homestead.yaml .

Например, у меня настройки сделаны по следующему примеру:

и перезапустить vagrant с ключем —provision в директории, где находится homestead:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками база-данных laravel homestead или задайте свой вопрос.

Похожие

Подписаться на ленту

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

дизайн сайта / логотип © 2020 Stack Exchange Inc; пользовательское содержимое попадает под действие лицензии cc by-sa 4.0 с указанием ссылки на источник. rev 2020.11.13.35431

Laravel Homestead несколько сайтов

Я Laravel Homestead установлен правильно, но теперь я хочу, чтобы добавить дополнительный сайт, я сделал каждый шаг в документации, редактировать мой Homestead.yaml и мой hostfile :

Homestead.yaml

hostfile

Но когда я бегу vagrant provision он показывает это:

бродяга среды или целевой машины требуется, чтобы запустить эту команду . Запустите vagrant init , чтобы создать новую среду бродяг. Или, получить идентификатор целевой машины от vagrant global-status для запуска эта команда включена. Окончательный вариант заключается в том, чтобы перейти в каталог с Vagrantfile и повторить попытку.

Должен ли я запускать эту команду в определенной папке?

Создан 19 ноя. 14 2014-11-19 20:57:01 arielcr

Запустите команду в вашей конкретной папке Homestead. – Hkan 19 ноя. 14 2014-11-19 21:01:54

И если я установил его глобально? – arielcr 19 ноя. 14 2014-11-19 21:10:58

Я предполагаю, что вы используете Linux или OSX. Вы должны запустить свою команду в папке ‘

/.homestead’. Или * может быть * команда ‘homestead update’ может делать то, что вы хотите, но это займет больше времени, потому что перезапускает vm. – Hkan 19 ноя. 14 2014-11-19 22:37:57


Я просто понял, что бранные команды не работают в папке ‘

/.homestead’. Согласно ответу Богдана, мы должны запустить его в ‘

/.composer/vendor/laravel/homestead’, но я попробовал это, и он игнорирует вашу конфигурацию Homestead. Так что это не вариант. Я также попробовал «homestead update», и он пытается обновить изображение коробки Homestead. Поэтому я сделал «остановку усадьбы», за которой последовала «усадьба». Уродливое обходное решение, но работает. – Hkan 19 ноя. 14 2014-11-19 22:58:27

4 ответа

Использование vagrant provision без идентификатора требует, чтобы рабочий каталог имел Vagrantfile , сгенерированный с vagrant init . Таким образом, для команды для работы вам нужно:

Если вы хотите запустить команду из любого места в вашей системе, вы можете использовать любую бродячую команду, которая принимает целевой машины (например, up , halt , destroy , provision ) с идентификатором этой машины. Для того, чтобы получить доступные идентификаторы, просто запустите:

Для получения дополнительной информации ознакомьтесь с Vagrant Global Status Docs.

Создан 19 ноя. 14 2014-11-19 21:35:17 Bogdan

Я думаю, что более простым решением будет.

Dev $ приусадебных привал EPOCLAB:

Dev $ приусадебных до —provision

Создан 08 июн. 15 2015-06-08 09:32:58 Jawad

Вы можете использовать опцию ниже.

homestead.yaml

hostfile

Предполагая, ваша ферма была уже остановлена, запустите следующую команду.

Повторите попытку доступа к новому сайту.

Создан 18 ноя. 15 2015-11-18 13:12:41 Kent Aguilar

Простое однокомандное решение!

Я прекратил редактирование файла homestead.yaml, потому что, как и вы, мне было трудно получить изменения, чтобы забрать. Теперь я просто добавляю новые сайты из самой виртуальной машины. Это очень просто, и лучше всего то, что вам не нужно повторно предоставлять свою виртуальную машину.

Просто SSH в вашей Homestead коробке:

Затем используйте следующую команду:

Очевидно замена domain.com с доменом вы хотите получить доступ к сайту с помощью, и

/Code/project/public с полным путем общего каталога вашего проекта.

Не забудьте затем также отредактировать файл локальных хостов, чтобы добавить domain.com :

С, что сделано, ваш новый сайт теперь доступен через domain.com .

В новых версиях Homestead команда serve может быть недоступна. Вы можете добавить его обратно, перейдя в каталог Homestead/scripts/ и скопировав файл serve-laravel.sh в serve.sh .

Создан 18 ноя. 15 2015-11-18 15:51:01 Amo

Vagrant — единое окружение для разработки

Преамбула

Данная мини-статья является отсылкой к созданию более правильного окружения для разработки.

В современном мире WEB-разработки, разработчики уже давно перестали устанавливать окружение для разработки: PHP, WEB-сервер, СУБД и т.д. на свой локальный компьютер, на котором производят разработку.

Во-первых, установка и настройка занимает драгоценное время и силы.

Во-вторых, если разработчик работает на нескольких компьютерах (компьютер в офисе, дома, ноутбук), то достаточно проблематично настроить идентичное окружение везде и синхронизировать его настройку между всеми своими компьютерами. Эта проблема называется проблемой идентичности состояния, когда предполагается, что состав, версии и конфигурация всего ПО должна быть максимально идентичной.

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

В четвертых, состояние окружения вашего рабочего компьютера скорее всего не совпадает и не может совпадать с состоянием окружения вашего боевого (продакшн) сервера. Ведь у вас же Windows со всеми его причудами в конфигурировании, а на боевом сервере что-то однозначно другое.

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

Избежать этого хаоса вам поможет виртуализация окружения разработки. Вам нужна виртуальная машина, которая бы разворачивалась по заданному вами сценарию, чтобы ее можно было развернуть одним кликом на любом компьютере под любой операционной системой. Пока вы будете пить кофе, ваша виртуальная машина будет готова. Также вам нужны какие-то средства для быстрого и простого управления такой виртуальной машиной (запуск, остановка, реконфигурация).


Также вам необходимо, чтобы ваш рабочий каталог с проектом отражался на каталог внутри виртуальной машины. Например, чтобы каталог локальной машины D:\myProjects, где хранятся ваши проекты, соответствовал каталогу виртуальной машины /var/myProjects или подобному.

Еще хотелось бы иметь возможность полноценно выполнять отладку с использованием PHP-Xdebug, причем приложение должно выполняться в виртуальной среде, на виртуальной машине, а управлять им вы могли с локальной. Уже нравится? Идем дальше!

Vagrant

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

Скажу лишь несколько слов. Vagrant — это специальный набор скриптов, которые работают с гипервизорами (виртуальными машинами), такими как vmWare, VirtualBox, Parallels и другими, для упрощения взаимодействия с этими виртуальными машинами.

Для Vagrant существуют готовые образы операционных систем, называемых «коробками» (boxes). Коробка — это, по сути, просто образ уже установленной и настроенной операционной системы, на основании которого строится виртуальная машина. Часто авторы коробок собирают их для поддержки в разных гипервизорах (приложениях для работы с виртуальными машинами). Мне по душе гипервизор VirtualBox, потому что я начал работать с Vagrant еще тогда, когда поддерживался только он, да и до сих пор больше всего коробок выпускаются именно под VirtualBox. Сейчас же вы можете выбрать гипервизор на свой вкус, главное, чтобы он поддерживался той коробкой, которую вы собираетесь использовать.

Использование Vagrant решает проблему идентичности состояния окружения разработки, не зависимо от операционной системы на хост-машине (так называется ваш локальный компьютер, за которым вы работаете). Гостевая операционная система, выполняемая на виртуальной машине, всегда будет одна и также. К сожалению, Vagrant рассчитан только на обеспечения идентичности состояния при разработке. На сервер невозможно установить Vagrant (точнее, конечно, возможно, но лучше этого не делать), так как виртуализация с использованием Vagrant работает на уровне виртуальной машины, что, очевидно, не подходит для продакшена. Зато Vagrant совершенно одинаково работает под разными операционными системами. Если члены вашей команды предпочитают разные ОС или работают над проектом из разных мест, где могут использоваться разные ОС.

Виртуальная машина, управляемая Vagrant-ом, представляет собой полноценный виртуальный сервер, на котором установлена операционная система и весь необходимый набор приложений и служб.

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

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

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

Чтобы развернуть коробку в виртуальную машину, нужен файл конфигурации, в котором описаны все параметры развертывания. Такой файл называется Vagrantfile и написан он с применением синтаксиса Ruby (на котором и написан Vagrant). Я не стану заставлять вас писать такой файл вручную. Чаще всего вы можете найти уже готовый файл в описании установки вашей коробки, в который нужно внести руками лишь некоторые изменения. Но все это индивидуально для каждой коробке. В любом случае Вы найдете инструкции по развертыванию виртуальной машины на ее основе в инструкциях к ней. На всякий случай еще раз повторю ссылку на хранилище коробок.

Как установить и попробовать

Устанавливаем

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

Давайте для начала, чтобы уж точно всё получилось, остановимся на гипервизоре VirtualBox. Это замечательный бесплатный гипервизор от Oracle, который очень быстро и просто устанавливается и сразу же работает без танцев с бубном.

Перед тем как начать установку, убедитесь, что путь к вашей домашней папки, а также путь к файлам ваших проектов не содержат кириллических символов. Если всё же кириллические символы есть, то нужно создать два каталога, например D:\VagrantHome и D:\VirtualBoxMachines. В первом будут находиться файлы Vagrant, а во втором файлы виртуальных машин VirtualBox. Теперь создайте переменную окружения с именем VAGRANT_HOME и значением D:\VagrantHome. Перезагрузитесь.

Теперь можно скачать и установить VirtualBox. После установки откройте окно приложения и перейдите в Файл—Настройки—Общие. Если вы создавали каталог, подобный D:\VirtualBoxMachines, то укажите путь к нему здесь, где «Папка для машин по умолчанию». После этого окно приложения можно закрыть.

Теперь перейдем к установке Vagrant. Скачайте и установите в тот каталог, который предлагается по умолчанию. Раньше была проблема, если указать другой каталог, правда это было 2 года назад, но тем не менее страх остался. Перезагрузитесь, как того требует установщик.

Последнее, что пригодится — это git. Это клиент, необходимый для работы с системой контроля версий git. Если вы еще не знакомы с этим, обязательно ознакомьтесь, зачем это и для чего. Вам понравится.

Во время установки будьте осторожны. Раз уж мы с вами разрабатываем на PHP, то наши файлы не зависимо от операционной системы должны иметь окончания строк вида \n или LF . Это значит, что нам не нужно автоматически преобразовывать концы строк в файлах нашего исходного кода. Поэтому во время установки git, когда будет предложено выбрать, как обрабатывать окончания строк на экране установки «Configuring the line ending conversions», выбирайте второй вариант «Checkout as-is, commit Unix-style line endings.» и git не будет изменять окончания строк в \r\n , как это принято для разработки в других языках программирования.

Описанные процедуры были больше для Windows, однако вы можете точно так же установить VirtualBox и Vagrant в других операционных системах. Смысл тот же.

Разбираемся в коробках

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

Одна виртуальная машина на один проект

Если Вы разрабатываете (или только хоттите начать разрабатывать) на фреймворке Yii2, то шаблоны приложений (базовый и расширенный) уже содержат файл конфигурации Vagrantfile, который использует коробку bento/ubuntu-16.04. Вся конфигурация: развертывание (provision), конфигурация nginx и конфигурация самой виртуальной машины описаны в различных файлах, находящихся в каталоге vagrant в корне приложения.

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

В файле Vagrantfile вы найдете параметр config.vm.synced_folder , который указывает каталоги для отображения (синхронизации). В данном случае, текущий каталог хост-машины (вашего компьютера) отображается на каталог /app на виртуальной. Все файлы, которые находятся у вас в текущем каталоге, также незамедлительно доступны на виртуальной машине в каталоге /app.

Если в Вашем проекте появляется необходимость в использовании нового расширения PHP, либо в какой-то другой зависимости, то вам достаточно добавить ее в файл vagrant/provision/once-as-root.sh, который представляет собой сценарий установки и настройки виртуальной машины. Как только Вы это сделаете и отправите измененный файл в репозиторий — ваши коллеги получат все эти изменения и введя всего одну команду перенастроят свои виртуальные машины. Таким образом вам не придется рассказывать и запоминать что куда установить и как настроить — все сохранено в сценариях автоматического развертывания виртуальной машины.

Одна виртуальная машина на все проекты

Еще один способ использования виртуализации — использовать одну виртуальную машину для всех ваших проектов. Именно такой подход применен в отдельной виртуальной машине от авторов Laravel, которая называется Homestead. Стоит отметить, что Homestead также может быть развернута в качестве виртуальной машины для одного проекта, подобно описанному выше варианту, но мы ниже рассмотрим именно вариант использования одной машины для всех проектов. Как запустить Homestead для одного проекта, читайте в документации.

В данном случае, файлы конфигурации виртуальной машины не принадлежат какому-то одному проекту, а хранятся отдельно. Основная конфигурация вынесена вообще в домашний каталог пользователя. С одной стороны это неудобно, так как теряется удобная синхронизация настроек виртуальной машины между рабочими станциями, но с другой стороны у вас всего одна виртуальная машина, которая идеально настроена изначально «из коробки» и имеет очень простой, гибкий и очень мощный способ конфигурирования.

Чтобы воспользоваться данной коробкой, вам необходимо загрузить файлы из репозитория и создать пару RSA-ключей (открытый и закрытый). Как это сделать описано здесь.

Работу именно с Homestead мы рассмотрим далее как пример.

Другие

Есть еще множество готовых наборов конфигураций для различных коробок, чтобы разработчик не тратил время на самостоятельное конфигурирование. Каждый выбирает удобную для себя смесь возможностей.

Пробуем

Итак. VirtualBox и Vagrant у нас установлены. Теперь пришло время начать их использовать. Мы договорились, что будем использовать коробку Laravel/Homestead. Инструкция по ее развертыванию доступна здесь. Ознакомьтесь обязательно с ней, так как она может содержать более актуальную информацию. Я же дальше опишу простые шаги.

Еще раз договоримся, что все наши проекты красиво лежат в каталоге D:\myProjects, разложенные по папочкам. Именно на этот каталог мы будем опираться далее. Вы же должны заменить его на свой.


Далее необходимо будет вводить команды в командную строку. Однако, я рекомендую использовать вместо привычной командной строки интерпретатор git-bash, который идет в комплекте с git под Windows. Запустите его и перейдите в каталог с проектами, выполнив команду

(обратите внимание на слеши на путь с использованием буквы диска). Теперь необходимо сначала скачать саму коробку, а затем скачать с репозитория набор конфигурационных файлов развертывания для нее. Выполняем:

Итак, коробка загружена, конфигурация тоже. Теперь необходимо запустить инициализацию этой конфигурации (скрипт просто скопирует файлы на свои места). Затем установим плагин, позволяющий автоматически управлять host-файлом на вашей локальной машине. Выполните (В примере указана ветка с версией 7.0.1 — актуальной на момент написания статьи. Вам же нужна самая последняя ветка):

После этого в вашем домашнем каталоге должен появиться каталог .homestead, содержащий файл Homestead.yaml — это конфигурационный файл в формате YAML, который вы должны открыть любым редактором кода и отредактировать. Давайте посмотрим, что там внутри. Я покажу уже отредактированный файл, который использую я в тестовой конфигурации. Вы же можете обратиться к документации по конфигурированию Homestead для более подробной информации.

Здесь видно, что IP адрес виртуальной машины 192.168.22.2, ей выделено 2 Гб ОЗУ и 2 ядра процессора. Провайдер (гипервизор) — VirtualBox.

Далее следует список каталогов локальной системы folders , отображаемых на каталоги виртуальной машины. У меня такой один — каталог d:\myProjects (указан в директиве map ) отображается на каталог /home/vagrant/www (указан в директиве to ) внутри виртуальной машины. То есть все файлы и каталоги внутри него будут автоматически доступны внутри виртуальной машины по указанному пути.

Далее список сайтов sites . Указывается URL сайта в директиве map , а также путь к корневому каталогу этого сайта внутри виртуальной машины в директиве to .

В самом низу примера — базы данных databases . Я использую одну базу данных с именем homestead.

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

После того, как конфигурационный файл составлен, просто запускаем виртуальную машину. Возвращаемся в интерпретатор git-bash и, находясь в каталоге /D/myProjects/Homestead выполняем команду vagrant up .

Первый запуск этой команды приведет к развертыванию виртуальной машины из коробки и конфигурированию ее согласно файлам конфигурации. Чтобы остановить виртуальную машину, находясь в каталоге /D/myProjects/Homestead, выполните vagrant halt . Последующие запуски виртуальной машины будут происходить значительно быстрее, так как уже будет готовый образ виртуальной машины, развернутый из коробки и настроенный.

Если вы что либо меняете в файле конфигурации, то достаточно запустить развертывание принудительно, выполнив команду vagrant provision . Все изменения в конфигурации будут применены к текущей виртуальной машине.

Homestead позволяет легко производить конфигурирование сайтов, добавлять задачи в планировщик, выполнять проброс портов и много чего еще. Чтобы узнать об этом подробней, обратитесь к официальной документации.

Глобальный доступ для управления Homestead

Так как описанный способ использования виртуальной машины Homestead подразумевает глобальную установку для использования всеми проектами на локальной машине, то хотелось бы иметь возможность управления данной виртуальной машиной не из каталога d:\myProjects\Homestead, а из любого места.

Это очень легко настроить. Обратитесь к данному пункту документации, чтобы узнать как это сделать для разных операционных систем.

Заключение

Использование виртуальных машин в разработке WEB-приложений значительно экономит время и силы для настройки окружения и поддержания его в актуальном состоянии на нескольких рабочих станциях. Разработчик не тратит время на настройку веб-сервера под Windows, которая иногда требует шаманского опыта и не тратит нервы на устранение непрекращаемого потока ошибок. Особенно, если вы только что решили, что хотите начать заниматься разработкой, вам не стоит тратить нервы на развертывание окружения в Windows.

Разница в потребляемых ресурсах виртуальной машины и того варианта, если бы вы развернули окружение локально в Windows, стремится к нулю. Удобство от использования виртуальной машины стремится к максимуму. Дополнительным опытом при использовании такого способа разработки будет пассивное изучение нормальных операционных систем, вроде Debian или Ubuntu.

Манипуляции с виртуальными машинами производятся либо через командную строку, либо через нажимание кнопочек в IDE PhpStorm (в меню Tools-Vagrant). Основные команды управления:

vagrant up — запускает виртуальную машину. Если виртуальная машина еще не построена, то сначала строит ее (при необходимости скачивает образ коробки).

vagrant halt — останавливает виртуальную машину.

vagrant reload — перезагружает виртуальную машину.

vagrant ssh — открывает ssh соединение с виртуальной машиной.

vagrant provision — производит перепостроение виртуальной машины (например, если изменили файлы конфигурации).

Остальные команды можно узнать введя vagrant help .

Vagrant — единое окружение для разработки: 22 комментария

не получается запустить vagrant. Все заканчивается на шаге homestead-7: SSH auth method: private key
Дальше идут комментарии:
Timed out while waiting for the machine to boot. This means that
Vagrant was unable to communicate with the guest machine within
the configured («config.vm.boot_timeout» value) time period.

If you look above, you should be able to see the error(s) that
Vagrant had when attempting to connect to the machine. These errors
are usually good hints as to what may be wrong.

If you’re using a custom box, make sure that networking is properly
working and you’re able to connect to the machine. It is a common
problem that networking isn’t setup properly in these boxes.
Verify that authentication configurations are also setup properly,
as well.

If the box appears to be booting properly, you may want to increase
the timeout («config.vm.boot_timeout») value.

Подскажите, пожалуйста, как можно исправить?

Я не знаю, с чем это связано, но иногда в некоторых сборках коробок такое бывает, причем, только под Windows. В других ОС всегда всё нормально.
Я сталкивался с такой проблемой несколько раз. Первый раз решил проблему вот так. Проблема была в том, что не поднимался виртуальный сетевой интерфейс.
Потом в следующих сборках эта проблема ушла надолго и спустя, может быть, полгода появилась снова. Решения тогда я не нашел, но обнаружил, что если несколько раз подряд попытаться запустить, то на вторую или, на крайний случай, третью попытку вагрант запускался нормально. Потом я перешел на линукс и забыл про все проблемы виндоус одновременно.

Все о WEB программировании

WEB программирование от А до Я

Заказать сайт:

Социальные сети:

Партнеры:

Установка Homestead


Доброго времени суток. В данной статье мы с Вами установим Homestead. Что такое Homestead? Это бокс для vagrant, заточенный для разработки проектов на Laravel. Vagrant – это программное обеспечение для создания и конфигурирования виртуальной среды разработки. А Homestead – это настроенная среда разработки, которая включает в себя:

  • Ubuntu 14.04
  • PHP 5.6
  • HHVM
  • Nginx
  • MySQL
  • Postgres
  • Node (с PM2, Bower, Grunt, Gulp)
  • Redis
  • Memcached
  • Beanstalkd

Устанавливать Homestead мы будем на Windows 10. В принципе установка на другие ОС ничем не отличается за исключением установки виртуальной машины и самого Vagrant.

Ну, что ж приступим…

Так, как Homestead – это бокс для Vagrant, то нам понадобиться сам Vagrant.

Установка Vagrant.

Скачиваем инсталятор Vagrant с официального сайта. Для работы Vagrant потребуется одна из виртуальных машин: VirtualBox, VMWare, AmazonEC2 или LXC.

Я установил VirtualBox. Другие не пробовал, поэтому и описывать не буду.

Качаем VirtualBox c официального сайта. Но тут я столкнулся с проблемой текущая стабильная версия VirtualBox не совсем корректно работает с Windows 10. (уже после у них появилось сообщение об этом). Я установил тестовую версию ( пока проблем не было, все работает стабильно), которую Вы можете скачать на официальном сайте. Качаем версию для Windows.

Отлично, мы готовы к установке Vagrant, для этого:

  1. Устанавливаем VirtualBox.
  2. Устанавливаем Vagrant.

Теперь мы готовы к установке Homestaed.

Установка Homestead.

Для установки Homestead. Нам понадобиться Git. Скачать, который Вы можете на официальном сайте. Устанавливаем Git. Все теперь мы готовы к установке Homestead.

Открываем командную строку в Windows. Win + R откроется окно «Выполнить» введите cmd.

Замечание: В Windows скорее всего у Вас возникнет ошибка связанная с кодировкой. Перед запуском vagrant box add laravel/homestead введите chcp 1251.

Теперь выбираем где у нас будут находиться проекты. В моем случае это E:\projects.

Следующий шаг установка дополнительных файлов Homestead. Тут нам и понадобиться git. В командной строке переходим в E:\projects и вводим команду:

Замечание: Для изменения папки в командной строке используется команда cp. Если необходимо поменять и диск, то нужно добавить параметр /d. Например в моем случае я нахожусь в диске C: и мне необходимо перейти в E:\projects, я должен ввести следующую команду cd /d E:\projects

Теперь нам необходимо сгенерировать пару ключей для доступа по ssh. Для этого нам опять понадобиться git, точнее GitBash. Открываем GitBash и вводим команду:

И помещаем ключи в папку по умолчанию c:\Users\ \.ssh

Отлично, осталось только настроить Homestead. Файл с настройками находиться в c:\Users\ \.homestead. Сам файл конфигурации называется Homestead.yaml. Открываем его.

Ищем provider значение, которого должно быть virtualbox. Внимание это в нашем случае, т.к. мы используем VirtualBox.

Ищем authorize значение, которого должно быть

Теперь проверяем секцию key, значение должно быть —

Теперь сконфигурируем папку для проектов, за это отвечает секция folders. В моем случае – это выглядит, так:

Теперь перейдем к разделу sites, который описывает сайты. Добавим один сайт, например, example.loc. Для этого добавим следующие строки

Хорошо, теперь надо запустить нашу виртуальную машину. Заходим в папку (в моем случае) E:/projects/Homestead и из командной строки запустить команду:

А пока запускается виртуальная машина, мы пропишем в файле hosts, который расположен в C:\Windows\System32\drivers\etc следующую строку:

Теперь в папке с проектами создадим папку example, в которой создадим файл index.php следующего содержания:

И так, наша машина запустилась. Давайте в браузере откроем example.loc и посмотрим, что получилось.

Хорошо, все получилось.

Для добавления еще сайтов, их нужно прописать в раздел site:

В примере выше я к нашему сайту example.loc добавил еще сайты: test.loc и phpmyadmin.loc

Теперь, чтобы бокс Homestead не удалять и снова создавать (кстати бокс удаляется командой vagrant destroy). В папке Homestead нужно выполнить команду

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


Мы с Вами установили на Windows 10 Vagrant с боксом Homestead.

Установка Vagrant Homestead

Загружено/обновлено 6 Июля 2020

Первые шаги

  • Установка Git Bash
  • Установка Vagrant c http://vagrantup.com
  • Установка Virtual Machine 5.*

Затем:

переходим в каталог cd

или cd c:\users\ (обратите внимание, что vagrant не любит кириллические имена пользователей) С командной строки генерируем ключи ssh публичны и приватный: ssh-keygen -t rsa -C «your@email.com»

устанавливаем laravel-homestead (—insecure не обязателен — отключает черезмерную защиту, которая порой мешает):

Переходим в каталог \Homestead и запускаем инициализацию:

Далее

Необходимо отредактировать созданный инициализацией файл .homestead/Homestead.yaml , заменив пути в стиле UNIX на соответствующие пути по правилам OS Windows.

Затем

вносим изменения в файл C:\Windows\System32\drivers\etc\hosts вот так

Очень важно

Необходмо убедиться, что виртуализация включена в настройках CPU в BIOS. А так же рекомендуется отключить Windows Hyper-V. Один из способов сделать это с командной строки — такой:

Наконец

когда все это сделано, можно запускать нашу виртуальную машину. Для этого переходим в каталог C:\users\\Homestead в командной строке и набираем:

и всё должно работать. Можно запускать homestead из любого место в командной строке если включить в файл .bashrc следующий код:

теперь можно запускать машину из любого место набирая:

Чтобы отключить vagrant нужно набрать команду:

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

Здесь всё просто, но не без маленького подвоха. Откроем файл .homestead\Homestead.yaml и модифицыруем его вот таким образом:

Теперь редактируем Windows hosts файл, добавляя в него следующее:

После этого вводим команду для vagrant чтобы запустить новые настройки:

Блог Vaden Pro

В 2014 году Laravel сделал еще один серьезный шаг для своей популяризации – сообществу был представлен Vagrant-бокс Homestead.

Говоря простым языком в наше распоряжение представили виртуальную машину заточенную под разработку на Laravel.

Homestead позволяет не задумываться на какой операционной системе будет происходить разработка проекта, поскольку обеспечивает полную поддержку всех распространённых ОС (Windows, Mac, Linux) и начинку со всем необходимым для разработки.

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

Что входит в состав Homestead?

  • Ubuntu 14.04 – операционная система с открытым кодом разработанная на основании Linux.
  • PHP 5.6 – не успел пройти релиз новой версии PHP летом 2014-го года, а поддержка данного стандарта уже была включена в базовую сборку нашего Vagrant-бокса.
  • Nginx – простой и надежный веб и прокси сервер.

  • MySQL – если кто еще не знает, это система управления базами данных.
  • Postgres – еще одна система управления БД
  • Node – среда для выполнения JS.
  • Redis – нереляционная СУБД.
  • Memcached – сервис для кеширования данных.
  • Beanstalkd – механизм используемый для выполнения фоновых задач.
  • Laravel Envoy – позволяет работать с SSH-задачами.
  • Fabric + HipChat Extension

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

Сделаем обзор на примере Windows.

Установка

Начинаем установку с того, что скачиваем и ставим Vagrant и VirtualBox. Этот этап самый простой. Данные продукты ставятся как самые обычные приложения на все распространенные ОС, потому сразу идем далее.

Вагрант попросит перезагрузить систему. На этом этапе установки есть один нюанс – при перезапуске необходимо зайти в BIOS и проконтролировать, чтобы был подключен функционал аппаратной визуализации Intel Virtualization Technology (VT-x).

Для дальнейшей установки воспользуемся консолью (рекомендую Git Bash, удобная вещь для многих задач).

Добавляем в Vagrant наш бокс laravel/homestead.

Файл достаточно большой, потому процесс его загрузки может занять некоторое время.

Чтобы не терять его зря сразу скопируем хранилище с конфигурационными файлами в папку, в которой после будут располагаться наши рабочие проекты, к примеру: C:/Users/MyName/MyProject

Команда для этого действия:

Настройка

Так создается Homestead.yaml. В нем находятся основные настройки которые потребуются после для создания локальной машины. Находится он в

/.homestead ( C:\Users\username\.homestead в Виндовс)

Открываем наш .yaml и прописываем в authorize путь к публичному SSH ключу, а в keys пишем путь к приватному. Для создания пишем в Git:

Далее в folders указываем пути к папкам, использовать которые мы сможем внутри Homestead (папки с нашими проектами). Этим действием мы синхронизируем папки и файлы содержащиеся внутри локальной и виртуальной машин.

Интересным аспектом для многих разработчиков может стать поддержка запуска своих проектов в среде HHVM, особенно учитывая, что для этого достаточно воспользоваться всего одной командой:

Добавление новых алиасов тоже не составит особых проблем. Для этого достаточно найти в нашей виртуальной машине

/.homestead и воспользоваться файлом aliases.

Домены с которыми мы будем работать необходимо прописывать в файл hosts (в Виндовс он располагается в директории: C:\Windows\System32\drivers\etc\hosts)

Пример строки, которую необходимо добавить:

Цифры в начале это ip из Homestead.yaml, далее идет наш произвольный домен. Теперь мы можем перейти на созданный нами сайт воспользовавшись браузером.

Настроив локальную машину пришло время подключить Vagrant. Это делается просто — выполняем внутри Homestead:

Данная команда синхронизирует папки, сконфигурирует Nginx согласно нашим настройкам, и произведет запуск виртуалки.

Стоит ознакомиться перед началом разработки

Команды имеющие отношение к Vagrant выполняются из homestead директории.

Для установки SSH соединения используется:

Для подключения очередного проекта существует пара способов. В первом используется наша виртуалка:

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

Профит, сайт добавлен.


Стоит обратить внимание на тот факт, что внутри данной сборки используется ряд редиректов портов:

Протокол Номер порта локального Номер порта виртуального
SSH 2222 22
HTTP 8000 80
MySQL 33060 3306
Postgres 54320 5432

Полезно также помнить, что в предлагаемой нам среде для разработки используется две широкоизвестных СУБД: MySQL и Postgres. В Laravel исходно все уже настроено для того, чтобы сразу приступать к работе не заморачиваясь по этому поводу. Для тех кому интересно скажу, что по умолчанию он использует порты виртуальной машины, поскольку он располагается внутри нее, так для MySQL это 3306, а для Postgres 5432 порты.

Если же для работы с БД нам необходимо настроить другой клиент, то необходимо использовать ip 127.0.0.1 и порты 33060 с 54320 для MySQL с Postgres соответственно. Логин будет для обеих баз homestead, а пароль secret.

Использование Laravel Homestead: «не указан входной файл»

Я новичок в использовании Laravel и Homestead и был бы признателен за любую помощь или точку в правильном направлении. Я успешно смог добраться до экрана» вы прибыли», когда я запускаю» php artisan serve», но когда я пытаюсь сделать то же самое через Vagrant, я получаю»нет указанного входного файла». Моя Усадьба.файл yaml выглядит так:

на моем компьютере у меня есть следующие каталоги:

на моей бродячей коробке у меня почему-то два каталоги с именами » код «и»код»:

Я проверил, и я вижу, что изменения, внесенные в файлы exampleproject моего компьютера, отражены в файлах Vagrant box.

не совсем уверен, как это выяснить!! Я был бы очень признателен за любую возможную помощь:)

23 ответов

вместо переустановки попробовать

у меня была такая же точная проблема и я нашел решение с помощью larachat.

вот как это исправить, вам нужно иметь свою усадьбу.настройки файла yaml правильные. Если вы хотите знать, как его сделать следовать Джеффри путь учебник по homestead 2.0 https://laracasts.com/lessons/say-hello-to-laravel-homestead-two.

теперь исправить Input not specified вопрос вам нужно ssh в поле усадьба и введите

serve domain.app /home/vagrant/Code/path/to/public/directory это создаст сценарий подачи для nginx. Вам нужно будет делать это каждый раз, когда вы переключаете проекты.

Это легко исправить, потому что вы изменили название папки: exampleproject

Так что SSH вашему бродяге:

затем измените конфигурацию nginx:

sudo vi/etc/nginx/сайты-включено / усадьба.app

редактировать правильный URI к корню в строке 3 к этому С новым именем папки:

перезагрузите веб-браузер, он должен работать сейчас

давая мой ответ на всякий случай, если кто-то борется с этой проблемой.

возможно, Вам потребуется проверить, что сервер.настройки корень В «/и т. д./ngnx/имеющихся сайтов/доменов» в соответствии с вашим сайтов.в config в «Хомстед.и YAML».

Если он не соответствует, измените его и перезапустите веб-сервер с помощью «sudo service nginx restart»

и все еще вещи не работают, тогда разрешите разрешение на запись для «

У меня также была та же проблема, я предполагал, что Laravel установлен «из коробки», но, похоже, это не так. Я подошел к машине и выполнил следующие команды:

и все работало как обычно.

эта проблема возникла для меня после редактирования усадьбы.и YAML. Я решил эту проблему

для меня сработало следующее:

vagrant reload —provision

у меня были те же проблемы

но забыл, что спецификации сказали, что файл конфигурации будет расположен в

/.усадьба/Усадьба.и YAML и обновлял

/ Усадьба / src / пни / Усадьба.и YAML

таким образом, исправление состояло в обновлении усадьбы.yaml находится здесь по адресу

sites: — map: homestead.app to: /home/vagrant/Laravel/public

sites: — map: homestead.app to: /home/vagrant/Code/mysitename/public

Затем Я РАН
vagrant up —provision


надеюсь, это сработает для кого-то еще.

перезагрузите ваш дом. Работать на меня.

У меня была такая же проблема, следуя документам Laravel (https://laravel.com/docs/5.2/homestead)

моя проблема была очень простой, я пропустил эту часть в документах:

Хоумстед.файл yaml будет помещен в

/.усадьба скрыта каталог:

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

Я понял это только после многих поиск, так что надеюсь, это поможет кому-то.

слово предостережения, linux чувствителен к регистру. Вероятно, поэтому вы видите каталог» код «и» код».

то, что я бы сделал, это повторить настройку vagrant снова, и если вы хотите, чтобы она была простой и соответствовала тому, что поле усадьбы имеет по умолчанию, сделайте свой каталог в вашем хост-компьютере «кодом» с прописными буквами.

вы также можете в разделе» папки «просто сопоставить свою папку» код » на вашем компьютере, если вы решите добавить больше сайтов в свою настройку усадьбы позже. Таким образом, в разделе /home/vagrant/Code/ вы увидите все свои проекты сайтов, и вы можете указать больше сайтов, указывающих на их «общедоступные» каталоги.

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

есть два ключа, которые вы должны посмотреть:

старые версии папок карты усадьбы в

/Code например по умолчанию

/Code/laravel/public . Обратите внимание на заглавные буквы в

/Code . Они чувствительны к регистру. В новых версиях используется нижний регистр

/code . Обновите эти каталоги в своем Homestead.yaml согласно вашим фактическим каталогах.

TL; DR;

/code или наоборот в зависимости от ваших фактических имен каталогов.

Я просто боролся с той же ситуацией. Следующий решенный вопрос:

Если у вас есть такая структура каталогов:

просто создать папку в exampleproject на вашей машине.

в Laravel 5 мне пришлось ssh на сервер моей усадьбы и выполнить следующие команды:

вот мое решение:

это проблема пути к файлу, поэтому ниже приведены мои папки и пути к сайтам. Кроме того, мне пришлось использовать «vagrant destroy», поскольку подготовка не работала.

это обычно происходит при редактировании Хоумстед.и YAML.

Если вроде меня ты пробовал homestead up —provision и не работал! тогда попробуйте это (это работает для меня):

  • homestead destroy
  • homestead up

моя проблема была в конфигурационном файле домена:

общая папка моего проекта была создана в /home/vagrant/Code/demo / public

конфигурационный файл домена (для меня / etc/nginx/sites-available / demo.приложение) настроил: «/домашний/бродяга/код/фреймворк Laravel/публичных» вместо «/домашний/бродяга/код/демо/публичное».

теперь он работает идеально.

У меня были аналогичные проблемы с Homestead и просто подготовка коробки работала для меня. Поэтому вы должны попробовать следующее:

vagrant provision связанные коды не работали для меня, после потери времени я перезапустил всю систему. Теперь это работает. — , -«

я отредактировал homestead.yaml и hosts по данным это laracast учебник и перезапустил усадьбу с помощью vagrant suspend , vagrant halt , etc. / vagrant up ; Я пытался vagrant provision , но no file specified ушел только после того, как я перезагрузил компьютер (Я на ПК с Windows 7) после выполнения всего вышеперечисленного. Это, безусловно, трудоемкая и сложная ошибка.

это то, что моя работа homestead.yaml похож на два фреймворк Laravel проекты:

обратите внимание, есть две отдельные установки laravel в D:\Projects\ProjectOne и D:\Projects\ProjectTwo

затем я получаю доступ к первому проекту, набрав projectone.app:8000 в браузере и projecttwo.app:8000 для второго проекта.

P. S. Я проверил это на что Laravel 5.2 на Windows

это происходит потому, что вам нужно правильно настроить сервер nginx, чтобы обслуживать ваше приложение. Вы можете сделать это, следуя этому руководству, начиная с темы настройка Nginx и веб-корень.

после правильно настройка символической ссылки между вашими/etc/nginx /sites-available и/etc/nginx / sites-enabled вам нужно убедиться, что ваша корневая переменная установлена в путь к папке вашего приложения. Установите корень nginx из

кроме того, вы должны разместить индекс.php перед вашими html-файлами, поэтому php подается перед html. Изменить это

после завершения настройки перезапустите сервер nginx с помощью

ваше заявление должно быть подано сейчас.

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

Vagrant — Настройка Homestead Несколько сайтов

Я отображаются папки и т.д., используя homestead.yaml;

Но когда я настроить хост — файл, etc/hosts с моей second.dev к 192.168.10.10 я считаю , что отображение идет в first.dev, а не отображение , которое я поставил для second.dev.

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

EDIT: Я использую Mac OS X.

Используя команды Vagrant

Выполните команду vagrant provision в терминале или командную строку в папке , где приусадебные расположены файлы.

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

Использование глобальной Homestead

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

Цукерберг рекомендует:  Python - Google таблицы и python
Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих