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:
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)"} []
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.
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.
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.
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.