SuiteCRM 8 Beta - Install Questions

There have been several questions about the SuiteCRM 8 Beta install.

Opening this thread as a common thread for all SuiteCRM 8 Beta install related questions and issues

Listed issues/solutions:

1 Like

Any update on SuiteCRM 8 - Q & A
still facing this issue.

404 GraphQL call error

Related posts

As raised on the following post:

Related github issues

Errors

If you are getting an 404 when calling /api/graphql, like:

error_console

Possible root cause

The 404 here suggests that you may not have your webserver configured to allow re-writes.

Debugging the problem

To make sure that the problem is indeed related with mod_rewrite

You can double check if this is a re-write problem by doing a request to: https://<your_host>/index.php/api/graphql . If you get an error message similar to the following and not a 404 it means its a problem with the rewrite.

image

Solution

Please check that you have mod_rewrite enabled in apache. Also check that your server is configured to allow re-writes for your page with a configuration similar to this:

<VirtualHost *:80>
    ServerName domain.tld
    ServerAlias www.domain.tld

    DocumentRoot /var/www/project/public
    <Directory /var/www/project/public>
        AllowOverride All
        Order Allow,Deny
        Allow from All
    </Directory>
    
    

Hi @cherub-chum,

Thank you for the update.

Last week we’ve updated the Development Install Guide, have you had the chance to go through it?

overall you be using the commands configured in package.json instead of directly using ng build

  • yarn run build-dev:common
  • yarn run build-dev:core
  • yarn run build-dev:shell

The above commands then call ng build.

The reason for having to use yarn is that yarn supports webpack 5, while npm doesn’t yet.

And webpack 5 allows us to use Module Federation, which is the base for the frontend extension framework.

Please let me know if the above guide works of if you still have issues.

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