Installing from "source" is always a bad idea. We demanded this from our users until now, and it generally makes problems. I suggest we start working on "binary" packages for freepbx, and having unofficial repositories with packages for several distributions.
The problems we need to address:
- Currently, we install everything into the webroot, without thinking. Not smart. The package needs to install the web pages into /usr/share/freepbx, and the post install should add a virtual directory, or link the between /var/www/html/freepbx -> /usr/share/freepbx
- The packages need also to do the initial SQL setup. On Debian/Ubuntu we can use debconf to ask the user for a location of the SQL server and type (MySQL? PGSQL? sqlite3? Local... remote...?). The package should also create users (with random passwords) for the SQL tables (only if created by the script).
- We also need a method for modifying the status of the modules. Since also the modules need to be packaged (online update should be revised, since it is not always possible in the way it's done currently). We need a script which queries the status of the modules, and is able to modify the status of a package. This script will be called on the post-install script of each module.