2014-11-05 2 views
7

Я столкнулся с проблемой получения бродяги, чтобы работать вместе с ларавельским усадьбой бродячего бокса. Мой homestead.yaml файл выглядит следующим образом:бродячая акция с усадьбой laravel

--- 
ip: "192.168.10.10" 
memory: 2048 
cpus: 1 

authorize: /Users/me/.ssh/id_rsa.pub 

keys: 
    - /Users/me/.ssh/id_rsa 

folders: 
    - map: /Users/me/Projects/laravel 
     to: /home/vagrant/laravel 

sites: 
    - map: laravel.app 
     to: /home/vagrant/laravel/public 

variables: 
    - key: APP_ENV 
     value: local 

Когда я ударил http://laravel.app:8000 - все работает отлично. При запуске vagrant share URL-адрес, который сгенерирован, возвращает ошибку No input file specified.

Я в тупике. Поиск Google в течение нескольких часов не привел к решению. Я уверен, что это всего лишь базовая конфигурация, и я не подключаю точки. Любые указатели будут оценены. Благодаря!

ответ

3

Первым шагом является создание учетной записи для Vagrant Cloud, если вы еще этого не сделали.

После того, как вы это сделали, в вашем терминале (не, зарегистрированном в машине Homestead) запустите vagrant login и введите логин со своими данными.

Затем запустите vagrant global-status, чтобы найти идентификатор машины бродяг. Усадьба работает.

Пробег vagrant share 123a4 (где 123a4 - это идентификатор машины), и ваша машина будет использоваться совместно!

Обратите внимание, что вам может потребоваться настроить конфигурацию Nginx для прослушивания URL-адреса, который был сгенерирован для вас, поэтому он указывает на правильный сайт на компьютере.

+1

Ничего себе. Спасибо. Я пытался понять это в течение долгого времени. – yan

+0

Можете ли вы объяснить последний абзац? Как вы «слушаете URL»? –

+0

Вам нужно отобразить URL-адрес в каталоге на вашем бродяжном компьютере. Итак, используя Homestead, вы можете запустить 'serve url-to-vagrant-cloud.com ~/path/to/your/code/public', который сделает это за вас. – Sacha

7

@ Ответ sanaco пропустил несколько шагов для меня. Это полная команда, чтобы создать свою долю (после регистрации)

vagrant share --http 80 --name silly-sausage 

По окончанию команды будет из положить долю URL, который должен выглядеть как этот

http://silly-sausage.vagrantshare.com 

После того, как акция до вам нужно SSH в бродячей коробку с

vagrant ssh 

и запустить

serve silly-sausage.vagrantshare.com ~/Code/project/path/public 

Без ключа http брандмауэр назначает 443 на http, что делает nginx жалуется на использование HTTPS-порта для HTTP-соединения.

Указывая имя, вам нужно только выполнить команду serve в первый раз.

3

Существует решение, не требующее ничего сделать на вашей домашней виртуальной машине.

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

Пробег: ngrok http -host-header=rewrite your-local-site.app:80

(где your-local-site.app является то, что используется для директивы карты в файле Homestead.yaml)

Тогда ваш сайт будет доступен по всему миру на URL, что дает вам ngrok ,