#2129 closed Enhancement (fixed)
better installer
| Reported by: | cash | Owned by: | |
|---|---|---|---|
| Priority: | high | Milestone: | Elgg 1.8.0 |
| Component: | Installation | Version: | 1.7 |
| Severity: | minor | Keywords: | |
| Cc: | brettp | Difficulty: |
Description
The Elgg installer is good, but I think it can be made a lot better. Take a look at Piwik for an example of what an installer should be.
Features:
- Include links to the install troubleshooting page
- Create the database for the user
- Check dependencies and permissions (pull php5 tests out of .htaccess)
- Check that mod rewrite works
- Create the admin account in installer
How:
- Maybe pull the installer logic out of the core and create an install directory - the installer logic tends to get a little convoluted with the current setup
Why not
- Well, the installer works and we have fixed most of the bugs - but we still get a lot of people having trouble due to mod rewrite and getting greeted with a 404 error on install is not a good introduction. The average person installing this has no way to check if mod rewrite is working before starting.
Alternatives
- Include a check.php script in the base directory that people call call before installing. Have it run through the dependencies, permissions, and rewrite tests.
Change History (8)
comment:1 Changed 3 years ago by brettp
- Component changed from Core to Installation
comment:2 Changed 3 years ago by cash
If we can make sure the elgglib and a few other core libraries don't have dependencies on anything else, we can use those in the install process (but have the install logic live in the installer).
comment:3 Changed 3 years ago by brettp
- Priority changed from normal to high
I'm bumping this one up. While redoing the admin area there are a lot of interdependencies between installation and admin, especially in the views and actions. They can be broken out completely and will allow us to revamp the admin area without worrying about breaking installation.
comment:4 Changed 3 years ago by cash
(In [svn:6991]) Refs #2129 - integrates new installer code from http://github.com/cash/Elgg - does not work yet with non-Apache web servers
comment:5 Changed 3 years ago by cash
- Resolution set to fixed
- Status changed from new to closed
(In [svn:6998]) Closes #2129 - installer now works with web servers besides Apache - tested with nginx
comment:6 Changed 3 years ago by brettp
(In [svn:7003]) Refs #2129: Added missing language string for new installer.
comment:7 Changed 3 years ago by brettp
(In [svn:7005]) Refs #2129: Added missing language string for new installer.
comment:8 Changed 3 years ago by brettp
(In [svn:7006]) Refs #2129: Pulls some strings out into elgg_echo() in new installation.

I think the installation can be mostly decoupled from the rest of Elgg. Though for DRY purposes it's good to reuse what we have, bootstrapping the installation through the core engine leads to some bizarre logic in both. Installation doesn't need support for different views or the plugins subsystem.