vTiger is an all-in-one CRM (Customer Relationship Management) solution for your business. It is suitable for small and medium enterprises. vTiger CRM provides various tools for customers and users, which increase your business operation.

The vTiger CRM provides two solutions: the vTiger CRM cloud solution, which you can pay for all management and additional features, and the vTiger CRM open-source version, which you can self-host on your server.

In this guide, we’ll walk you through the installation of vTiger CRM on an Ubuntu 24.04 server. You’ll install and run vTiger with the LAMP Stack (Linux, Apache, MySQL/MariaDB, and PHP), then secure vTiger with HTTPS.

Prerequisites

Before you begin, make sure you have the following:

An Ubuntu 24.04 server. A non-root user with administrator privileges. A domain name pointed to the server IP address.

Installing dependencies

vTiger is an open-source CRM software based on PHP and MySQL/MariaDB. You need to install LAMP or LEMP Stack on your system to install it. In this example, you will run vTiger with the LAMP Stack on your Ubuntu system.

Firstly, run the following command to update your Ubuntu package index.

sudo apt update

<img alt="update repo" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/10-update-repo.png666961886834e.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="184" loading="lazy" src="data:image/svg xml,” width=”712″>

Now install the LAMP Stack (Linux, Apache2, MySQL/MariaDB, and PHP) packages with the following command. Enter Y to confirm the installation.

sudo apt install apache2 mariadb-server php libapache2-mod-php php-common php-sqlite3 php-json php-curl php-intl php-mbstring php-xmlrpc php-mysql php-gd php-xml php-cli php-zip php-soap php-imap php-bcmath wget unzip -y

<img alt="install dependencies" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/11-install-deps.png66696188b30dc.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="82" loading="lazy" src="data:image/svg xml,” width=”750″>

After the installation is finished, check the Apache web server status with the following:

sudo systemctl is-enabled apache2

sudo systemctl status apache2

You can see below the Apache web server is enabled and active(running).

<img alt="check apache web server" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/12-check-apach.png66696188e36d7.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="220" loading="lazy" src="data:image/svg xml,” width=”750″>

Check the MariaDB service status with the following:

sudo systemctl is-enabled mariadb

sudo systemctl status mariadb

You will see the MariaDB server status active(running) and enabled.

<img alt="check mariadb" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/13-check-mariadb-.png6669618920a99.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="204" loading="lazy" src="data:image/svg xml,” width=”750″>

Lastly, check the PHP version using the command below. The PHP 8.3 should be installed on your Ubuntu system.

sudo php -v

<img alt="check php" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/14-check-php.png666961893d6cf.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="161" loading="lazy" src="data:image/svg xml,” width=”687″>

Configuring PHP

After installing dependencies, you’ll be setting up PHP installation by editing the config file php.ini.

Open the default PHP configuration /etc/php/8.3/apache2/php.ini with the following nano editor.

sudo nano /etc/php/8.3/apache2/php.ini

Change the default settings like the following – make sure to adjust the memory_limit and date.timezone options as needed.

memory_limit = 512M
upload_max_file_size = 100M
log_errors = Off
max_execution_time = 100
date.timezone = Europe/Amsterdam

When finished, save the file and exit the editor.

Now run the following command to restart the Apache web server and apply your PHP configuration.

sudo systemctl restart apache2

Configuring MariaDB server

In this section, you’ll be securing the installation of the MariaDB server. Then, a new database and user will be created that vTiger CRM will use. You’ll be using mariadb-secure-installation to secure MariaDB and using the mariadb client to create a new database and user.

To configure the MariaDB server, open the file /etc/mysql/maridb.conf.d/50-server.conf with the following nano editor command.

sudo nano /etc/mysql/maridb.conf.d/50-server.conf

In the [mysqld] section, add the following line:

sql_mode = ""

Save the file and exit the editor.

Now run the command below to restart the MariaDB server and apply your changes.

sudo systemctl status mariadb

Next, you will need to secure the MariaDB installation with the mariadb-secure-installation utility. Execute it like the following:

sudo mariadb-secure-installation

You’ll be asked about the following configurations:

  • press enter to confirm and set up the MariaDB deployment.
  • Input Y to change the authentication method to unix_socket.
  • Input Y to set up the root password for MariaDB and type the new strong password.
  • Input Y to remove the default anonymous user from the MariaDB server.
  • For the disable remote login for the root user, input Y again to confirm.
  • Now remove the default database test from the MariaDB server.
  • Lastly, input Y again to reload all table privileges.

Now that you’ve secured the MariaDB server, you’ll create a new database and user that vTiger CRM will use. Log in to the MariaDB server with the mariadb command below.

Enter your MariaDB root password when asked.

sudo mariadb -u root -p

Run the following queries to create a new database and user for vTiger. In this example, you will create a new database vtigerdb, and a new user vtiger with the password password.

CREATE DATABASE vtigerdb;

CREATE USER vtiger@localhost IDENTIFIED BY ‘password’;

GRANT ALL ON vtigerdb.* TO vtiger@localhost WITH GRANT OPTION;

FLUSH PRIVILEGES;

<img alt="create database" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/15-create-db.png6669618954fb6.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="245" loading="lazy" src="data:image/svg xml,” width=”750″>

Now run the query below to check privileges for user vtiger. Make sure user vtiger can access the database vtigerdb.

SHOW GRANT FOR vtiger@localhost;

Type quit to exit from the MariaDB server.

<img alt="check user" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/16-db-show.png66696189730ae.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="264" loading="lazy" src="data:image/svg xml,” width=”750″>

Downloading vTiger source code

Now that you’ve configured both PHP and MariaDB, you’ll download the vTiger source code and set up the document root directory with proper permission and ownership.

Go to the /var/www directory and download the vTiger source with the wget command below. Visit the vTiger CRM download page to grab the link for the latest version.

cd /var/www/

wget https://sourceforge.net/projects/vtigercrm/files/vtiger CRM 8.2.0/Core Product/vtigercrm8.2.0.tar.gz/download

Now run the command below to extract the vTiger source code. With this, your document root directory for vTiger should located in the /var/www/vtiger directory.

tar -xf download

Lastly, change ownership of the /var/www/vtigercrm directory to user www-data and the default permission to 0755.

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

sudo chmod 755 /var/www/vtigercrm

Adding Apache virtual host

After downloading the vTiger source code, you’ll be creating a new Apache virtual host for running vTIger. Make sure you have your domain name ready and pointed to your server IP address.

First, run the command below to enable the rewrite and headers modules on the Apache web server.

sudo a2enmod rewrite headers

Create a new virtual host configuration /etc/apache2/sites-available/vtiger.conf with the nano command below.

sudo nano /etc/apache2/sites-available/vtiger.conf

Add the configuration below and make sure to change the domain name with your domain.


    ServerName crm.hwdomain.io
    DocumentRoot /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

When finished, save and exit the file.

Now run the command below to activate the virtual host file vtiger.conf and verify your Apache syntax. If you have proper Apache syntax, you will get an output Syntax is OK.

sudo a2ensite vtiger.conf

sudo apachectl configtest

Lastly, restart the Apache web server to apply your changes with the following – With this, your vTiger installation is ready.

sudo systemctl restart apache2

<img alt="setup vhost" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/17-setup-apache.png666961899eb5f.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="317" loading="lazy" src="data:image/svg xml,” width=”737″>

Securing vTiger with HTTPS

To secure vTiger, you’ll set up HTTPS through Certbot and Letsencrypt. With this, you can generate SSL/TLS certificates and set up HTTPS automatically on your Apache virtual host.

Install the certbot and python3-certbot-apache plugin with the following command. Type Y to confirm the installation.

sudo apt install certbot python3-certbot-apache

After the installation is complete, generate new SSL/TLS certificates for your vTiger domain name with the following. Make sure to change both your email address and domain name with your information.

sudo certbot –apache –agree-tos –redirect –hsts –staple-ocsp –email [email protected] -d crm.hwdomain.io

When the process is complete, your SSL/TLS certificates will be available in the /etc/letsencrypt//live/domain.com directory. And your vTiger installation will be secured with HTTPS.

Installing vTiger CRM

Visit the domain name of your vTiger installation, such as https://crm.hwdomain.io/; you will see the vTiger installation wizard.

Click Install to start the installation.

<img alt="install vtiger" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/1-welcome.png66696189b5c70.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="336" loading="lazy" src="data:image/svg xml,” width=”750″>

Click I Agree to confirm the license and terms of vTiger CRM.

<img alt="accept license" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/2-accept-license.png6669618a06ef8.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="334" loading="lazy" src="data:image/svg xml,” width=”750″>

Now, ensure your system is ready for the vTiger CRM installation. Ensure the status for all requirements is Yes, then click Next.

<img alt="requirements" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/3-requirements.png6669618a1f012.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="452" loading="lazy" src="data:image/svg xml,” width=”750″>

Input details MariaDB database name, user, and password. Then input a new administrator user for vTiger installation. click Next to confirm.

<img alt="database and user" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/4-db-admin.png6669618a4c0a8.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="400" loading="lazy" src="data:image/svg xml,” width=”750″>

Check again the detailed installation for vTiger CRM and click Next.

<img alt="confirm settings" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/5-confirm.png6669618a6fdf9.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="393" loading="lazy" src="data:image/svg xml,” width=”750″>

Leave the anonymous data collection section as default and click Next.

<img alt="data collection default" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/6-anaon-data.png6669618ab31e4.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="288" loading="lazy" src="data:image/svg xml,” width=”750″>

Now, the vTigr CRM installation will begin.

<img alt="installation begin" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/7-installation.png6669618ad44f9.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="359" loading="lazy" src="data:image/svg xml,” width=”750″>

When the installation is complete, select modules as needed and click Next to continue.

<img alt="select modules" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/8-confirm-modules.png6669618b0391e.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="482" loading="lazy" src="data:image/svg xml,” width=”750″>

Now you will be redirected to the vTiger CRM dashboard like the following:

<img alt="vtiger dashboard" data-ezsrc="https://kirelos.com/wp-content/uploads/2024/06/echo/9-dashboard.png6669618b2576e.jpg" ezimgfmt="rs rscb10 src ng ngcb9" height="322" loading="lazy" src="data:image/svg xml,” width=”750″>

On the vTiger administration settings, you can see detailed information related to your vTiger CRM installation and configuration.

Conclusion

Congratulations! You have completed the vTiger CRM installation on the Ubuntu 24.04 server. You have vTiger CRM up and running with the LAMP Stack (Linux, Apache, MySQL/MariaDB, and PHP) and secured with HTTPS through Certbot and Letsencrypt.