views:

90

answers:

3

I've developed an open source application in php and mysql. I'd like to give it to the end user to install on their computer and use from their browser without me having to host it for them. But the end users are non-developers so they're unlikely to have what it takes to run the application (php-apache local environment like a developer would) and I don't have the time right now to invest in learning the Windows or Mac SDKs to make a real windows or Mac application. Also most of those interested in it are friends or their friends.

The solution I'm considering is to package apache/mysql/php with the php app itself, and have the installer install them so the app could run from inside the www/htdocs folder. It's like an app that comes with its own server to run it.

  • Has anyone done this sort of thing before?
  • Do I need to build apache/php/mysql from source on windows to do this, or can I somehow use existing windows binaries and have my installer just install them and position my app in the right location?
  • I'm guessing that launching or closing the application could be done through starting/stopping apache, so how would I implement a start/stop to tie into the apache start/stop.
  • Any help or ideas on this would be appreciated.
+2  A: 

you should include the zip of xampp with the files you need for the app preloaded in the htdocs folder. you can have the users extract it to their c drive root and include some sort of README or instructions on how to start up apache and mysql. xampp includes a convenient little control panel for this purpose.

edit:

I personally use xampp all the time when I am traveling and can't be connected to my server for active development. it works wonderfully and is contained all in one folder. It also doesn't require any installation, you just unzip the package. one caveat: installing to anywhere but C:\xampp is annoying.

Scott M.
+3  A: 

I'd like to give it to the end user to install on their computer and use from their browser without me having to host it for them. But the end users are non-developers so they're unlikely to have what it takes to run the application

Why not provide a hosted solution? Host it on your server and allow your friends to create instances in your server. Is there any reason you can't do that?

thomasrutter
Re hosting hosting it myself, I don't want to go that route because I'd have to add user authentication and change the app and database to account for multiple users. Also the user will have to be connected to the Internet to use it, but the app doesn't really need the Internet in any way, it doesn't take data from the outside or need to interact with other users for example to warrant needing an Internet connection. So it makes sense to keep it self-contained. With that clarified, what's "creating instances" all about, though it probably won't fit the criteria explained
lok
Fair enough explanation. By creating instances I just imagined that your app would give each person their own login and their own separate area that they could use.
thomasrutter
+4  A: 

Have a look at BitNami Stacks, should definately have want you need in terms of a WAMP setup

Stoosh