I currently have an installer that works, but I have to repackage the open source apps and hack things together to get the installer to install them. I want to be able to use the apps installation method without having to hack and repackage. So I am thinking about rewriting it.
It will allow a user with little to no tech experience install open source apps (ie. WordPress, Joomla, Drupal, et.al.). There are a few requirements I want to meet:
- The installation should run the scripts install process to make sure the database is setup correctly and the passwords use the apps default password encryption processes.
- Ability to track the progress and report back any errors.
- Ability to run upgrades for future releases.
- Ability to remove the application if someone decides they do not want it any longer.
- The only access I will for sure have to the users remote server is via FTP.
I have thought about using Selenium. However, if you were challenged to hand spin the code in PHP, how would you do it?
UPDATE FOR CLARIFICATION:
The installer will collect the scripts settings from a form in the browser filled out by the end user. The installation process (that runs in the background and connects over FTP to the users server) will then process the installation. (i.e. SimpleScripts, Installatron, Softaculous, Fantastico, WebPub, etc.) I am trying to figure out how you would design the cleanest simplest install process possible. It needs to create databases, install the application using the scripts install method (as if the user was running it manually), etc. I hope that clarifies the challenge.