How to ship/export an application?

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

1 Like

Docker does seem to be the best option for this these days.

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.

3 Likes

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.

1 Like

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.

1 Like

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,

Well a zip doesnt have to be a single folder.

Yup. Hence my saying

What if, I zip everything and include a installation file that installs apache, mysql, php and make the necessary configurations?

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

Again, what are you doing with the AMP stack that warrants distributing the stack, rather than just telling people to install their own?

1 Like

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.

1 Like