How to Deploy Open Source Vtiger CRM in Fedora 22

In this article, we'll learn how to deploy Vtiger 6.2.0 customer relationship management (CRM) system in Fedora 22 linux distribution. Vtiger CRM is an open source CRM system which was forked from SugarCRM with the intention of making it a complete free and open source CRM application which is written in PHP language. It offers many features like, support automation using a customer portal and support tickets, marketing automation with campaign support, inventory management, analysis and reporting and many more. Vtiger is an awesome product for growing business suitable from small business to large business. It is a complete suite for maintaining better relationship with customers.

Here are some easy steps on how we can easily deploy Vtiger CRM 6.3.0 in Fedora 22.

1. Installing LAMP Stack

First of all, we'll need to install LAMP stack in our Fedora 22 machine. LAMP stack includes Apache Web Server, MySQL or MariaDB Database System and PHP. To install a complete LAMP stack, we'll need to run the following dnf command as dnf is the default package manager in Fedora 22 under root or sudo access.

$ sudo dnf install httpd mariadb-server mariadb php php-fpm php-devel php-mysql php-xml php-mcrypt php-pear php-gd php-mbstring php-ldap php-imap gcc make wget nano

Next, we'll gonna start MariaDB server and Apache Web Server to get started.

$ sudo systemctl start mariadb httpd

Then, we'll gonna enable them to start on every boot of the system.

$ sudo systemctl enable mariadb httpd

Created symlink from /etc/systemd/system/ to /usr/lib/systemd/system/mariadb.service.
Created symlink from /etc/systemd/system/ to /usr/lib/systemd/system/httpd.service.

2. Downloading Vtiger CRM 6.3.0

Now, we'll wanna download the latest version of Vtiger CRM ie 6.3.0 . We can get the link of our required version of Vtiger from their official download page. To download it, we'll gonna use wget command as shown below.

$ cd /tmp/
$ wget

--2015-07-17 09:59:22--
Resolving (, 2801:82:80ff:8000::3
Connecting to (||:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 37498995 (36M) [application/x-gzip]
Saving to: ‘vtigercrm6.2.0.tar.gz’
vtigercrm6.2.0.tar.gz 100%[========================>] 35.76M 4.49MB/s in 8.0s
2015-07-17 09:59:31 (4.49 MB/s) - ‘vtigercrm6.2.0.tar.gz’ saved [37498995/37498995]

Then, we'll gonna extract the download tarball using tar command as shown below.

$ tar -xzf vtigercrm6.2.0.tar.gz

We'll now assign ownership of the extracted directory to apache to provide writeable access to apache process owner.

$ sudo chown -R apache: vtigercrm
$ sudo chmod -R 775 vtigercrm

Next, we'll need to move the extracted Vtiger files to apache web server's webroot directory ie /var/www/html/ by default.

$ sudo mv vtigercrm /var/www/html

If you have SELinux enabled on the system, run the following command.

$ sudo chcon -R -t httpd_sys_content_t /var/www/html/vtigercrm
$ sudo chcon -R -t httpd_sys_rw_content_t /var/www/html/vtigercrm

3. Configuring MariaDB

As this is the first time we're going to configure MariaDB, we'll need to create a password for the root user of mariadb so that we can use it to login and create the database for our Vtiger CRM installation. To do so, we'll need to run the following command in a terminal or a shell.

$ sudo mysql_secure_installation

Enter current password for root (enter for none):
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n] y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Note: Above, we are asked to enter the root password of the mariadb server but as we are setting for the first time and no password has been set yet, we'll simply hit enter while asking the current mariadb root password. Then, we'll need to enter twice the new password we wanna set. Then, we can simply hit enter in every argument inorder to set default configurations.

4. Creating Database for Vtiger CRM

As Vtiger CRM requires MySQL or MariaDB database to store its data, we'll now create a database for our Vtiger CRM installation. Here, in this tutorial as we have already mentioned above, we'll be running mariadb as our database system. To do so, first we'll need to login to MariaDB database server by running the following command.

$ sudo mysql -u root -p

After logging into the database server, we'll now create a database named "vtiger_db" with user "vtiger_user" and password as "vtiger_password" and grant full access of the database to the user "vtiger_user". To do so, we'll need to run the following command inside the mariadb database server.

> CREATE DATABASE vtiger_db;
> CREATE USER 'vtiger_user'@'localhost' IDENTIFIED BY 'vtiger_password';
> GRANT ALL PRIVILEGES ON `vtiger_db`.* TO 'vtiger_user'@'localhost';

Creating Vtiger Database

This will configure the database and exit the MariaDB environment.

5. Configuring PHP configuration

We'll configure our PHP configuration as shown below. To do so, we'll edit /etc/php.ini using our favorite text editor.

$ sudo nano /etc/php.ini

After that, we'll make changes to the file with the following lines of configuration if the PHP configuration meets the below values.

error_reporting                    E_WARNING & ~E_NOTICE & ~E_DEPRECATED & ~E_STRICT
display_errors                                on
max_execution_time                    600
log_errors                                       off
short_open_tag                               on

After we are done, we'll gonna save the file and exit. Then, we'll need to restart our Apache Web Server.

$ sudo systemctl restart httpd

6. Configuring Firewall

Next, if we are running a firewall program in Fedora 22, we'll need to configure our firewall to allow port 80 so that the Apache server's default port will be accessible externally. This will allow us to navigate our web browser to Vtiger CRM's web interface with the default http port 80. To do so, we'll need to run the following command.

$ sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

After done, we'll need to reload our firewall service.

$ sudo firewall-cmd --reload

7. Installation with Web Interface

Finally, if everything went as expected and described above, we'll be able to navigate to Vtiger CRM web interface using our favorite web browser. To do so, we'll need to goto or http://ip-address/vtigercrm using our web browser.

Vtiger Setup Wizard

We'll be welcomed to Vtiger CRM configuration wizard. Then, we'll click on "Install" button which will lead us to License Agree.  Here, we'll gonna Click on I Agree button.

Vtiger License Agreement

Next, a page named Installation Prerequisites will appear. As we can see that all the dependencies have been fulfilled but there is "No" under PHP Version  section as our installed PHP version is greater than 5.5.0, this won't affect our installation so we'll simply gonna continue the process.

Vtiger Prerequisites Check

Then, we'll click on "Next" button, after that a Database Configuration page will appear in which we'll enter our MariaDB database configuration that we had just created above. In this page, we'll require hostname, username, password and database name.

Vtiger System Configuration

Note: Here, in this tutorial, we'll input hostname as "localhost", username as "vtiger_user", password as "vtiger_password" and database name as "vtiger_db". It is strictly recommended to change these according to your configuration done while creating the database.

After that, we'll be asked for Confirmation of the Database information we entered above, if the information was correct, we'll click Next and process further.

Configuration Confirmation

We'll now get the Installation in Progress page where the configurations are setup by the scripts itself. The progress bar can be seen as shown below. Here, we'll need to wait until the next page appears by itself.

installation in progress

Next, we'll be asked to select the necessary modules that we want to install with Vtiger CRM. Then, we'll click "Next" after we select the required modules to be installed in our CRM installation.

Selecting Modules

After everything has been completed as expected, we'll be directed to our login screen. Here, we'll need to enter the username and password we had just assigned while setting our database and system configuration above.

Note: Please note that the username and password required to login the Vtiger dashboard is not the database username and password. Its the details you entered while setting the configuration in the web based installer.

Vtiger Login Page

After we have logged in with the valid username and password, we'll be able to login to our dashboard. Our dashboard at initial looks like below image.

Vtiger Dashboard


Truly, Vtiger CRM 6.3.0 is more than just a CRM, it contains built-in solutions ranging from email marketing to activity and project management. It contains awesome features like calendar and task management, inventory management, email marketing, customizable customer portal, reporting, file and document management and many more. It is highly extensible as it can easily integrate with many softwares we need for our business as its extensions. So, Vtiger CRM is the best solution for ones growing business. If you have any questions, suggestions, feedback please write them in the comment box below so that we can improve or update our contents. Thank you ! Enjoy :-)

Arun Pyasi 3:00 am


Your email address will not be published. Required fields are marked *