How to Setup SugarCRM Community on CentOS 7.1

Customer Relations Management is a vital component to any business with customer support, marketing and sales. In our today’s article we will setup the World’s largest open source CRM software that is sugarCRM. It is a web based customer management tool that facilitates all the business roles by bringing them together under a unified software system that allows customer relations representatives to quickly and efficiently deal with a wide range of demands. One of the best thing about SugarCRM is that its source code of the application is available to any user, developer or customer of the product. It is often used to track customer orders, billing history and to catalog any complaints you have. So, this leads to a faster turnaround for the customer service issues, and it can also result in more accurate resolution of your customer’s issues by centralizing all customer relation services under the one unified system.


We are going to setup SugarCRM on Linux CentOS 7.1 operating system with minimal installation package, so first of all we have to complete its basic requirements that include the Basic LAMP stack to be installed on the system where you are going to setup sugarCRM. Let’s follow the next few steps to complete the requirements before starting sugarCRM installation.

1) System Update

Login to your server with super user credentials to upgrade your OS with latest release and update its installed packages and repositories using below command.

[[email protected] ~]# yum update
[[email protected] ~]# yum upgrade

2) LAMP Setup

Basic LAMP setup is the major requirement for the installation of sugarCRM where we will use Apache as its web server, MySQL-MariaDB as its database server and PHP modules. Before doing the LAMP installation setup your servers hostname and configure your hosts file with proper FQDN.

[[email protected] ~]# hostnamectl set-hostname sugarcrm
[[email protected] ~]# vim /etc/hosts sugarcrm

Write the changes and quit file to update your hosts entry. Now we will install the LAMP packages and its other dependent utilities with yum command as shown below.

[[email protected] ~]# yum install php httpd mariadb mariadb-server php-mysqlnd php-opcache php-mbstring php-gd

Once all the above mentioned packages are installed including their dependencies, start the Apache web server and MariaDB services then enable it at boot up auto start.

[[email protected] ~]# service httpd start
[[email protected] ~]# service mariadb start
[[email protected] ~]# systemctl enable httpd
[[email protected] ~]# systemctl enable mariadb

Now set the root password of MariaDB after a connection to it with command below.

[[email protected] ~]#mysql
MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('root123');
Query OK, 0 rows affected (0.00 sec)

Once you have set the root password to the root user of MariaDB, now we will create a new database with its separate user and password that we will use later on during the installation process of sugarCRM. Let's use the following commands to create the database and assign the privileges to the new user.

MariaDB [(none)]> CREATE DATABASE sugarcrm;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> CREATE USER 'crm_user'@'localhost' IDENTIFIED BY 'crm123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES ON sugarcrm.* TO 'crm_user'@'localhost';
Query OK, 0 rows affected (0.00 sec)

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit;

Now tune the PHP settings to allow files of atleast 6MB to be uploaded in the PHP configuration file. To do that open file /etc/php.ini and adjust the settings by searching the following parameter and update accordingly.

[[email protected] ~]# vim /etc/php.ini
upload_max_filesize = 25M
date.timezone = Europe/London

After you update configuration, you have to restart httpd services to implement the saved changes.

[[email protected] ~]#systemctl restart httpd

3) Allow Firewall Access

We have to allow HTTP on port 80 for public zone and make sure that SELinux is turned off or set it to Permissive mode. So let’s do the firewall and selinux changes by updating its conf file.

[[email protected] ~]# vim /etc/selinux/config
Change from enforcing to permissive as below.

Run the below command to update selinux state from enforcing to permissive mode.

[[email protected] ~]# setenforce 0
[[email protected] ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: permissive
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28

To allow access for http service in firewall you can use the below command to permit permanent access.

[[email protected] ~]# firewall-cmd --zone=public --add-service=http --permanent
[[email protected] ~]# service firewalld restart
Redirecting to /bin/systemctl restart firewalld.service
[[email protected] ~]# service firewalld status

Installing SugarCRM

We are ready to setup sugarCRM as had completed its all prerequisites in previous steps. Now let's follow the next few step to install SugarCRM on CentOS 7.1 as described in below steps.

1) Download sugarCRM

You can download the latest community edition of sugarCRM from their official website that is and the upload it on the server.

SugarCRM Download

If you have wget installed on your system then simply copy the link and get it on your server as.

[[email protected] ~]# wget

2) Extract the package

Now we will extract the downloaded package into the document root directory of our web server using the below unzip command.

[[email protected] ~]# ls
[[email protected] ~]# unzip -d /var/www/html/

We will rename the extracted directory to something simpler and and this directory needs to be owned by the Apache user.

[[email protected] ~]# cd /var/www/html/
[[email protected] html]# mv SugarCE-Full-6.5.22 SugarCRM
[[email protected] html]# chown -R apache:apache SugarCRM/

SugarCRM Web Installation Setup

In this section we are going to start the installation process of SugarCRM using our web server. Open the below URL that indicates the SugarCRM package placed in web server's document root directory with you localhost IP address.


Welcome to the SugarCRM Community Setup Wizard.

SugarCRM Setup Wizard

Now we are ready for to install it on our Linux host, proceeding to next step make sure that you have read all the instructions mentioned in this section about the basic system requirements configurations.

system and components check

Read and Accept the License agreement then Click to NEXT button.

License Agreement

Installation Options

There are two available options one with Typical Installation and the second with Custom Installation. If you are a new to CRM then simply choose the First option and click to Next button.

Install Types

Database Type

If you multiple database extensions installed on your system, then will be displayed here and you have to choose the one where you want to install the sugarCRM instance.

Database Type

Database Configuration
In this section we have to choose the database configurations that contains the database user name and hostname that we created during LAMP setup.

Database Configurations

Once you are done with database configurations then in the Next step you have to verify the Database credentials and click to Next.

Verify DB Credentials

SugarCRM Site Configuration
Here we need to set the administrator username and password that will be used login to the instance after the installation of SugarCRM.

Admin User

Confirm Settings
Here is the complete summary of your configuration settings that you configured in previous steps.

Configuration Summary

Once you have confirmed all settings then click to the INSTALL button at the bottom of this page else reconfigure the missing parameters if found in the configuration settings.

Install SugarCRM

Performing Setup

The installation process will perform the tasks to create the configuration file, applications data and users setup as shown in the Picture.

installation setup

Login to SugarCRM
Put your admin user credentials to login to your SugraCRM community edition and start using your best customer relations management portal.

SugarCRM Dashboard

Welcome to SurgarCRM

SugarCRM is ready to Localize, so let's pecify your time zone and how you would like dates, currencies and names to appear in Sugar with addition to information about yourself. The information you provide about yourself will be visible to other Sugar users. After all settings have been done click on the FINISH button as shown in the below image.

finish setup

Here is the dashboard of sugarCRM we had recently setup on Linux CentOS 7.1 and is ready to use for managing more customers, with more sale and more lead.


SugarCRM CE web interface is very intuitive with many features out-of-the-box. With an integrated customer relations management software suite, a company can simplify the customer relations management tasks their employees must engage in. This leads to more efficient uses of company resources, which lowers overhead.

Kashif Siddique 3:00 am

About Kashif Siddique

Linux Systems and Security Engineer in Information and Communication Technology. Results-driven ICT Professional and Open Source Geek with technical specialties in the area of Open Source Operating systems and Applications.

Author Archive Page

Have anything to say?

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.

1 Comment

  1. Can we do REST calls for this above configured sugarCRM community edition? If so how we can call the OAUTH and Account list endpoint through rest client plugin or JAVA?
    What are the end points?