Learn How To Install SuiteCRM on Ubuntu 16.04
Table of Contents
- Step 1: Getting started
- Step 2: Install LAMP stack
- Step 3: Configure database
- Step 4: Install SuiteCRM
- Step 5: Configure Apache for SuiteCRM
SuiteCRM is a free and open source alternative of the popular customer relationship management (CRM) system SugarCRM. It became popular when SugarCRM decided to stop development of its open source version. It is an alternative application based on the last SugarCRM Community Edition.
In this tutorial, I will explain how to install SuiteCRM on Ubuntu 16.04.
- A fresh IT Web Services Ubuntu 16.04 server instance.
- A sudo user.
Step 1: Getting started
It is always a good practice to update your OS. You can do this by running the following commands:
sudo apt-get update -y sudo apt-get upgrade -y
Once your system has been updated, restart your system and login with a sudo user.
Step 2: Install LAMP stack
SuiteCRM is written in PHP, and runs on Apache2, so you will need to install the Apache web server, PHP, and MariaDB to your system.
You can install Apache, PHP, MariaDB along with other required PHP modules by running the following command:
sudo apt-get install apache2 mariadb-server php7.0 php7.0-mysql php7.0-gd php7.0-curl php7.0-imap libapache2-mod-php7.0 php7.0-mcrypt php7.0-xml php7.0-json -y
Update the values for
memory_limit as follows:
sudo nano /etc/php/7.0/cli/php.ini
Change the following lines:
post_max_size = 64M upload_max_filesize = 64M max_input_time = 120 memory_limit = 256M
Save and close the file when you are finished, then restart Apache to make these changes take effect:
sudo systemctl restart apache2
Next, enable the IMAP module with the following command:
sudo phpenmod imap
Step 3: Configure database
Before configuring the database, you will need to secure MariaDB first. You can secure it by running the
Answer all of the questions as shown below:
Set root password? [Y/n] n 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
Once the database is secured, log into the MySQL shell with the following command:
mysql -u root -p
Enter your root password and create a database for SuiteCRM:
MariadDB [(none)]> CREATE DATABASE suitecrm_db;
Create a database user with the following command:
MariaDB [(none)]> CREATE USER 'suitecrm' IDENTIFIED BY 'password';
Grant privileges to the database:
MariaDB [(none)]>GRANT ALL PRIVILEGES ON suitecrm_db.* TO 'suitecrm'@'localhost';
Flush the privileges table with the following command:
MariaDB [(none)]>FLUSH PRIVILEGES;
Finally, exit from the MySQL shell:
Step 4: Install SuiteCRM
First, download the latest stable version of SuiteCRM from their official website. Once the download has completed, go to the download location and extract the archive with the following command:
Next, move the extracted directory to the apache web root directory:
sudo mv SuiteCRM-7.9.0 /var/www/html/suitecrm
Next, change the permission of the
sudo chown -R www-data:www-data /var/www/html/suitecrm sudo chmod -R 777 /var/www/html/suitecrm
Once you are done, you can proceed to the next step.
Step 5: Configure Apache for SuiteCRM
Create an Apache virtual host server block for SuiteCRM. You can do this by creating a
sudo nano /etc/apache2/sites-available/suitecrm.conf
Add the following lines:
<VirtualHost *:80> ServerAdmin firstname.lastname@example.org DocumentRoot /var/www/html/suitecrm/ ServerName yourdomain.com ServerAlias www.yourdomain.com <Directory /var/www/html/suitecrm/> Options FollowSymLinks AllowOverride All </Directory> ErrorLog /var/log/apache2/suitecrm-error_log CustomLog /var/log/apache2/suitecrm-access_log common </VirtualHost>
Save and close the file when you are finished, then enable the site with the following command:
sudo a2ensite suitecrm
Finally, restart Apache web server so that the changes take place:
sudo systemctl restart apache2
SuiteCRM is ready for use. Open your web browser and navigate to URL
http://yourdomain.com and finalize the installation process.
Do you need help setting up this on your own service?
Please contact us and we’ll provide you the best possible quote!