Install and Setup Vtiger CRM on Ubuntu 20.04

Last Updated:

In this tutorial, we are going to learn how to install and setup Vtiger CRM on Ubuntu 20.04. CRM is an abbreviation for Custom Relationship Management. Vtiger CRM enables sales, support, and marketing teams to organize and collaborate to measurably improve customer experiences and business outcomes. In this tutorial, we are going to install the opensource version of Vtiger on Ubuntu 20.04.

Installing Vtiger CRM on Ubuntu 20.04


System Requirements

Ensure that you have at least 2 CPU cores, at least 4GB RAM and enough disk space. (Vtiger recommends 250G for attachments)

Install and Setup LAMP Stack

Vtiger is a PHP based web application. As such, ensure that you install and setup LAMP stack before you can proceed. We have covered the installation and setup of LAMP stack on Ubuntu 20.04 in our previous guide. You can follow the link below to setup LAMP stack.

Install LAMP Stack on Ubuntu 20.04

Install other required PHP modules;

apt install php php-imap php-curl php-xml php-mysql php-mbstring

Configure PHP for Vtiger

Open the /etc/php/7.4/apache2/php.ini configuration file and make the following adjustments;

vim /etc/php/7.4/apache2/php.ini
memory_limit = 256M
max_execution_time = 60
log_errors = Off
display_errors = Off
short_open_tag = Off

Save and exit the file.

Create Database and Database User for Vtiger

Next, once the LAMP stack is in place, login to MySQL as administrative user.

mysql -u root -p

Note that we are using MySQL 8 in this tutorial.

mysql -V
mysql Ver 8.0.20-0ubuntu0.20.04.1 for Linux on x86_64 ((Ubuntu))

Create Vtiger database and database user. Be sure to replace the usernames.

create database vtiger default character set utf8 default collate utf8_general_ci;
create user vtigeradm@localhost identified by 'myStr0nGp@ss';

Grant all privileges to Vtiger database use on the Vtiger database.

grant all on vtiger.* to vtigeradm@localhost;

Reload the privileges table and exit the database;

flush privileges;

Next, implement the following global configuration for MySQL;

echo -e '[mysqld]\nsql_mode = ""' >> /etc/mysql/my.cnf

Restart MySQL;

systemctl restart mysql

Download Vtiger Application Tarball

Navigate to Vtiger downloads page and the latest tarball for the opensource version of Vtiger.


Extract and Install Vtiger CRM on Ubuntu 20.04

Once the download is complete, extract the tarball to your preferred web root directory. Note the Vtiger is a ready to deploy application.

In this demo, we will use /var/www/vtigercrm as our default Vtiger CRM web root directory.

mkdir /var/www/vtigercrm
tar xzf vtigercrm7.2.0.tar.gz --strip-components=1 -C /var/www/vtigercrm/

Create Apache Web Configuration for Vtiger CRM

Since we are using Apache as our web server for the Vtiger CRM, you need to create the web configuration file to define how to access Vtiger from web as follows;

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

Paster the following configurations making changes as per your setup.

<VirtualHost *:80>
     DocumentRoot /var/www/vtigercrm/

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

     ErrorLog /var/log/apache2/vtigercrm_error.log
     CustomLog /var/log/apache2/vtigercrm_access.log combined

If you want, you can configure Vtiger CRM with SSL/TLS cerfiticates.

Set the ownership of the Vtiger CRM web root directory to Apache user;

chown -R www-data:www-data /var/www/vtigercrm/

Save and exit the configuration file above.

Disable default Apache site;

a2dissite 000-default.conf

Enable Vtiger CRM Apache site;

a2ensite vtigercrm.conf

Enable Apache Rewrite Module;

a2enmod rewrite

Check Apache configuration syntax;

apachectl -t

If you get Syntax OK, proceed to restart Apache.

systemctl restart apache2

Finalize Vtiger CRM Setup from Browser

Open Apache on UFW to allow external access;

ufw allow 80/tcp

You can then access it via the address, http://server-IP-or-hostname.

On the welcome page, click Install button to go through the setup wizard.

welcome install

On the next page, accept the EULA and proceed.

On the Installation prerequisites, ensure that all pre-reqs are met. Otherwise fix them before you proceed.

pre reqs

On system configuration page, configure database connection details as defined above and setup your Vtiger CRM administrative account.

vtiger system configs

Click Next to review the system configuration settings.

On the Next page, select your Industry and click Next to proceed with installation.


Wait for the installation to complete. This might take some time.

Once the installation is done, Select the modules for the Vtiger features you would like to have.

feature modules

Click Next and login to you Vtiger. Use the administrative credentials you set above.

vtiger login

You can now add more widgets to your dashboard.

Great. That is all on how to installing Vtiger CRM on Ubuntu 20.04. You can configure it further to your liking. Enjoy.

Further Reading

Vtiger Documentation


Installation – Vtiger

Other Tutorials

Configure Offline Authentication via OpenLDAP on MacOS X

Configure OpenLDAP Authentication on MacOS X

Install and Deploy Kubernetes Cluster on Ubuntu 20.04

Configure Highly Available HAProxy with Keepalived on Ubuntu 20.04

Install and Setup HAProxy on Ubuntu 20.04


We're passionate about sharing our knowledge and experiences with you through our blog. If you appreciate our efforts, consider buying us a virtual coffee. Your support keeps us motivated and enables us to continually improve, ensuring that we can provide you with the best content possible. Thank you for being a coffee-fueled champion of our work!

Photo of author
Co-founder of, Linux Tips and Tutorials. Linux/Unix admin and author at

1 thought on “Install and Setup Vtiger CRM on Ubuntu 20.04”

  1. Hello

    I followed all steps

    ubuntu 20.04
    php 7.4
    mysql 8.x.x
    Vtiger version 7.4.0

    and I have this error during installation

    MySQL Server should be configured with:

    my sql config is as follows

    | Variable_name | Value |
    1 row in set (0.00 sec)
    please help


Leave a Comment