Reducing the high initial hurdles of installing Suite

The high initial hurdles need to be removed with improvements to the installer. Suite should easily self install to Linux, just like WordPress and Joomla do. It should tell you when and if any component is missing, and offer to install it for you if it’s something basic - such as Linux commands and PHP modules. Suite can and should install itself so that permissions and ownership are taken care of at the start, so that Suite always creates files and dirs with correct ownership, and users should never have to fiddle with running commands to fix files and dirs ownership that got created with root ownership and are inaccessible by the Suite application.

You’re absolutely correct and you can post this in suggestion box too. :melting_face: :crossed_fingers:

For me, that is this PR here:

I had tons of plans to keep adding to that after it was merged, but inexplicably it hasn’t, for almost 4(!) years now, and with a dozen times that I reminded several people in SA of this.

It has cost me many hours of my life, the fact that this isn’t merged, and years later I (and many others) am still pointlessly wasting post after post after post just to gather basic info to help.

Apart from just making things more straight-forward and practical, that PR has a new scheme that allows bridging the “two worlds” where SuiteCRM runs: “adds a generic mechanism to query the web server side of PHP from the CLI side.

After that PR was proposed, v8 was introduced and it only adds to the previous installation issues that existed. All the old ones are still there, now we have more trouble with webroots, we have mod_rewrites, more log files…

3 Likes

I hope :crossed_fingers: this will get merge into SuiteCRM soon. :face_with_spiral_eyes:

  1. At install time, the installer should configure the application so that it should never create inaccessible dirs or files.
  2. At runtime, the application should auto detect if and when it’s failing to access a file or dir due to wrong ownership - easy to happen, when an admin forgot to run commands as the app user, created some files/dirs as owned by root, and as a result, ordinary apps (Suite) can’t run the files, change to the dirs, or read those files/dirs.

Agreed.

I will just note that your number 1 won’t always be possible, on shared hostings they often don’t let PHP touch ownerships or permissions. But at least SuiteCRM should try (for the cases where it is possible), and fall back on your number 2 - warn people and provide specific commands to execute.

Exactly, on shared hostings, it’s the simplest case, least likely for the app to fail. You’re always running as the shared account username, so it’s 99.9% impossible to accidentally create files/dirs owned by another user (root or any other user), resulting in the Suite app failing to access those files/dirs, so all is good!

Hhmm… not my experience from what I see in these forums. I mean, I understand what you’re describing, if SuiteCRM can’t touch permissions, it can’t break things.

But I am afraid that often they let you breaks things in other ways, because you log in as a different user, mess around with ownerships, and then when you run SuiteCRM it can’t change that.

I would say that a properly managed shared hosting will end up facilitating things (as long as they also run the web server for you under your own username), but there are a lot of messy systems out there which create worst case scenarios for SuiteCRM - you can break things (from console or FTP or SSH) but you can’t fix (from PHP).

Automated installers are sometimes the cause for the mess. You can just “click to install” SuiteCRM, but not properly installed, and then after that everything is too locked down.

Any way - as long as we do what is the best possible thing for each scenario, that would be a huge improvement over what we have today.

2 Likes