I've made a PHP application and some customers want to install it on their own desktops. But I don't want to install nginx, PHP, MySQL, Redis, etc separately for each customer and then install my web application separately. It's too hard and prone to a lot of problems.
I'm looking for something like a virtual machine that everything is already installed and set up on it, then I just deliver that to the customer. When customer starts this machine, the machine listens to a port on their desktop and the customer can access my web application through a web browser on localhost (or a browser inside that machine?).
Is this possible? How?