Migration from suitecrm 7.14.8 to 8.9.2

I followed all the correct update steps, but the content appears blank.

Check out the errors in the log file.

Did you set correct permissions for files & folders?

Check below too:

this permisions

sudo chown -R www-data:www-data CRM/suitecrm8

sudo find . -type d -not -path “./node_modules/*” -exec chmod 775 {} +

sudo find . -type f -not -path “./node_modules/*” -exec chmod 664 {} +

Set the required permissions (Run all 4 one-after-another)

If you are using the terminal you can do this by running:

find . -type d -not -perm 2755 -exec chmod 2755 {} \;

find . -type f -not -perm 0644 -exec chmod 0644 {} \;

find . ! -user www-data -exec chown www-data:www-data {} \;

chmod +x bin/console

Please have in mind that:

  • The user and group name (in the above example www-data ) needs to be replaced by the actual system user and group that your webserver runs under. This varies depending on your operating system. Common web server users are as follows:

    • www-data (Ubuntu Linux/Apache)
    • apache (Linux/Apache)
  • If the group name differs from the username apache is running with, you may need 0664 instead of 0644, and 2775 instead of 2755

Hello Pascual,

two more questions:
Do you have custom code in your CRM? (debug this first / try to remove / deactivate this first)
Do you see any error messages in the browser console?

I applied that permission and it’s still the same, brother.

Interesting, Are you sure your web server running on www-data user?

Can you view modules and admin menu or is it just an issue with home page?


Check log files under:

logs/prod
logs/legacy

Yes, I have customizations in the CRM.

I have Unsatisfied version 8.9.2 from shell of shared singleton module core (required ^auto) main.e79365837eeeed4a.js:59:3399747 Login success main.e79365837eeeed4a.js:26:138832 Download the Apollo DevTools for a better development experience: Apollo Client Devtools – Get this Extension for 🦊 Firefox (en-US) main.e79365837eeeed4a.js:59:1291404 This page is in Quirks Mode. Page layout may be impacted. For Standards Mode use “”.

It also appears in the administration panel.

tail -f logs/prod/prod.log
[2026-01-14 16:17:57] console.CRITICAL: Error thrown while running command “suitecrm:app:upgrade -t ‘SuiteCRM-8.9.2’”. Message: “The stream or file “/home/admin-pa/Programacion/CRM/suitecrm8/logs/upgrade.log” could not be opened in append mode: Failed to open stream: Permission denied” {“exception”:“[object] (UnexpectedValueException(code: 0): The stream or file “/home/admin-pa/Programacion/CRM/suitecrm8/logs/upgrade.log” could not be opened in append mode: Failed to open stream: Permission denied at /home/admin-pa/Programacion/CRM/suitecrm8/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:115)”,“command”:“suitecrm:app:upgrade -t ‘SuiteCRM-8.9.2’”,“message”:“The stream or file “/home/admin-pa/Programacion/CRM/suitecrm8/logs/upgrade.log” could not be opened in append mode: Failed to open stream: Permission denied”}
[2026-01-15 11:23:04] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException: “Invalid CSRF token” at CSRFValidationListener.php line 95 {“exception”:“[object] (Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException(code: 0): Invalid CSRF token at /home/admin-pa/Programacion/CRM/suitecrm8/core/backend/Security/CSRFValidationListener.php:95)”}
[2026-01-16 01:56:50] request.ERROR: Uncaught PHP Exception Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException: “Invalid CSRF token” at CSRFValidationListener.php line 95 {“exception”:“[object] (Symfony\Component\HttpKernel\Exception\AccessDeniedHttpException(code: 0): Invalid CSRF token at /home/admin-pa/Programacion/CRM/suitecrm8/core/backend/Security/CSRFValidationListener.php:95)”}

It looks like permissions issue (permission denied) .

Is your root set still /public in the apache web server?


Make sure you have downloaded correct upgrade package.

Steps for upgradation:

I’m running it locally, first applying updates with a local CRM suite, before deploying it to production.

That’s correct way to do it.