All of our developers are remote in our company, including myself. The vast majority of our work centers around Laravel on a LAMP stack. We have various devs, some that are just for coding, some are for design work, some are for sysadmin, etc..
We frequently run into problems where developers have a hard time creating local dev machines, they can't figure out how to install XYZ or configure it. Or perhaps they have one, but it is completely different than the production servers so there are issues when we try to push their work into it.
We thought of rolling out cloud instances of dev boxes, but the network latency takes that off the table. They want to be able to use their IDE's and map the locations directly within their local environment via Samba or other such methods. These generally do not work well outside of the LAN.
What options do we have? Could we give our developers some modest hardware that could be used to virtualize our multiple environments (different versions of PHP, MySQL, Apache, NginX, etc.)? Then how would we provide them images of each platform? Is there anything already designed that handles this?
I am open to just about anything.
Note, this is different than the suggested duplicate because this is not about supplying a central server rack with vm's, rather separate machines to each user who can then virtualize from a network location