Unable to login as admin user after CLI installation of 8.3.0

After having tried the web based installer a number of times without success, I re-created the application directory and did a fresh install using console like this:

./bin/console suitecrm:app:install -u "my_admin" -p "my_secret_password" -U "db_user" -P "db_password" -H "127.0.0.1" -N "db_suitecrm" -S "https://mydomain.com" -d "no"

The installation completes without errors. But I cannot login with my_admin and my_secret_password

I simply get “invalid credentials”. There are no errors in the PHP log file, and no errors in the Apache log file(s).

Looking at the database directly in MySQL (MariaDB), the user is there, and has the correct admin flag set.

When I go to https://mydomain.com, I am greeted with a rather odd looking login screen, with no placeholder texts in the input fields and login button. If I clear the cache directories and re-load the page it displays OK.

If I wait some time before I try logging in, I get a different error message that says:

Error occurred while retrieving records

prod.log is filled with interesting information, but I’m assuming none of them are relevant, since I’m actually using 8.3.0 which I guess is considered stable?

Some examples:

[2023-05-22 17:16:05] php.INFO: User Deprecated: Since api-platform/core 2.7: Use an implementation of "ApiPlatform\Api\IriConverterInterface" instead of "ApiPlatform\Core\Api\IriConverterInterface". {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use an implementation of \"ApiPlatform\\Api\\IriConverterInterface\" instead of \"ApiPlatform\\Core\\Api\\IriConverterInterface\". at /var/www/suitecrm/public_html/vendor/api-platform/core/src/JsonLd/Serializer/ObjectNormalizer.php:44)"} []
[2023-05-22 17:16:05] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException: "Invalid CSRF token" at /var/www/suitecrm/public_html/core/backend/Security/CSRFValidationListener.php line 96 {"exception":"[object] (Symfony\\Component\\HttpKernel\\Exception\\AccessDeniedHttpException(code: 0): Invalid CSRF token at /var/www/suitecrm/public_html/core/backend/Security/CSRFValidationListener.php:96)"} []
[2023-05-22 17:16:05] php.INFO: User Deprecated: Since api-platform/core 2.7: Use "ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface" instead of "ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface". {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use \"ApiPlatform\\Metadata\\Resource\\Factory\\ResourceMetadataCollectionFactoryInterface\" instead of \"ApiPlatform\\Core\\Metadata\\Resource\\Factory\\ResourceMetadataFactoryInterface\". at /var/www/suitecrm/public_html/vendor/api-platform/core/src/Serializer/SerializerContextBuilder.php:41)"} []
[2023-05-22 17:16:05] php.INFO: User Deprecated: Since api-platform/core 2.7: Use "ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface" instead of "ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface". {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use \"ApiPlatform\\Metadata\\Resource\\Factory\\ResourceMetadataCollectionFactoryInterface\" instead of \"ApiPlatform\\Core\\Metadata\\Resource\\Factory\\ResourceMetadataFactoryInterface\". at /var/www/suitecrm/public_html/vendor/api-platform/core/src/Serializer/SerializerFilterContextBuilder.php:40)"} []
[2023-05-22 17:16:05] php.INFO: User Deprecated: Since api-platform/core 2.7: The listener "ApiPlatform\Core\EventListener\ReadListener" is deprecated and will be replaced by "ApiPlatform\Symfony\EventListener\ReadListener" in 3.0. {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: The listener \"ApiPlatform\\Core\\EventListener\\ReadListener\" is deprecated and will be replaced by \"ApiPlatform\\Symfony\\EventListener\\ReadListener\" in 3.0. at /var/www/suitecrm/public_html/vendor/api-platform/core/src/Core/EventListener/ReadListener.php:66)"} []
[2023-05-22 17:16:05] php.INFO: User Deprecated: Since api-platform/core 2.7: Use "ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface" instead of "ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface". {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use \"ApiPlatform\\Metadata\\Resource\\Factory\\ResourceMetadataCollectionFactoryInterface\" instead of \"ApiPlatform\\Core\\Metadata\\Resource\\Factory\\ResourceMetadataFactoryInterface\". at /var/www/suitecrm/public_html/vendor/api-platform/core/src/Symfony/EventListener/DeserializeListener.php:63)"} []
[2023-05-22 17:16:05] php.INFO: User Deprecated: Since api-platform/core 2.7: Use "ApiPlatform\Metadata\Resource\Factory\ResourceMetadataCollectionFactoryInterface" instead of "ApiPlatform\Core\Metadata\Resource\Factory\ResourceMetadataFactoryInterface". {"exception":"[object] (ErrorException(code: 0): User Deprecated: Since api-platform/core 2.7: Use \"ApiPlatform\\Metadata\\Resource\\Factory\\ResourceMetadataCollectionFactoryInterface\" instead of \"ApiPlatform\\Core\\Metadata\\Resource\\Factory\\ResourceMetadataFactoryInterface\". at /var/www/suitecrm/public_html/vendor/api-platform/core/src/Action/ExceptionAction.php:58)"} []

Then there’s some stuff in suitecrm.log:

Mon May 22 16:57:01 2023 [111914][1][SECURITY] OutboundEmail::checkSavePermissions - not logged in - skipping check
Mon May 22 16:57:01 2023 [111914][1][FATAL] User update error: Temp User is not retrieved at ID 1, boolean given
Mon May 22 16:57:01 2023 [111914][1][FATAL] Email address save error
Mon May 22 16:57:02 2023 [111914][1][SECURITY] Invalid ext  logger_file_ext : ''.
Mon May 22 16:57:02 2023 [111914][1][SECURITY] Setting logger_file_ext to '.log'.
Mon May 22 16:57:02 2023 [111914][1][SECURITY] Setting logger_file_name to ''.
Mon May 22 16:57:02 2023 [111914][1][SECURITY] Log file extension can't be blank.
Mon May 22 16:57:02 2023 [111914][1][SECURITY] Setting logger_file_name to ''.
Mon May 22 16:57:02 2023 [111914][1][SECURITY] Log file extension can't be blank.

If I open the web browser console, I see this:

https://mydomain.com/api/index.php?action=Login&module=Users
404 Not Found

So it seems I won’t be getting any further.

These kinds of initial problems with v8 are usually caused by

  • wrong ownerships permissions
  • wrong web root
  • wrong or missing mod_rewrite

These items are covered in the installation instructions, but there could be differences from system to system…

Yes, I can understand that these are common issues, or places with issues.

But I think I have followed basically every piece of information I have been able to find, read log files, checked other posts, etc.

I’m using the .htaccess files as supplied in the .zip archive, all “roots” / “virtualhosts” are pointing to the public folder. I’m not seeing any errors in the PHP log file that I can relate to this, and everything is run as crmuser:crmgroup (PHP-FPM 8.0) and owned by crmuser:crmgroup, with folders being 770 and files being 660. Apache runs as www-data:www-data, and www-data is a member of crmgroup. I’m not getting any file or folder permission errors in any of the log files.

I’m a reasonably experienced PHP developer and system administrator (since 1998) for Linux systems, so I think I’ve checked in every place I can think of, but I could, of course, have missed something.

Which Linux are you running? If it uses SELinux you need to configure it.

You can also check your PHP’s session.save_path which needs to exist and be writeable.

Are you using the installer package (which includes the vendor directory) or a zip from Gituhb?

I use Ubuntu 22.04.LTS. I have tried PHP-FPM 7.4 and PHP-FPM 8.0. I use MariaDB 10.6.

There are no errors with sessions that I’ve been able to find. The directory is writeable by PHP (and there are sessions files created in it).

I’ve filed an issue here:

I’m using the package available here (8.3):

That links leads to:
https://suitecrm.com/download/140/suite83/562304/suitecrm-8-3-0.zip

Can you try using a simpler password for admin? One with just letters or numbers, no symbols?

Yeah, I did that. During my last attempts, I basically did an “admin/password” installation (not quite, but you get the idea), and that didn’t work either.

I realize this is probably a really strange issue, possibly caused by the “CSRF Token” issue (as reported on GitHub by others). But I cannot, at the moment, invest more time in this.

I ended up using the Bitnami SuiteCRM Docker image and got it running after tweaking my local Apache to act as an SSL-terminating reverse proxy. So it’s “all good”, but I would have liked to get the actual “raw” installation working as I can tweak MariaDB and PHP settings better in that situation.

Thanks for all your attempt at help though :+1:

1 Like

Did you test logging in locally, instead of via the website?
When I login directly on the server at home, there is no problem, but when I login via internet the login will fail most of the time…

The server I’m working with is only reachable via the Internet, so I’m afraid that’s not an option. I also don’t think that’s the actual issue in my case. But thank you for your suggestion.