Been trying this for days! I am aware there are other Qs about this, which I have checked over an over. I have one site working and the other not.
I'm using Homestead with Laravel 5 and OSX 10.10.3
I have this .yaml file:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Sites/LaraCode
to: /home/vagrant/LaraCode
sites:
- map: myapp.app
to: /home/vagrant/LaraCode/myapp/public
- map: newapp.dev
to: /home/vagrant/LaraCode/newapp/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
Both are Laravel 5 apps in these folders:
/Users/USERNAME/Sites/LaraCode/myapp
/Users/USERNAME/Sites/LaraCode/newapp
myapp.app works fine but newapp.dev gives an error:
No input file specified
in the browser.
I have chmod777 the storage folder. There is an index.php in the public folder. I vagrant provision after changes.
Homestead seems to have been a horrible waste of time.
For me homestead destroy and another homestead up worked. Also I guess you added the new url to you hosts file, correct?
Although I agree that the docs for homestead are a little lacking.
Ok,I finally found an answer for this. I believe I had two homesteads set up, so I had to remove a homestead from the VM
I also had to do update my bash_profile so I could use the homestead commands.
Afterwards, in the homestead folder I ran:
homestead provision
To ensure the yaml file was up-to-date.
All is good now. Both sites are running. Server set-ups are always a nightmare for the less computer techie developers. Where I was caught out was the lack of clear folder guidance on where to execute command lines, hence the conflicting homesteads.
Related
Having spent 1.5 days trying to fix this I thought that I might as well come before you for an answer.
Newbie in Laravel, I've been trying to set up the dev environment in my laptop (MacOS, High Sierra 10.13.6).
I've installed Virtual Box, Vagrant (v 2.2.9), Composer & Homestead
This is what my Homestead.yaml looks like:
---
ip: "192.168.10.10"
memory: 2048
cpus: 2
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Laravel
to: /home/vagrant/Laravel
sites:
- map: test.app
to: /home/vagrant/Code/Laravel/public
databases:
- test
features:
- mariadb: false
- ohmyzsh: false
- webdriver: false
# ports:
# - send: 50000
# to: 5000
# - send: 7777
# to: 777
# protocol: udp
I've also configured my /etc/hosts file as follows:
1922.168.10.10 localhost
255.255.255.255 broadcasthost
::1 localhost
192.168.10.10 test.app
I've been experimenting with the paths in the folders and sites, also following different suggestions from forums but, if anything, I get from my browser either:
No input file specified
or
ERR_CONNECTION_REFUSED
Some few additional info:
The official Laravel documentation says that you have to map folders to each and every project, but the tutorials out there say that you only have to map it to the folder that will contain all project folders.
I've tried to match the IPs in Homestead.yaml and /etc/hosts but at least when they were different (192.168.10.10 and 127.0.0.1 respectively I got the No input file specified, which -I think- it means that at least the browser managed to connect to the server, but didn't find the right file.
As for Vagrant, I can vagrant up, vagrant halt, and vagrant destroy without further issues when I cd in my Homestead folder. I can also vagrant ssh without further issues.
The file receiver of the installation of Laravelcomposer global require laravel/installer is named Laravel and located in /Code and same level as Homestead.
All help will be dearly appreciated. Please ask anything else I may have missed.
Thanks so much in advance. I hope this helps future Laravel newbies as well.
Resources used:
Mainly this tutorials + this tutorial + this post + a few hours of Googling around.
I installed Laravel with Homestead and tried to start a project that I created. Therefore I adjusted the Homestead.yaml to:
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Documents/Development/Source/MFServer/
to: /home/vagrant/Code
sites:
- map: local.medifaktor
to: /home/vagrant/Code/MFServer/public
The path is existing but still I get this error message. Can you give me some advice?
I think this only works when you need to reload the file and there is no other problems.
From Jesús' site: http://www.jesusamieiro.com/no-input-file-specified-using-homestead/
“No input file specified” using Homestead - Posted on 02/06/2016
If you see the message “No input file specified” in the browser (using Homestead as development VM machine), one possible problem is that Homestead doesn’t load the parameters from the config file Homestead.yaml
Try to provision the VM another time, running
$ vagrant reload --provision
I am a python developer and my company wanted to do a project in PHP -laravel. Also he wanted me to start with Vagrant. So I came across this simple tutorial and tried to start with it. But still I'm getting error No input file specified.
I have been searching since whole day today for this issue, I have came across many posts which includes same query. I tried almost all the solutions from laravel.io and some stack overflow queries But did not got the exact solution.
Directory Structure:
Git Cloned Homestead - /home/laxmikant/Work/PHPWORK/Homestead
Mapped location - /home/laxmikant/Work/PHPWORK/codebase (totally empty directory)
Folders mapped to : /home/vagrant/codebase (Contains Laravel project)
Here is my Homestead.yaml
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: ~/Work/PHPWORK/codebase #-- The path on my local machine
to: /home/vagrant/codebase #-- The path from the vagrant box
sites:
- map: homestead.app
to: /home/vagrant/codebase/Laravel/public #-- The path from the vagrant box which is mapped with folders
databases:
- homestead
variables:
- key: APP_ENV
value: local
Also I am assuming that,By Vagrant ssh when the project is created using :
composer create-project laravel/laravel Laravel --prefer-dist
It should also get synced with codebase directory of vagrant box
So the queries are:
Is this assumption correct? if so why map and to are not getting synced? and
What is the reason that I am getting the error "No input file specified.?
The assumption is correct whatever is in /home/vagrant/codebase will also end up in your ~/Work/PHPWORK/codebase.
After installing laravel via composer if the "no input file" error persists you probably need to reload configuration via running
vagrant provision
You should probably also add a homestead.app entry on your hosts file.
Thanks for your help.
It worked well with the following solutions:
nginx configured manually for my homestead.app
and changed, Sync locations in Vagrantfile
I am trying to figure out if there is something wrong in my homestead setup
I am following the official direction. In the very end of the direction the tutorial said that accessing http://homestead.app is possible. However when I run the address in my chrome I get the No input file specified. message
I am not sure if this is the default page, so I checked my directory using
homestead ssh
and found out that
- map: /Users/Projects
to: /home/vagrant/Projects
both directory doesn't have any files inside, I am not sure if this is the default behavior, but according to this tutorial there should be a list of file in the folder
app artisan bootsrap composer.json composer.lock ....
I don't remember if homestead comes with a default website, but your homestead.yaml ( you can use homestead edit to open it )file should look like this:
---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders: //This is where vagrant will look for your projects
- map: ~/Code //This is your host folder
to: /home/vagrant/Code //This is your homestead folder
sites: //These are the urls that nginx will serve
- map: homestead.app
to: /home/vagrant/Code/homestead/public
- map: site2.app
to: /home/vagrant/Code/site2/public
databases:
- homestead
variables:
- key: APP_ENV
value: local
Usually, homestead comes with a Code folder where you can find the laravel project (if there is one by default).
Also, remeber to add the urls to your hosts files.
I new with virtual box and vagrant , Now I using Homestead image and every thing is run well
but when i create my project named laravel on virtual machine it supposed that i see this new folder named laravel on my machine but i didn't get any thing on my machine.
when i type url http://homestead.app:8000/ i get This webpage is not available
The synchronization is not working and
NOTE: - I'm using ubuntu 14.04
This is my homestead.yaml
ip: "192.168.10.10"
memory: 2048
cpus: 1
authorize: ~/.ssh/id_rsa.pub
keys:
- ~/.ssh/id_rsa
folders:
- map: /var/projects/
to: /home/vagrant/projects/
sites:
- map: homestead.app
to: /home/vagrant/projects/laravel/public
variables:
- key: APP_ENV
value: local
thanks advance
...when i create my project named laravel on virtual machine it
supposed that i see this new folder named laravel on my machine...
I've run into this before. The root laravel project folder needs to be created on your real machine first. Then setup the site folder mapping above as you have done.
Then afterwards any further changes inside the virtual machine will replicate/sync both ways.