SuiteCRM 8 Beta - Install Questions

Legacy rewrite internal server error

Related posts

As raised on the following post:

Errors

From the post mentioned above:

Possible root cause

Misconfiguration in the legacy .htaccess

This can happen if the the site url provided during the install is not the correct one.

Debugging the problem

Check the .htaccess file under /your/crm/path/public/legacy.

Your RewriteBase should have something like /public/legacy. Check the following excerpt.

<IfModule mod_rewrite.c>
    Options +SymLinksIfOwnerMatch
    Options -Indexes
    Options -MultiViews
    RewriteEngine On
    RewriteBase /public/legacy

Solution

Note:
Please check the if you have mod_rewrite configured. The following thread may help SuiteCRM 8 Beta - Install Questions - #3 by clemente.raposo

Solution 1

Try updating RewriteBase to /public/legacy

Please also make sure that the site_url on /<your-crm>/public/legacy/config.php is correct. It should be pointing to your legacy path, something like: https://<your-host>/public/legacy

Note: Please note that if your vhost is not directly pointing to /<your-crm>/public and you have SuiteCRM installed on a sub-folder like https://<your-host>/suite-8/public you will need to add something like /suite-8/public/legacy to RewriteBase. And something like https://<your-host>/suite-8/public/legacy to site_url on config.php

Solution 2

Try re-installing. When running the ./bin/console suitecrm:app:install command, please make sure that the url provided points to your SuiteCRM 8 main path:

  1. if you have your vhost pointing to /<your-crm-path>/public the site url should be something like https://yourhost/

  2. if you have your vhost just pointing to /<your-crm-path>/ the site url should be something like https://yourhost/public. Note: Ideally you should not use this option, as only the files on public should publicly available.

yarn install ECONNREFUSED

Note

This should only apply when trying to do the developer environment install (i.e. installing from the repo)

Related posts

As raised on the following post:

Errors

From the post mentioned above:

Possible root cause

Note: this error should only happen if you are trying to setup SuiteCRM from the repo, instead of using the packed zip.

Outdated version on yarn.lock on the current repo code.

This may happen on the currently published yarn.lock. It will be updated and published soon.

Temporary Solution

Note: This solution should only be applied while the yarn.lock is not updated

In Step 4 of installation, Running the Command from public/legacy path, it throws error as it would not find the library, Even after running composer update in root folder several times.

-bash: ./vendor/bin/pscss: No such file or directory

Here are the contents of vendor in root.

Hello everyone, I install suite8 according to the instructions
https://docs.suitecrm.com/8.x/developer/development-install-guide/.

But I already did it.

Hi @cherub-chum,

Thank you for the feedback once again.

From the error I imagine you’ve executed composer install with --no-dev on the legacy folder, right?

To run the ./vendor/bin/pscss you need to run just with composer install, as the pscss is a dev dependency.

Please try running composer install on the legacy folder (under public/legacy) and after that re-running the pscss command also under public/legacy.

Please let me know if you still have issues after that.

Also, I think that the reference to composer install --no-dev in the developer guide, may be misleading.

I’ve added a PR for removing that from the documentation and to add a note explaining that pscss was added as dev dependency

Hi @palach,

Thanks for for trying out SuiteCRM 8 and for your feedback.

In order to be able to help, just wanted to ask:

Are you installing from the repo? or from the package zip?

Have you run composer install on the Suite 8 folder and on the legacy folder (under public/legacy)?

Hello @clemente.raposo
Yes that was the issue, i was using --no-dev for install.
Moving forward in step 11 for ./bin/console suitecrm:app:install
i get
Already installed. Stopping
Is that due to repo checkout ?

For Step 12, reset permission, those are still on <Root>/public/legacy folder ?

Hi @cherub-chum,

Regarding the comments above:

When running the install command, and for the moment, it does a very simple check to try to understand if the system was already configured. It checks for the .env.local file. (we are going to improve this soon).
So your are getting the above message probably because of a previous attempt to run the install. Just remove the .env.local / .env.local.php and try again. Also, please make sure you have a clean db, before running the install, as the install adds the needed tables.

Please run them on the Suite 8 root folder (not on public/legacy) , to make sure everything gets the right permissions.

Please let me know if you still have issues after trying the above.

Is there any install log for the process?
I am using socket on my Localhost MAMP installation, which might be an issue since the Suite App Install only asks for username/password and the URL.

Hi @cherub-chum,

yes that is a good point, regarding the socket, which kind of configuration do you usually use when setting up Suite 7?

Regarding the log. Please check on public/legacy/suitecrm.log.

The install command after adding the Suite 8 side configuration, calls the silent install on legacy. Legacy is handling the bulk of the install process and it should log to suitecrm.log, if I’m not mistaken.

Hi @cherub-chum,

@Matt reminded me that there should also be an public/legacy/install.log.

Thanks @Matt

1 Like

public/legacy/suitecrm.log has

Could not connect to DB server localhost as root. port : No such file or directory

And the db is empty no Tables created.

Suite7 Config has no Port or Socket mentioned that i checked.

Thanks I mack composer install in public/legacy and suiteCRM8 installed success.

Hi Guys,
I am trying to install v8 on Ubuntu v20.10 server but during the installation process I get the message:

‘Attempted to call function "mysql_connect’ from the global namespaces.’

My configuration:
Apache 2.4
PHP 7.4 and 8
mySQL 8 .0.23

Is the function ‘mysql_connect’ not from old php versions ? Where did it get here ?
Thanks for help.
sla

Hi @sla,

Welcome to the community and thank you for trying out Suite 8.

Also, sorry for the delay in replying, we are on a quite busy period at the moment.

Regarding the above question, Suite 8, at the moment still relies on Suite 7 for many things.

More details

just a bit of context:
For several reasons among them backwards compatibility reasons, Suite 8 still relies for a good part of the backend on the Suite 7. Suite 8 “contains” an Suite7 within it on the public/legacy folder and it uses a concept called “Legacy Handlers” to call suite 7 for whatever it needs.

Though the only place I see we are using the mysql_connect is in public/legacy/include/database/MysqlManager.php. Though preferably we should be using MysqliManager instead.

Do you have mysqli php module installed?

More details

The code on legacy is doing the following:
public/legacy/include/database/DBManagerFactory.php

    if (empty($config['db_manager'])) {
        // standard types
        switch ($type) {
            case "mysql":
                if (empty($sugar_config['mysqli_disabled']) && function_exists('mysqli_connect')) {
                    $my_db_manager = 'MysqliManager';
                } else {
                    $my_db_manager = "MysqlManager";
                }
                break;

Finally, thank you for bringing this up.

@Mac-Rae we need to add the list of required php modules to the Suite 8 documentation - Compatibility matrix

@Matt FYI. Probably something we need to look at, though I think we need to drop support for MysqlManager on php 8

Hi @cherub-chum,

Could you try with a connection without using the socket to check if it works, please?

We need to look into configuration for socket connection.

Hi Guys!

Just fixed the installation and now I’m workin on this issue for hours :sob:. What I’m doing wrong?

Some of the variables don’t seem to reach the legacy module and I can’t imagin why.

Anyone here who can help me plz? Thx.

Hi @m.teufel

Welcome to the community and thanks for trying out SuiteCRM 8 Beta.

During debugging have you enabled error reporting?

That kind of error usually shows when you have display_errors set to true.

You should be able to change this on php.ini

Have a look at the following threads they may help:

Hope this helps

1 Like

Thank you very much! Switching display_errors=off in php.ini solved the issue.