Lead Image © Martina Berg, Fotolia.com

Lead Image © Martina Berg, Fotolia.com

Open source customer relationship management software

Custom Sales

Article from ADMIN 49/2019
SuiteCRM 7 is a powerful open source enterprise customer relationship management solution.

SalesAgility forked the SugarCRM project back in 2013, with a bold vision to deliver an enterprise-ready, 100 percent open source customer relationship management (CRM) system when the "commercial open source" SugarCRM project did not meet expectations [1]. SuiteCRM is dedicated and committed to maintaining the free software ethos and to delivering 100 percent commitment to the open source community.

Features and Application

CRM solutions have become a cornerstone of successful business and have experienced rapid commercial growth since cloud pioneer Marc Benioff [2] brought Salesforce to the market in 1999. SuiteCRM is a very powerful business toolkit. Beneath its mild and perhaps slightly antiquated user interface is hidden a powerhouse of business automation and management tools.

SuiteCRM offers much, much more than clever contact, communication, and sales opportunity development. It provides almost all the features of a full Enterprise Resource Planning (ERP) system: product inventory, invoicing, marketing, document management, project management, support case management, event management, location mapping, email marketing, workflow automation, and more.

In this article, I offer a good level of understanding of the SuiteCRM tools and modules. Equipped with this knowledge and just a modest amount of work, you can establish a fully functional business system with significant levels of automation.

Installation and Experimentation

In my example installation, I put SuiteCRM on Ubuntu 18.04 Desktop, although for production usage, I would recommend Ubuntu Server.

SuiteCRM operates on a LAMP (Linux, Apache, MySQL, PHP) stack, so you'll need to install the various services to provide the platform. To begin, open a terminal and install all the dependency requirements with the Apt package manager:

sudo apt install mysql-server libapache2-mod-php7.2 apache2 php7.2-zip php7.2-mysql php7.2-mbstring php7.2-json php7.2-imap php7.2-gd php7.2-curl php7.2-xml php7.2-common php7.2-cli php7.2 unzip

With the supporting dependencies installed, you are now ready to download the latest stable SuiteCRM package [3]. At the time of writing, the latest release was version 7.10.11, which is the version I work with in this article. (At print, the latest version was 7.11.0.) Copy the resulting ZIP file from your Downloads folder to /var/www/, use the unzip utility (installed earlier) to unpack it, and set the ownership and permissions:

sudo cd /var/www/
sudo unzip <suitecrm zipfile>
sudo mv <suitecrm folder> ./suitecrm
sudo chown -R www-data:www-data ./suitecrm

Note that I also renamed the folder created when it was unzipped to the more generic suitecrm. This step is mostly for convenience and will help with continuity as you work through the tutorial.

Next, you need to provide a virtual host file for the Apache web server so that it knows how to serve up the SuiteCRM application. Again, change the directory to the folder where Apache keeps track of the sites it has available and create a new virtual host configuration file for your SuiteCRM application:

sudo cd /etc/apache2/sites-available
sudo touch suitecrm.conf
sudo nano -w suitecrm.com

Now copy the code shown in Listing 1 [4] into the nano text editor window to populate the suitecrm.conf file with the details for the virtual host. To save the file, use Ctrl+O to write to the file, and then exit the Nano editor with Ctrl+X.

Listing 1


01 <VirtualHost *:80>
02     ServerAdmin webmaster@localhost
03     ServerName localhost
05     DocumentRoot /var/www/suitecrm/
06     <Directory />
07         Options FollowSymLinks
08         AllowOverride None
09     </Directory>
10     <Directory /var/www/suitecrm>
11         Options Indexes FollowSymLinks MultiViews
12         AllowOverride None
13         Order allow,deny
14         allow from all
15     </Directory>
17     ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
18     <Directory "/usr/lib/cgi-bin">
19         AllowOverride None
20         Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
21         Order allow,deny
22         Allow from all
23     </Directory>
25     ErrorLog ${APACHE_LOG_DIR}/error.log
27     # Possible values include: debug, info, notice, warn, error, crit,
28     # alert, emerg.
29     LogLevel warn
31     CustomLog ${APACHE_LOG_DIR}/access.log combined
32 </VirtualHost>

The final section of the system administration required to get a SuiteCRM server up and running is to activate your application installation with the Apache enable site command. Also, you need to tweak your php.ini file to allow uploads larger than 6MB, which you'll need for SuiteCRM file uploads and upgrades:

sudo nano -w etc/php/7.2/apache2/php.ini

Use the nano editor's Ctrl+W search function to find the upload_max_filesize line. By default, it is set to 2M, which you should amend to 25M.

Now you can create a database and user from the MySQL command-line interface. Ubuntu installs MySQL with root user access without a password; clearly, this is not for production use:

mysql -u root
mysql> CREATE DATABASE suitecrm;
mysql> GRANT ALL ON suitecrm.* TO 'dbuser'@'localhost 'IDENTIFIED BY 'password';

To enable the application in Apache, enter:

sudo a2ensite suitecrm

With the configuration now in place, you need to restart the Apache web server,

sudo systemctl restart apache

and begin the browser-based installation by pointing your browser to http://localhost .

The application will recognize that the application requires installation and will take you to the Setup Wizard. After you accept the GNU GPL license, the installer checks that all the system requirements are met before sending you to a configuration window (Figure 1). After filling out this screen, click Next to continue. If you see no errors in the report (Figure 2), click Next to move to the login screen (Figure 3). After logging in, you'll see the SuiteCRM Dashboard with no data (Figure 4).

Figure 1: Database configuration and administration user details.
Figure 2: A successful SuiteCRM installation.
Figure 3: The SuiteCRM login screen.
Figure 4: SuiteCRM Dashboard with a variety of dashlets.

Common CRM Workflow

CRM tools are typically used to develop customer relationships and sales opportunities. When you think for a minute about how sales transactions take place, they almost always involve people buying products or services from other people, which is typically modeled in a sales pipeline. A common pipeline starts with a lead (i.e., a person that either makes first contact with you or with whom you make first contact). Those of you with a marketing background will recognize a missing step, and, indeed, SuiteCRM provides tools for prospecting and delivering marketing campaigns, including email marketing. However, I won't have the opportunity to visit that step in this article.

At the start of a pipeline, you record leads in the SuiteCRM Leads module, which you will find under either the Sales or Marketing menus. To create the lead, you enter information about the person, their company or organization, where the lead came from, and summary details of any prospective sales value, if known. Notice the lead Status field is useful for providing information about a lead's progress; it can be used in workflow automation, as well.

Leads can have communication information recorded against them, too. In fact, the concept of keeping a record of email communications, calls, meetings, and other notes is a very common theme in CRM, and SuiteCRM divides this information between the History and Activities subpanels. Activities are future events that have yet to be done and can include tasks, calls, and meetings with associated reminders. Reminders can be configured to provide a pop-up when they are due, which is very useful for keeping track of lots of actions. History keeps a record of actions, including email – if you configure your email client to integrate with SuiteCRM.

When working as a sole trader or in a small business, keeping records like this can seem tiresome and is all too often considered overkill. However, the discipline of keeping these records can be paid back tenfold.

For example, imagine that Roland has been maintaining his CRM system meticulously, and his business has grown enough that he now wants to employ a salesperson and a customer account manager. Roland employs David as the customer manager and Rachel as the salesperson. Instead of Roland having to impart months or even years of client knowledge to David, he only needs to train David on how to use SuiteCRM. Similarly Roland does not need weeks to bring Rachel up to speed with the status of each lead in the sales pipeline. Moreover, by equally ensuring the same discipline is undertaken by David and Rachel, the business can grow rapidly and exponentially, because the detailed business knowledge is held within SuiteCRM and can be shared across the business.

This methodology can be applied throughout almost every SuiteCRM module. Furthermore, customer account records aggregate lead and contact history to provide a detailed historical interaction record, which can be accessed in a single click on View Summary in the drop-down on the History subpanel.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy ADMIN Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Enterprise resource planning and customer relationship management with open source
    Modern enterprises require powerful ERP and CRM solutions to manage processes, but the high cost of proprietary solutions can be prohibitive. We look at some open source options.
  • An overview of VMware tools
    VMware's recent announcement about vCloud Hybrid Service involves expansion of the vCloud suite toward a public/hybrid cloud. In this article, we attempt to shed some light on the huge number of VMware products.
  • VMware Tools

    VMware’s recent announcement about vCloud Hybrid Service involves expansion of the vCloud suite toward a public/hybrid cloud. In this article, we attempt to shed some light on the huge number of VMware products.

comments powered by Disqus
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs

Support Our Work

ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.

Learn More”>


		<div class=