Install
From ClaroDevel
PHP Application Installer http://thebrainroom.com/opensource/php/installer.php
After looking at a number of PHP applications, I noticed that they are all trying to do the same things during installation; each with a slightly different interface; some are easy to use but are not very robust, others are robust but difficult for the user to understand.
This made me wonder... why isn't there a tool, like InstallShield or MSI (as used by Windows applications), for packaging and managing the tricky installation and initial configuration of PHP applications?
In order to fill that gap, we are pleased to announce the development of such a tool that is to be developed and distributed under the terms of the PHP license.
Status
The current status is: Planning/Early Development I have proof-of-concept code that can generate the installer packages, generate a configuration file and launch the installed application. Still need to iron out some of the framework and then I will publish a pre-release.
Features/Goals
- A Common "base" standard for configuring the installation directory, private (non WWW-visible) data storage area and session settings (cookie domains and paths).
- An easy to use user interface when installing via the WWW. When installing from the command line, the installer will use simple text-mode prompts. (but see long-term goals below!)
- Determine sensible (working!) defaults for most installation options, where file permissions allow
- Package the application as a single, compressed, self-extracting package.
A number of packaging options are available:
- Self-installing php script using gzip compression (any OS)
- Self-installing php script using bzip2 compression (any OS)
- More are planned - see the long-term goals below
- Modular framework so that installer capabilities can be easily extended.
- Provide base modules for mySQL, postgreSQL, Oracle, PEAR::MDB and other common database abstractions/libraries.
- Allow application author to brand the installer by providing their own style sheet and small logo(s).
- Robust, Reliable and suitable for commercial deployment
- At least make an attempt to handle installation on systems that have safe_mode enabled.
Long Term Goals
- Generate Microsoft Windows Installer (.msi) package (win32). PHP cannot perform certain operations running under IIS; running the installation from an .msi package neatly avoids these issues.
- Likewise, generate rpm and debian packages (it is important that these packages operate correctly with or without root access).
- When running from the web, and permissions are broken, and when the "su" binary is executable, prompt the user for their login name and password and use "su" to fix the permissions and/or create directories.
- When ncurses support is available, and the installer is being run from the command line, provide a nice text-mode interface similar in style to the web installer.
