CRM (Customer Relationship Management) refers to assortment of practices, policies and technologies that companies use to handle and review interaction with current and potential customers; with the major aim of boosting business relationships with customers, customer retention and driving sales growth.
SuiteCRM is a free and open source, fully-featured and highly-extensible CRM system that runs on any operating system with PHP installed. It is a fork of the well known open source SugarCRM Community Edition.
Do try out SuiteCRM Demo using credentials below to sign in:
Username: will Password: will
SuiteCRM Features:
- Cross-platform: runs on Linux, Windows, Mac OSX and any system that runs PHP.
- Efficient, powerful, and flexible workflow module.
- Supports automation of repetitive tasks.
- Supports quick and easy modeling of sales pipeline.
- Enables creation of beautifully templated Quotations.
- Allows managing of pricing strategies.
- Supports customer self-service via an easy to setup and use website.
- Instant notification of customer issues plus so much more.
Requirements:
- Debian/Ubuntu or CentOS system installed with LAMP Stack.
- PHP (JSON, XML Parsing, MB Strings, ZIP Handling, IMAP, cURL) modules.
- ZLIB Compression library.
- Sprite support.
In this article, we will explain how to install and configure SuiteCRM in CentOS/RHEL 7 and Debian/Ubuntu based systems.
Step 1: Installing LAMP Stack Environment
1. First update the system software packages to the latest version.
$ sudo apt update [On Debian/Ubuntu] $ sudo yum update [On CentOS/RHEL]
2. Once software packages updated, now you can install LAMP (Linux, Apache, MySQL & PHP) stack with all the required PHP modules as shown.
-------------- On Debian/Ubuntu -------------- $ sudo apt install apache2 apache2-utils libapache2-mod-php php php-common php-curl php-xml php-json php-mysql php-mbstring php-zip php-imap libpcre3 libpcre3-dev zlib1g zlib1g-dev mariadb-server -------------- On CentOS/RHEL/Fedora -------------- # yum install httpd php php-common php-curl php-xml php-json php-mysql php-mbstring php-zip php-imap pcre pcre-devel zlib-devel mariadb-server
3. Once LAMP stack has been installed, start the Apache and MariaDB service and enable it to start automatically at system boot.
-------------- On Debian/Ubuntu -------------- $ sudo systemctl start apache mysql $ sudo systemctl enable apache mariadb -------------- On CentOS/RHEL/Fedora -------------- # systemctl start httpd mysql # systemctl enable httpd mariadb
4. Now secure and harden database server installation by running the script below.
$ sudo mysql_secure_installation OR # mysql_secure_installation
After running the security script above, you will be asked to enter the root password, simply press [Enter] without providing it:
Enter current password for root (enter for none):
Again, you will also be asked to answer the questions below, simply type y
to all the questions to set a root password, remove anonymous users, turn off remote root login, remove the test database and reload privilege tables:
Set root password? [Y/n]y
Remove anonymous users? [Y/n]y
Disallow root login remotely? [Y/n]y
Remove test database and access to it? [Y/n]y
Reload privilege tables now? [Y/n]y
5. Now you need to configure PHP to allow files of at least 6MB to be uploaded. Open your PHP configuration file (/etc/php.ini or /etc/php5/apache2/php.ini) with your choice of editor, search for the upload_max_filesize and set it like so.
upload_max_filesize = 6M
Save the file and close it, then restart the HTTP server.
$ sudo systemctl restart apache [On Debian/Ubuntu] # systemctl restart httpd [On CentOS/RHEL]
Step 2: Create SuiteCRM Database
6. In this step, you can create a database which will store data for suiteCRM. Run the command below to access the MariaDB shell (remember to use your own values for the database name, user and password).
$ mysql -u root -p MariaDB [(none)]> CREATE DATABASE suitecrm_db; MariaDB [(none)]> CREATE USER 'crmadmin'@'localhost' IDENTIFIED BY 'crmsys@dmin$12'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'crmadmin'@'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> exit;
Step 3: Install and Setup SuiteCRM
7. First install Git to fetch and clone the latest version of SuiteCRM from its Github repository under Apache root directory (/var/www/html/) with appropriate permissions on the SuiteCRM folder.
$ sudo apt -y install git [On Debian/Ubuntu] $ sudo yum -y install git [On CentOS/RHEL] $ cd /var/www/html $ git clone https://github.com/salesagility/SuiteCRM.git $ sudo mv SuiteCRM suitecrm $ sudo chown -R www-data:www-data suitecrm [On Debian/Ubuntu] $ sudo chown -R apache:apache suitecrm [On CentOS/RHEL] $ sudo chmod -R 755 suitecrm $ ls -ld suitecrm
8. Now open your web browser and type the URL below to access the SuiteCRM web installer wizard.
http://SERVER_IP/suitecrm/install.php OR http://localhost/suitecrm/install.php
You will see the welcome page, which includes the SuiteCRM License Agreement. Read the license and check “I Accept”, and set the installation language. Click Next to continue.
9. You will see the pre-installation requirements page below. If everything is fine as shown in the screenshot below, click Next to proceed.
11. Next, provide the SuiteCRM database settings (database name, host, username and password).
In the same page, enter the site configurations (site name, admin username, password and email address).
You can as well configure more options:
- Demo data (choose yes if you want to populate site with demo data).
- Scenario selection – such as sales, marketing etc.
- SMTP server specification – choose your Email provider, SMTP server, port, user authentication details.
- Branding details – Organization name and logo.
- System locale settings – date format, time format, timezone, currency, currency symbol and ISO 4217 Currency Code.
- Site security settings.
Once you are done, click Next to start the actual installation process where the installer will create database tables and default settings.
12. Once the installation is complete, you are ready to login. Provide the admin username and password, then click on “Log In”.
SuiteCRM Homepage: https://suitecrm.com/
Enjoy! For any queries or thoughts that you want to share, please hit us up via the comment section below.
Hi Ravi,
Can you please provide a procedure to install suitecrm on rhel7 with mssql. I am stuck
Hi,
I’ve built an Ubuntu virtual machine on Parallels (run-on on MacBook pro). I’ve followed the above instructions until I get to:
which I believe should be:
Also, the edit of the php.ini file I found to be /etc/php/7.2/apache2/php.ini and at /etc/php.ini or /etc/php5/apache2/php.ini as stated above.
Minor niggles and easy to overcome. But, I’m hitting a brick wall with MySQL to create the database. I’m getting ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
I’ve re-run the MySQL-secure-installation script to make sure I have the correct password. I’ve rebooted the virtual machine to ensure nothing is cached. Still no joy :-(
Any pointers?
I got around the above by using sudo mysql in place of
mysql -u root -p
.Next problem is that when I put this
http:///suitecrm/install.php
into my browser window, I only get the following message:So, I first install composer:
And then run:
This produces the error:
Composer could not find a composer.json file in /var/www/html.
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ “Getting Started” section
Now I’m definitely stuck!
Regards
Pip
@Pip,
Yes, it should be:
sudo systemctl restart apache2
It is because there are two PHP versions running on the system 7.1 and 5, better you should check which version currently running with
php -v
command.Thanks Ravi. I’m running 7.2
@Pip,
You can remove PHP 5, if you not needed and follow the instructions again carefully..
Things to edit in php.ini:
Restart apache to apply PHP configuration settings..
Tried this on Ubuntu 16.04.2 server. First the apache package is now named apache2. Second libapache2-mod-php is missing which results in apache only showing the php code instead of the install wizard.
After fixing both problems the wizard starts but on second screen says the the database drivers are not installed or not enabled. Following the hint to uncomment the extension in php.ini did not resolve the problem.
No additional hints found to resolve this.
@Ulrich,
Thanks for your detailed findings, we’ve corrected the instructions as per your suggestion, and included installation instructions for apache2,libapache2-mod-php and php-mysql (database driver) in the article.