Hi everyone,
After being unable to install Suite CRM 7.12, I am now trying to install SuiteCRM 8.1.2 from the official site. My server has Plesk Obsidian v18.0.45 running over Ubuntu 20.04.4 LTS, with Apache version 2.4.41 and PHP version 8.0.21.
I have followed step by step the official installation guide for v8, as well as read and tried some tips given in this and other forums. So this is what I have done:
-
Uncompressed the zip file in my computer and then uploaded all files via ftp, as some people reported issues when uncompressing directly in the server.
-
Created a subdomain crm.mydomain.com and pointed it to /suitecrm/public/
-
Updated the system and installed PHP 8.0-FPM from Ubuntu at the ondrej/php repository, in order to be able to try workarounds with Pleskâs 7.4, Pleskâs 8.0.21 and the âofficialâ 8.0-FPM versions of PHP, even though the errors I get reproduce with all of them.
-
Chose initially the âofficialâ 8.0-FPM version of PHP. Listed all modules and couldnât see âcliâ nor âcommonâ on the list, so installed them. After installing them, listed all modules and still could not see them.
-
Enabled mod_rewrite in Apache in 2 ways: first with the âsudo a2enmod rewriteâ command (answered that it was already enabled) and, just in case, adding the âRewriteEngine onâ to the âhttp and https additional directivesâ sections in the Apache settings tab of Plesk for the crm subdomain.
-
Also added the directives âOptions Indexes FollowSymLinksâ, âAllowOverride Allâ and âRequire all grantedâ to the /suitecrm/public folder using the Directory tag in the /etc/apache2/apache2.conf file using sudo nano.
-
In Pleskâs PHP settings for this crm subdomain, added the [opcache] directives.
-
I made sure that the username and group of Apache are both www-data. Once confirmed, I executed the following as suggested:
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
After this, I tried to open the install page and got 3 errors. As per what they say, they look to be 2 errors related to Composer and 1 error related to Symfony (but I donât have the knowledge nor the experience to interprete them):
Warning: include(/var/www/vhosts/plesk-subscription-name/httpdocs/website-folder/suitecrm/vendor/composer/âŚ/âŚ/core/backend/Currency/LegacyHandler/CurrencyHandler.php): Failed to open stream: No such file or directory in /var/www/vhosts/plesk-subscription-name/httpdocs/website-folder/suitecrm/vendor/composer/ClassLoader.php on line 444
Warning: include(): Failed opening â/var/www/vhosts/plesk-subscription-name/httpdocs/website-folder/suitecrm/vendor/composer/âŚ/âŚ/core/backend/Currency/LegacyHandler/CurrencyHandler.phpâ for inclusion (include_path=â.:/usr/share/phpâ) in /var/www/vhosts/plesk-subscription-name/httpdocs/website-folder/suitecrm/vendor/composer/ClassLoader.php on line 444
Fatal error: Uncaught Symfony\Component\DependencyInjection\Exception\RuntimeException: Cannot autowire service âApp\FieldDefinitions\LegacyHandler\CurrencyDropdownFunctionDefinitionMapperâ: argument â$currencyHandlerâ of method â__construct()â has type âApp\Currency\LegacyHandler\CurrencyHandlerâ but this class was not found. in /var/www/vhosts/plesk-subscription-name/httpdocs/website-folder/suitecrm/vendor/symfony/dependency-injection/Compiler/DefinitionErrorExceptionPass.php on line 54
When I execute âgroups www-dataâ I get âwww-data : www-data psaservâ and this made me think that perhaps the www-data user belongs to 2 different groups (www-data and psaserv) so I tried, as suggested in the v8 guide, to give â0664â instead of â0644â, and â2775â instead of â2755â - but nothing happened. Probably because the provided commands will not work consecutively.
Since I didnât know how to use the same command syntax to undo the first find chmod changes, I just tested using the commands suggested in the guide for v7, which are simpler ( sudo chown -R ) and tested giving different number combinations for different permissions following a guide that explains them. I then got errors saying that the page was unable to write to the cache or the logs folders, so in order to discard writing issues I just gave the 777 permissions to ALL of the folders and files inside the /suitecrm/ folder.
But then the same Composer and Symfony errors appear again. They appear independently to whatever user owns the /suitecrm/ folder and its contents, and when all users in all groups as well as others have permissions to write. I do believe it might not be an issue with permissions? And no, I donât have SELinux installed, there is just an SELinux folder with a semanage.config file but in it there is no SELinux line where to add the âdisabledâ.
Can anyone PLEASE suggest what else I can try? @pgr @clemente.raposo .
Cheers,
Javier