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.
Prerequisites
- A fresh Vultr 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.
sudo reboot
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 post_max_size
, upload_max_filesize
, max_input_time
, and 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 mysql_secure_installation
script:
sudo mysql_secure_installation
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:
MariaDB [(none)]>/q
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:
unzip SuiteCRM-7.9.0.zip
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 suitecrm
directory:
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 suitecrm.conf
file:
sudo nano /etc/apache2/sites-available/suitecrm.conf
Add the following lines:
<VirtualHost *:80>
ServerAdmin admin@yourdomain.com
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.
Want to contribute?
You could earn up to $300 by adding new articles
Suggest an update
Request an article