Pages

Wednesday, December 14, 2022

Install SuiteCRM on Ubuntu

 

SuiteCRM is an open-source Customer Relationship Management (CRM) software solution that helps organize all the processes and activities concerning a company's sales, markets, and services administration

SuiteCRM will work with php-7.4 and lower version


STEP-1: Configure MariaDB for SuiteCRM

Login to MariaDB instance.

$ sudo mysql -u root

Create a new database named suitecrm.

CREATE DATABASE suitecrm;

Create a database user suitecrm and grant all permission of the database to the new user.

GRANT ALL ON suitecrm.* TO 'suitecrm'@'localhost' IDENTIFIED BY 'StrongPassword';

Flush privileges table.

FLUSH PRIVILEGES;

Exit MariaDB console.

EXIT;

STEP-2: Download SuiteCRM

Download the latest stable version of SuiteCRM.

$ wget https://suitecrm.com/files/162/SuiteCRM-7.11/525/SuiteCRM-7.11.18.zip

Install unzip utility.

$ sudo apt install unzip

Unzip the downloaded zip files to directory /var/www/.

$ sudo unzip SuiteCRM-7.11.18.zip -d /var/www/

Rename the installation folder.

$ sudo mv /var/www/SuiteCRM-7.11.18/ /var/www/suitecrm

Then run the following commands to set the correct permissions.

$ sudo chown -R www-data:www-data /var/www/suitecrm/



$ sudo chmod -R 755 /var/www/suitecrm/

Install PHP modules required by SuiteCRM.

sudo apt install php-imagick php7.4-fpm php7.4-mysql php7.4-common php7.4-gd php7.4-imap php7.4-json php7.4-curl php7.4-zip php7.4-xml php7.4-mbstring php7.4-bz2 php7.4-intl php7.4-gmp

Edit the PHP configuration file to set a limit for upload file size. The default maximum file size for uploading is 2MB.

$ sudo nano /etc/php/7.4/fpm/php.ini

Find the line upload_max_filesize = 2M around line 840. Change the value like below. Save and close the file.

upload_max_filesize = 20M

Restart PHP-FPM.

$ sudo systemctl restart php7.4-fpm

Restart Nginx.

$ sudo systemctl restart nginx


STEP-3: Configure Nginx for SuiteCRM

Create a virtual host for SuiteCRM.

$ sudo vi /etc/nginx/conf.d/suitecrm.conf

server {

    listen 80;

    listen [::]:80;

    server_name suitecrm.tayabkhan.com;



    root /var/www/suitecrm;

    error_log /var/log/nginx/suitecrm.error;

    access_log /var/log/nginx/suitecrm.access;

    client_max_body_size 20M;



    index index.php index.html index.htm index.nginx-debian.html;


    location / {

        # try to serve file directly, fallback to app.php

        try_files $uri /index.php$is_args$args;

    }



    location ~ \.php$ {

        include snippets/fastcgi-php.conf;

        fastcgi_pass unix:/run/php/php7.4-fpm.sock;

        #Note: If you install SuiteCRM on iRedMail server, you should use the TCP socket instead.

        #fastcgi_pass 127.0.0.1:9999

    }



    location ~* ^/index.php {

        # try_files $uri =404;

        fastcgi_split_path_info ^(.+\.php)(/.+)$;

        # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini



        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;

        #Note: If you install SuiteCRM on iRedMail server, you should use the TCP socket instead.

        #fastcgi_pass 127.0.0.1:9999

        fastcgi_index index.php;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;



        fastcgi_buffer_size 128k;

        fastcgi_buffers 256 16k;

        fastcgi_busy_buffers_size 256k;

        fastcgi_temp_file_write_size 256k;

    }



    # Don't log favicon

    location = /favicon.ico {

        log_not_found off;

        access_log off;

    }



    # Don't log robots

    location = /robots.txt  {

        access_log off;

        log_not_found off;

    }



    # Deny all attempts to access hidden files/folders such as .htaccess, .htpasswd, .DS_Store (Mac), etc...

    location ~ /\. {

        deny all;

        access_log off;

        log_not_found off;

    }

}

=====================

Test the Nginx configuration.

$ sudo nginx -t

Reload Nginx for the changes to take effect.

$ sudo systemctl reload nginx

=========================

STEP-4: Finish Installation of SuiteCRM from web

To finish the SuiteCRM installation, go to your browser address bar, type in http://IPaddress/install.php for SuiteCRM to access the web install wizard. For example:

http://suitecrm.tayabkhan.com/install.php

You have successfully installed SuiteCRM on your server. Use suitecrm as your database name, localhost as your host name, suitecrm as user and StrongPassword as your password. Modify the StrongPassword value with the actual password you used. You can now create your account and begin using SuiteCRM.

STEP-5: Configure CRONTAB

sudo crontab -e -u www-data

... and add the following line to the crontab file:

*    *    *    *    *     cd /var/www/suitecrm; php -f cron.php > /dev/null 2>&1

STEP-6: ACCESS SUITECRM

http://suitecrm.tayabkhan.com admin usernam and password


IF you need to change URL: Edit the config.php file from the site’s root directory and update the following line with the new URL:
  'site_url' => 'https://new-domain.com',hostname = new-domain.com

No comments:

Post a Comment