How to Install vTiger CRM on Ubuntu 18.04 LTS

vTiger CRM is a free and open source Customer Relationship Management software for your business. It is written in PHP and uses MariaDB to store its data. It is specially designed for ease of use to allow business owners to collaborate and automate engaging experiences with customers throughout the entire process. vTiger CRM allows sales, support, and marketing teams to organize and collaborate to measurably improve customer experiences.

Features

  • Supports role-based access control.
  • Provides Outlook, Thunderbird, Firefox, and Gmail plugins.
  • Automated support using a customer portal and support tickets.
  • Workflows, tasks, and project management.
  • Allow us to import and export data via CSV files.
  • provides customizable user dashboards.

In this tutorial, we will learn how to install vTiger CRM on Ubuntu 18.04 server.

Requirements

  • A server running Ubuntu 18.04.
  • A static IP address 192.168.0.103 is setup to your server.
  • A root password is setup to your server.

Getting Started

Before starting, you will need to update your system with the latest version. You can do this by running the following command:

apt-get update -y
apt-get upgrade -y

Once your server is updated, restart your server to apply the changes.

Install LAMP Server

VTiger CRM runs on the web server, written in PHP and uses MariaDB to store their data. So, you will need to install Apache, MariaDB, PHP and other PHP modules to your server. You can install all of them by just running the following command:

apt-get install apache2 mariadb-server libapache2-mod-php7.2 php7.2 php7.2-cli php7.2-mysql php7.2-common php7.2-zip php7.2-mbstring php7.2-xmlrpc php7.2-curl php7.2-soap php7.2-gd php7.2-xml php7.2-intl php7.2-ldap php7.2-imap unzip wget -y

Once all the packages are installed, open php.ini file and make some changes:

nano /etc/php/7.2/apache2/php.ini

Make the following changes:

file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 30M
post_max_size = 40M
max_execution_time = 60
max_input_vars = 1500

Save and close the file. Then, start Apache and MariaDB service and enable them to start on boot time with the following command:

systemctl start apache2
systemctl start mariadb
systemctl enable apache2
systemctl enable mariadb

Configure Database

By default, MariaDB is not secured. So, you will need to secure it. You can do this by running the mysql_secure_installation script:

mysql_secure_installation

This script will change your current root password, remove anonymous users, disallow root login remotely as shown below:

    Enter current password for root (enter for none):
    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 MariaDB is secured, log in to MariaDB shell with the following command:

mysql -u root -p

Enter your root password when prompt. Then, create a database and user for vTiger using the following command:

MariaDB [(none)]> CREATE DATABASE vtigerdb;
MariaDB [(none)]> CREATE USER 'vtiger'@'localhost' IDENTIFIED BY 'password';

Next, grant all the privileges to vTiger database with the following command:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON vtigerdb.* TO 'vtiger'@'localhost' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

Replace the word mypqssword with your own secure password. Next, alter the database with the following command:

MariaDB [(none)]> ALTER DATABASE vtigerdb CHARACTER SET utf8 COLLATE utf8_general_ci;

Next, flush the privileges and exit from the MariaDB shell with the following command:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

Install vTiger CRM

First, you will need to download the latest version of vTiger CRM from their official website. You can download it with the following command:

wget https://excellmedia.dl.sourceforge.net/project/vtigercrm/vtiger%20CRM%207.1.0/Core%20Product/vtigercrm7.1.0.tar.gz

Once the download has been completed, extract the downloaded file with the following command:

tar -xvzf vtigercrm7.1.0.tar.gz

Next, copy the extracted directory to the Apache web root and give proper permissions:

cp -r vtigercrm /var/www/html/
chown -R www-data:www-data /var/www/html/vtigercrm
chmod -R 755 /var/www/html/vtigercrm

Once you have done, you can proceed to the next step.

Configure Apache for vTiger CRM

Next, you will need to create an apache virtual host file for vTiger CRM. You can create it with the following command:

nano /etc/apache2/sites-available/vtigercrm.conf

Add the following lines:

<VirtualHost *:80>
     ServerAdmin [email protected]
     ServerName example.com
     DocumentRoot /var/www/html/vtigercrm/

     <Directory /var/www/html/vtigercrm/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog /var/log/apache2/vtigercrm_error.log
     CustomLog /var/log/apache2/vtigercrm_access.log combined
</VirtualHost>

Replace the domain name exampl.com with your own domain name. Save and close the file. Then, disable the Apache default virtual host file and enable vTiger virtual host file with the following command:

a2ensite vtigercrm
a2dissite 000-default

Next, enable Apache rewrite module and restart Apache service with the following command:

a2enmod rewrite
systemctl restart apache2

Next, check the status of Apache service with the following command:

systemctl status apache2

You should see the following output:

? apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
  Drop-In: /lib/systemd/system/apache2.service.d
           ??apache2-systemd.conf
   Active: active (running) since Wed 2019-02-06 16:23:20 UTC; 20min ago
  Process: 2929 ExecStop=/usr/sbin/apachectl stop (code=exited, status=0/SUCCESS)
  Process: 2938 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 2952 (apache2)
    Tasks: 11 (limit: 1113)
   CGroup: /system.slice/apache2.service
           ??2952 /usr/sbin/apache2 -k start
           ??2973 /usr/sbin/apache2 -k start
           ??2975 /usr/sbin/apache2 -k start
           ??2977 /usr/sbin/apache2 -k start
           ??2979 /usr/sbin/apache2 -k start
           ??2982 /usr/sbin/apache2 -k start
           ??2985 /usr/sbin/apache2 -k start
           ??2986 /usr/sbin/apache2 -k start
           ??2987 /usr/sbin/apache2 -k start
           ??3156 /usr/sbin/apache2 -k start
           ??3158 /usr/sbin/apache2 -k start

Feb 06 16:23:19 ubuntu1804 systemd[1]: Starting The Apache HTTP Server...
Feb 06 16:23:20 ubuntu1804 apachectl[2938]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 192.
Feb 06 16:23:20 ubuntu1804 systemd[1]: Started The Apache HTTP Server.

Access vTiger CRM

Now, open your web browser and type the URL http://example.com. You will be redirected to the following page:

vTiger CRM setup wizard

Now, click on the Install button. You should see the following page:

Accept the license

Now, accept the vTiger public licence. You should see the following page:

Installation wizard

Next, verify installation prerequisites and click on the Next button. You should see the following page:

System configuration

Next, provide your database name, database username, password, admin username and password. Then, click on the Next button. You should see the following page:

Select your industry

Next, select your industry and click on the Next button. You should see the following page:

Select vTiger Modules

Next, select modules and click on the Next button. Once the installation has been completed successfully, you should see the following page:

vTiger CRM Dashboard

Congratulations you have successfully installed and configured vTiger CRM on Ubuntu 18.04 server.

Share this page:

Suggested articles

6 Comment(s)

Add comment

Comments

By: Ayman Ragab at: 2019-04-04 08:42:33

I followed your stepsnow I have a small problem, When I call th FQDN for the site the login screen appears but with the IP address instead of the FQDNIs it from the apache setting or form the Site settings Please help

By: VTiger-CRM at: 2019-04-08 13:47:44

Love your resources! I appreciate your details and depth writing style and all your eye cache points was so awesome.

By: Duven at: 2019-06-05 10:32:36

Hi,

Can you please make a tutorial like this but with nginx , exporting a old local DB and using a RDS?

By: baraka at: 2019-06-28 07:04:41

thank you very much, it works perfect for me.

By: Travis at: 2019-11-02 17:53:15

I modified yours for php7.3 because of some other known security issues with 7.2 and I had to add the following beofre installing it.

sudo add-apt-repository ppa:ondrej/php

Just in case anyone else is doing the same.

By: Mahmoud Eid at: 2019-12-09 16:54:16

many thanks for your perfect setps.

All steps is working without any problems