472,127 Members | 1,895 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,127 software developers and data experts.

Considering Linux PHP App Deployment, Part 1, The Install Wizard

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.

Aug 6 '05 #1
3 1651
On 6 Aug 2005 16:05:54 -0700, "Google Mike" <go********@hotpop.com> wrote:
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..."
In decreasing order of my preference:
# E. Prompts them to connect to index.php of the "install" subdirectory
Unpack and configure through browser is neat (if done well). My most preferred
option for a PHP app.
# G. Prompts them in plain-text fashion for all the options
G part 2 - use autoconf, so you can use the now nearly universal:

configure --prefix=wherever --more-options-that-you-can-get-from-help
make install
# H. Prompts them in plain-text fashion for all the options, but uses
VT100 Escape Codes to do fancy screen handling, screen coloring # I. Tells them to open a small Installation manual in PDF form.
Preferably manual in plain text, then HTML, before PDF.
# D. Requires apt.
Never used apt but putting above the GUI/private server options anyway because
I don't think they're a good idea in this context.
# C. Launches a Java installer.
# B. Launches an X-based installer.
# A. Launches a PyGTK (Python) installer.
These live very far down the list.
# F. Loads a "micro web server" on port 9080>


Yuk, for the reasons you state.

--
Andy Hassall / <an**@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
Aug 9 '05 #2
NC
Google Mike wrote:

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. .... # 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.


# J. The entire distribution consists of a single file, install.php.
When executed, the file grabs the rest of the application from
the developer's Web server, installs it (including creating
necessary directory structure and databases/tables) and, perhaps,
deletes itself. The obvious drawback is that it required
allow_url_fopen = On and an Internet connnection, but with this
approach distribution (including version upgrades) becomes a
breeze.

Cheers,
NC

Aug 10 '05 #3
NC wrote:
Google Mike wrote:

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.

...
# 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.


# J. The entire distribution consists of a single file, install.php.
When executed, the file grabs the rest of the application from
the developer's Web server, installs it (including creating
necessary directory structure and databases/tables) and, perhaps,
deletes itself. The obvious drawback is that it required
allow_url_fopen = On and an Internet connnection, but with this
approach distribution (including version upgrades) becomes a
breeze.

Cheers,
NC


Thanks, you guys are great! :) I'll take these into consideration with
my next project.

Aug 10 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Steve | last post: by
10 posts views Thread by =?Utf-8?B?UHVuaXQgS2F1cg==?= | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.