On Linux, I need to ask what your favorite installation options are for
a PHP app as a kind of poll. In this first part, I discuss the Install
Wizard choices. In Part 2, I discuss the database configuration
choices.
Consider SugarCRM. It's really an SDK that you customize. Knowing that,
you might want to download about 4 to 30 different PHP/CRM products,
try out which one you like, and then try to customize 3-4 of your top
choices, before you finally decide on which one is your favorite and go
with that. Most of these will also need to auto-detect the way you have
your MySQL or PGSQL database and try to create a database automatically
for you. If there is any false move or false assumption by one of these
organizations trying to pitch their app to you and you might be turned
off not to use it. About the only thing known on Linux is that you
might have PHP 4.x installed and a MySQL and PGSQL database.
So, which way do you prefer to install such an application to test it
out? Some suggestions are:
These all start with "They unzip a folder and read a README inside that
says to launch a Bash script that..."
# A. Launches a PyGTK (Python) installer. Users see a nice wizard
screen. They follow the options just like a Windows app would be
installed, and then they connect to it with their browser. Works great
right out of the box on Fedora and Ubuntu, even if a few OS revisions
old. On other distros, may not be so lucky.
# B. Launches an X-based installer. Users see the same thing as the
PyGTK screen, but it works whether they chose GNOME or KDE, looks
great, and has low-dependencies to run the GUI. The so's (equiv. to Win
dll's) would be statically linked to lower the dependencies. It's
fairly difficult to create such a thing, I would think, without an
extensive C++ background on Linux.
# C. Launches a Java installer. Same as the X-based installer, but
easier to build, although may not work on all versions of Java that
someone may have on Linux. This might be aggravating for the Java hater
to have to get Java installed first.
# D. Requires apt. They apt-get for it or use Synaptic, but then it
prompts them to install Python and the entire PyGTK thing. Once done,
it throws up a wizard GUI in PyGTK and asks them to complete the
configuration process.
# E. Prompts them to connect to index.php of the "install" subdirectory
of this folder. This guides someone through the install process. This
might be the most preferrable option, don't you think?
# F. Loads a "micro web server" on port 9080 and then prompts the user
to connect to it with their browser to finish the install. People might
scratch their head and wonder why you didn't choose the previous
option.
# G. Prompts them in plain-text fashion for all the options, then
installs as directed. This is fairly easy to understand (if the Bash
script can be read easily), but lacks style.
# H. Prompts them in plain-text fashion for all the options, but uses
VT100 Escape Codes to do fancy screen handling, screen coloring, create
fake "buttons", menus, and provide an attractive "GUI" (TUI) in a
"wizard" to guide them through the configuration process. Looks about
100x better than the average Curses-type of text "GUI" (TUI).
# I. Tells them to open a small Installation manual in PDF form. They
then configure things by themselves and then connect to an index.php to
use the application.
You might have other options and I look forward to hearing them.
Right now, I'm thinking that option # E would be the most sensible and
preferrable, and has a touch of class. It also works on those systems
where the server has no GUI, just a WUI (web user interface) from a
remote connection.