We have moved to Github. Please open tickets there.

Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#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

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.

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.

Note: See TracTickets for help on using tickets.