Monday 15 July 2019

Resolving Permission/ Undefined Variable Problem in SugarCRM/SuiteCRM in Linux Server

When we install or migrate Sugarcrm/Suitecrm,normally we have to face some issues like pages going blank or the messages and popup showing as undefined. This error occurs mostly when we migrate CRM to some Linux servers. This is mainly caused due to permission errors and missing extensions. I will give you step to step instruction on how to resolve this problem. we can divide the steps into three parts.

1) Checking all required extensions are installed or not?
2) Checking all files or folders  having required permissions?
3) Checking the correct path set in .htaccess file

so here am going to explain step by step..

1) Checking all required extensions are installed or not?

We have to check whether following extensions are installed or not.


  • PHP - (check the version.. if you are using older version of sugar or suitecrm ebnable lower php versions. If you are using latest suitecrm version, dont forget to upgrade php verision.)
  • JSON -( Check JSON support is enabled.)
  • XML Parsing- (XML parsing supports should be enabled)
  • MB Strings Module -(This is a php extension needed for sugarcrm to function.make sure to install this extension corresponding to php version in the server)
  • ZLIB Compression Module - (This module is needed for package installation function in crm.make sure to enable it)
  • ZIP Handling Module-  (This module is needed for package installation function in crm.make sure to enable it)
  • PCRE Library-(This is a Perl module needed for advanced regex functions)
  • IMAP Module- (This is for Mail functioning inside CRM for reminders.etc)
  • cURL Module
  • Sprite Support
After install of new modukles, just restart the apache services



2) Checking all files or folders  having required permissions?

We have to check permissions for some directories inside root folder.
Main directories to give 775 permission are:-cache, custom ,modules ,themes ,data, upload.
Also we have to change permission to config_override.php file also to 775
While giving permission to directory, make sure to give permission recursively for child objects under that folder also.

Login to terminal via root user then perform following commands:-

cd  /home/siteuser/public_html/    (siteuser will be username in the hosting)

sudo chmod -R 775 cache custom modules themes data upload config_override.php

Now check the permission has been granted or not

3) Checking the correct path set in .htaccess file

Just open .htaccess file in the root folder. check this line:-

<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine On
    RewriteBase /

Verify RewriteBase /  is correctly set or not. If you have installed in public_html folder itself you have to use like this RewriteBase /. In case, if you installed inside a folder for eg: crm, this line have to change like:- RewriteBase /crm/

After editing , save the file and close it

Now login to CRM and check. Its betetr to do a Repair and rebuild from the admin to make sure everything reloaded correctly..





No comments:

Post a Comment