I have an application that I want to export/install on another computer (same OS).
This application uses the following:
Apache
PHP
MYSQL
Some own software
The goal is that after downloading/installing the application on the other computer, I can start using the application immediately without having to configure anything.
Don’t really know where to start, how to package, etc.
Read a bit about docker, but don’t know if it’s the right approach.
Would appreciate some suggestions
Do you know if tar/zip is enough for my purpose? I understand that there are many files I need to find and include, but the same should apply if I use docker
If you have no experience of using Docker, I would avoid using Docker. Or, take the time to understand Docker and what it can do for you. If you do go the Docker route, then this might help:
If it were me I would probably do it by hand. Sure, that’s a bit annoying, but if it is a one-time thing then it’ll probably be easier to troubleshoot if you don’t introduce another layer of complexity.
The basic outline of the process is:
Make sure both machines have a similar version of Apache
Make sure they are both running the same version of PHP
Same goes for MySQL and your own software
Then you can copy over the files that make up your application to the correct directory (probably /var/www/html/...) and see what happens. You will possibly have to install or enable a couple of Apache mods and make sure your database is configured correctly (i.e. that the user that your application expects to find is present and with the correct password), but apart from that, that should be everything.
If you get stuck on specifics, feel free to post back here for help.
No this is not possible as on the computer must be a web server installed complete with all ini files etc.
At the end I am not sure if you really want to deploy a web application (hat is normally made for a client/server structure) as a client only application. This make no sense in 99% of all cases.
The implication was that a full AMP stack be delivered as part of the zip. Which is doable, but is more or less work for the recipient depending on the recipient’s OS.
Unless you’re doing a lot of customization of the configuration of those services, it’s probably overkill to package the whole thing.
Not sure if it is possible to setup a AMP stack with all files in one folder. At the end you need some environment variables set and/or paths added which might be not so easy for any user,
How about php scripts running inside the docker container. For example will shell_exec etc not work if I don’t include the relevant folders and libraries in to the docker?
My advice was to not use Docker for exactly that reason. It adds a layer of complexity that, if you are not familiar with Docker, will make debugging things harder.
Saying that, Docker is relatively easy to set up and play with. Why not try it out and see how you get on? You can always post back if you have a concrete question (such as shell_exec not working).
There’s no point playing around with it if it means I have to copy half the os/or create an infinite number of mount-points so that all the php functions will work
You are not really advising to let a normal user install a amp stack or? It’s like you sell a car and tell the customer to assemble the engine by himself…
How many applications do you know that distribute their own *AMP stack?
Does wordpress?
PhpMyAdmin? (Yeah it sucks, but the point being: a software distribution on an AMP setup)
It’s not selling a car and asking the customer to assemble the engine, it’s selling a headlight and expecting the customer to own a car.