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