Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

vincej's avatar
Level 15

Is there a point to using Homestead when running Ubuntu 14 ?

I run my dev desktop on Ubuntu 14. Homestead is a prepackaged vagrant box which includes Ubuntu 14. Yet, the L4 docs make a point of mentioning that Homestead runs on Ubuntu 14.

I'm clearly missing something here. I can see that Homestead would be very useful to me if I could elect not to install a VM with Ubuntu 14 on it, as installing Ubuntu on top of Ubuntu is absurd. Can Homestead / Vagrant just install all the other stuff ? There is no mention of that in the docs.

So what exactly is the value to a Ubuntu user ?

Many thanks !

0 likes
58 replies
Shovels's avatar

I've been considering making the switch from Windows to Linux and thinking about this exact issue.

I'm thinking it's worth it if you want a controlled set of components in a sharable environment. But if you work solo it's not so important.

Like you say, it seems a little pointless putting Ubuntu on top of Ubuntu.

abhimanyusharma003's avatar

If you are using VM's then you can benchmark your applications in better way and get more accurate results of memory consumption.

You can easily limit RAM and number of cpus cores you want to give to your application, with homestead. Which is not easy to do when you are using ubuntu directly.

That is you are making development == production, both in amount of hardware and software terms

2 likes
Ionut's avatar

I agree with @abhimanyusharma003

I always try to be as close as possible to the "production" environment specs. Just to be safe.

Stupid example... Think of a image processing script. I have 16gigs of ram on my machine, maybe the server has 4... and everything stalls... too lute, it's already in production. I try as much as possible to avoid this scenarios.

1 like
vincej's avatar
Level 15

I would have preferred if Homestead allowed you to select the components you want so that I could avoid Ubuntu and have all the other things (eg Gulp, Node, Nginx etc) which I could use. Homestead appears to be targeted specifically at Mac users, which appears to be 90% of PHP developers.

Installing Homestead on Windows was for me a nightmare, so I gave up and moved my dev machine to Linux Mint. Linux Mint is Ubuntu 14 but with a different interface and a slightly different application set. @shovels Linux Mint is now #2 installed distro after Ubuntu and I chose it as it is very Windows 7 like whilst maintaining 100% compatibility with Ubuntu. For example - you can use all the Ubuntu docs and forums.

Maintaining consistency with ISP's is a good goal. However, the bulk of ISP's use Centos (open source RedHat) not Ubuntu. Secondly as an existing Ubuntu user, I don't see the benefit of burdening my machine with a VM and then the another copy of the same OS I already have.

As a life long Windows user I found the transition to Linux Mint quite painless as it is so Windows like. Yes, when using the terminal I keep a copy of the "20 most used Linux commands" at hand ! :o)

Many Thanks for your feedback !

bashy's avatar

Ubuntu is not commercial ready. That's why companies use RedHat, SUSE etc.

I personally use Debian, just because I dislike Ubuntu's release structure but all to their own.

@vincej Try Vaprobash, it's what I use and for your own development, it's great. Homestead is more of a team based option that allows you to get things perfectly the same on every install without much configuring.

Vaprobash allows you to select what you want to install and can setup what you want. May be some manual stuff you need to set but you can put it into a file to run when you run it http://fideloper.github.io/Vaprobash

Shovels's avatar

@vincej yeah Linux Mint is something I've tried before, but I came unstuck not being able to run certain apps/hardware under Linux (photoshop, Evernote, 3 monitors). I know there are alternatives, but I had only partial success. This time I might try a dual boot, but also have the windows partition available in a VM.

The ability to throttle the performance is a really good point, so can definitely see the benefits.

I think @bashy has a good point with Vaprobash. Something I'm going to look into.

vincej's avatar
Level 15

@bashy Just looked at Vaprobash and it looks very good. One point of clarification though - it uses Vagrant, which if I read the Vagrant docs correctly, it will install a VM with I presume another copy of an OS - correct ?

Essentially, I don't want a VM nor another OS - I want all the goodies that without having to manually install then. So if I choose to move to Nginx from Apache, I can do it without hassle.

I hope I have misunderstood this and Vaprobash will not install a VM with an OS ??

Thanks !

vincej's avatar
Level 15

@shovels - yeah, photoshop. But for 90% of my image work Gimp runs fine. Alternatively I have Photoshop on a 17inch laptop. I have a dual boot system and 3 monitors. The monitors are not a problem at all under Linux. GPU fan control was more of a problem when I started out, but I got that sorted.

bashy's avatar

So you want to install things manually on your Ubuntu OS?

Been a while since I've used desktop version of Ubuntu/Mint but it comes with Apache preinstalled? If you want nginx, just install it with this

sudo apt-get install nginx

Using Ubuntu as your main OS will allow you to install things JUST like Homestead or any other VM/server.

Advantages of using a VM (on any type of OS)

Using a VM allows you to manage your development environment without messing about with your main OS's files. Imagine you need some queue system (Beanstalkd) but you don't want to install all these different things on your desktop OS. This is why VMs are helpful in providing that "test" or "development" environment.

1 like
vincej's avatar
Level 15

Sure, understand that I can install manually through apt-get. For a brief moment I had the hope that there was 1 cute utility which would allow me to tick off what I wanted and abracadabra, wizz bang it was all done. I guess I am a little nervous about configuring Nginx with all the other tools and bits and pieces. Months ago you helped me out with creating a virtual host on Apache and you commented that, that was nothing compared to Nginx.

vincej's avatar
Level 15

@bashy So does Vaprobash install a 2nd copy of Ubuntu ? I could live with just a VM.

bashy's avatar

Vaprobash installs a Vagrant VM (Ubuntu 14) with the software you select in the Vagrantfile.

Updated my reply above but you can get scripts to install a LAMP environment on Linux. Would still require configuring it though.

I've been messing about with headless servers (minimal Linux versions without desktop) for years now. I used Apache (and still do on one server), recently moved to nginx after I saw it's advantages. There's a lot of different config stuff to set in nginx but I can help if needed. Can always post problems if you really want to use your Mint OS as your web server.

austenc's avatar

Just want to say, that's the main advantage of homestead -- everything's 'ready to go'. If your system crashes or you move to a different machine, you can just install homestead and you're ready to develop. I use mac, windows, and linux machines, and use vagrant (homestead, specifically) on all of them. After integrating it into my workflow it has saved me countless hours configuring each system.

I highly recommend utilizing vagrant in some form. It makes things much more portable!

vincej's avatar
Level 15

I really get your point about VM's, but I struggle to get my head around the idea of running Ubuntu on top of Ubuntu and I do not want to go back to installing Vagrant on top of Windows 7

But, You have made me curious and interested. Currently I am running a dual boot machine with windows taking up 85% of the disc space. I could wipe my disc entirely then reinstall Linux for 100% then place Win7 on a VM.

Is there some way I can create segregated environments on the core Ubuntu install without them interfering with each other and without installing N copies of Ubuntu for each one ?? That way I could have a nginx webserver and an apache webserver or any combination of what ever I might want ?

vincej's avatar
Level 15

I am obviously missing something here - Installing Ubuntu takes a long time, although not as long as Win7. Banging out Homestead/Vagrant installs like doughnuts does not compute to me. Surely I will spend forever installing Ubuntu copies - no ?

austenc's avatar

I know that python devs use something called virtualenv -- no idea if that will help you here. As for the dual boot vs. vm situation, I would recommend just keeping dual-boot. You can use virtualbox directly and utilize any os inside a vm... however, visual performance is usually degraded so I generally stick to gui-less vm's.

Installing ubuntu in a vm when running it as a host os certainly does seem like ubuntu-ception, but I find the portability / turn-key nature of vagrant boxes is much preferred over manually configuring my machine. Even if you're fast at configuring php, nginx, mysql, etc... it's still manual work each time. :)

Additionally, you could have separate vagrant boxes with different 'environments' too. Before homestead, I utilized vagrant and a custom provision shell script to setup a similar environment. You also may create your own vagrant boxes. I found that forking the homestead repo (prior to the 2.0 changes) has filled my needs quite well.

austenc's avatar

How vagrant works is once you've installed vagrant, you can spin up new vm's fairly fast with base boxes. The first time they're installed, the 'base box' will need to be downloaded, but after that it uses the already downloaded base box.

You install vagrant / virtualbox once, and download the homestead 'box' once. After that you can create vm's as you please. Note that by default two can't be running at the same time because of port forwarding conflicts. Homestead utilizes nginx sites (think apache virtual hosts) to allow you to keep many projects under one vm. If you need apache, you could have a separate vm.

For my pre-homestead projects, they each had their own vagrantfile (kept in each project's repo) and associated provision.sh script. You could do this, but you'll need to shutdown other vms and start each when swapping projects (whereas with everything on one central vm you just keep it running).

Hope some of that helps?!

bashy's avatar

The note above about multiple VMs running is correct. However, I just set the IP differently for each one. You can also provision servers to use nginx/Apache setups.

I can't see anything bad about installing a Linux VM on Linux. The only part that takes a while is downloading the image for the OS. :)

1 like
austenc's avatar

@bashy is spot-on there. I should also mention that installing a linux vm on my mac seemed a bit weird to me at first too, considering os x is unix-based. It's all about automation, though. :)

vincej's avatar
Level 15

Running a Ubuntu VM makes sense on a Mac despite the fact that it is UNIX based. MacOS is built on FreeBSD. Most of the Linux based tools are built with Debian in mind,, and often Ubuntu specifically. So, it follows that if you are part of the 90% of Mac PHP users and you want to make use of all the nice tools then you will likely have to have a Ubuntu VM or else you can't use the stuff as there are not likely to be Mac versions.

But if you are already a Ubuntu user, loading Ubuntu on top of Ubuntu makes no technical sense. The question then becomes do I manually install all the tools directly onto Ubuntu and forego the automation of Homestead? Well, as @Bashy pointed out that is no big deal. I am an independent I my only concern is configuration. I am lead to believe that installing Nginx is challenging. So I might try to give it a go.

Thanks for everyone's feedback and assistance over the months.

Cheers and Merry Christmas to all !

bashy's avatar

Forget that Ubuntu is Ubuntu for a second. A VM is not about the OS, more of the ease of use it gives when wanting to test different environments.

This stuff about trying to get the environment similar to the server that's going to host your site is pretty much irrelevant. I've seen exactly the same setups not work when moving it. Long as you come prepared, it's fine :)

Ubuntu is based off Debian 99% of things work on both (commands etc). Just the package manager is different so you might get different versions of things. I use http://www.dotdeb.org for my PHP/MySQL packages.

There's no "need" to use a VM of course, if you wish to install it all on your main system, that's perfectly fine :)

Happy holidays

2 likes
vincej's avatar
Level 15

Heah thanks @bashy you have been a megastar not just to me but to the whole community. I am jealous of your knowledge and skill !

If I had a magic wand or perhaps the required skills or both I would build a Homestead or Composer style tool which would download and install all the various tools and toys without the obligation to install onto Ubuntu. Unless you are a MacOS user, to me it makes little sense to download and install a copy of Ubuntu. So, I guess, I will have to grasp the nettle of manual installs, which don't worry me. It's the configs which worry me ... so I guess I just might be taking you up on your offer of help with Nginx ! :o)

Many thanks !

bashy's avatar

Good luck and of course, post a thread and people (including me) will help you if you get stuck :)

austenc's avatar

@vincej -- I use homestead on ubuntu, linux mint, and windows 7 machines too. Personally, most devs I know do not use macs, they use either linux or windows, so homestead is certainly not 'just a mac thing'. It all comes down to whether you want to configure each of those things (nginx, php, etc..) manually or not. Using a vm (specifically homestead) will automate all that for you and let you focus on what is important, developing your app. As @bashy stated, it's about ease-of-use... furthermore, it's about automating a repetitive task -- having to setup your dev environment manually piece by piece. It may not seem to make sense to you, but embracing it will pay off in huge dividends of time saved in the future.

I could spend hours installing php, mysql, nginx manually on each system... or simply use a nice pre-packaged vm like homestead (or something like vaprobash?) to take care of that much faster, and focus on coding my app instead.

Ultimately, it's your call, but why make things harder for yourself if you don't need to?

Happy Holidays!

2 likes
vincej's avatar
Level 15

cheers @austenc I think I get it.

you have a great profile pic - i am a camper myself, and being from Alberta I can relate, but I can't even tell if you are male or female!

austenc's avatar

Thanks @vincej -- I really have been meaning to update that picture with a more personable face-showing version (I'm male, btw)! If you have any more questions about configuring your dev environment or utilizing vagrant / homestead, let us know, cheers!

djdiramio's avatar

I know this is a bit of an old thread, but @vincej you may want to look into Docker.com. That might give you exactly what you're looking for.

vincej's avatar
Level 15

@djdiramio thanks for the post - subsequent to my question I abandoned MS and went Linux 100%. To me there is zero point in using Homestead when you are already on Linux. The only point of Homestead is for Mac users who can not run Debian based apps ... which is about 99% of the development tools .

To me is it pointless buying a Mac and then living in a Linux world .. you might as well just install Linux, which what I have done.

bashy's avatar

@vincej I'm sorry but that last reply is totally off :P That's not the reason and Linux stuff compiles on Mac most of the time depending on GCC libraries etc.

Next

Please or to participate in this conversation.