I have a php application ( http://github.com/tchalvak/ninjawars ), essentially a php-based webgame that I run at http://ninjawars.net . I frequently configure and install the app for myself for localhost development, and it's a somewhat trial-and-error hacked-up process. Now that I've open sourced the app, I've got some users wishing to install it and make edits, submit patches, etc, and I want to make that as simple as I can for them.
I've heard of Ruby Gems, which I take to be a kind of package management system for ruby apps. Is there anything useful like that for php? Otherwise, what should I do to make installing as simple as I can?
Right now I think that a general idea of the install process may be as simple as:
All Deployments
---------------
1. Copy a live database (probably the easiest) or run any outstanding migrations off of a skeleton database.
2. Set permissions in pg_hba for the database, host, and user to match your configuration
Manually from within the /ninjawars/ folder of your working copy
-----------------------
1. ln -s docs/harkSAMPLEhtaccess deploy/www/.htaccess
3. ln -s docs/tchalvakSAMPLEresources.php deploy/resources.php
4. mkdir -p deploy/resources/logs
6. mkdir deploy/templates/compiled
7. chmod 777 deploy/templates/compiled
5. configure a virtualhost in apache (should be optional, this may be able to be handled by the .htaccess, I'm not sure)
So the biggies are chmodding, copying the database, and editing a virtualhost.
Simplifying that as much as I can on linux would be great, even more so simplifying it on windows as well (that unfamiliar land where many of my users currently reside). Suggestions?