How to Install UVdesk on CentOS 7

UVdesk is an open source Helpdesk Ticket system. It is built specially for e-commerce business and help them to streamline the helpdesk ticket workflow alongwith automate agent task response to deliver easygoing customer support.

Requirement

  • Web Server = Apache
  • PHP version >= 7.4
  • PHP Extensions - mailparse, pdo, mysqli, tokenizer, mbstring, xml, curl, imap, zip, json
  • MariaDB database equivalent >= 10.4

Update System

sudo yum update

Install Basic Packages

sudo yum install vim git unzip

Change SELinux mode to Permissive

Run the below command and reboot the system

sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Install PHP

For installing PHP 7EPEL and Remi repository need to install and enable on CentOS 7 system with the below commands.

sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Install yum-utils, it is a collection of tools and programs for managing yum repositories, installing debug packages, source packages, extended information from repositories and administration. Use the yum-config-manager program to enable Remi repository as the default repository for installing PHP 7.4 version.

sudo yum install yum-utils
sudo yum-config-manager --enable remi-php74

Install PHP and the required extensions.

sudo yum install php php-cli php-pdo php-common php-mysql php-curl php-json php-zip php-gd php-xml php-mbstring php-pecl-mailparse php-imap php-mysql

Configure the timezone in php.ini file. Uncomment date.timezone = and enter the respective timezone.

sudo vim /etc/php.ini

date.timezone = Asia/Kolkata

Install Apache

sudo yum install httpd

Start and enable the Apache services at boot time.

sudo systemctl start httpd
sudo systemctl enable httpd

Enable .htaccess file in Apache

.htaccess file allows to set up URL rewrite and redirection rules without changing Apache configuration file. To enable .htaccess file in Apache, look for the section and change the "AllowOverride" directive from "None" to "All" and change "Options Indexes FollowSymLinks" to "Options -Indexes +FollowSymLink" so that app directory will not expose/browse over browser.

sudo vim /etc/httpd/conf/httpd.conf

<Directory "/var/www/html">

Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted

</Directory>

Install MariaDB Database

By default CentOS 7 base repository provides MariaDB 5.5 version, which will work for osTicket application. But in this tutorial, we will install the latest version of MariaDB 10.4

Create repo for MariaDB 10.4

sudo vim /etc/yum.repos.d/MariaDB.repo

[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Install MariaDB and its dependencies

sudo yum install MariaDB-server

Start and enable the MariaDB Server services at boot time.

sudo systemctl start mariadb
sudo systemctl enable mariadb

Configure MariaDB

sudo mysql_secure_installation

Create Database and user account for Uvdesk

sudo mysql -u root -p

create database uvdeskdb;
create user 'uvdeskuser'@'localhost' identified BY 'Linuxyogi@123';
grant all privileges on uvdeskdb.* to uvdeskuser@localhost;
flush privileges;

Install Composer

Download the composer in current directory (in below example current directory path is /root/)

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Composer version 1 is required to install Uvdesk dependencies.

sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.17

Install Uvdesk

Install the community-skeleton project via composer

Clear cache and project at root directory.

cd /var/www/html
composer clear-cache
composer create-project uvdesk/community-skeleton uvdesk

Change the ownership and permission on support directory.

sudo chown -R apache:apache /var/www/html/uvdesk/
sudo chmod -R 755 /var/www/html/uvdesk/

Restart apache service

sudo systemctl restart httpd

Allow http or https access from Firewall

Allow TCP ports HTTP (80) or HTTPS (443) from Firewall for web installer and Dashboard access. In below only http is allowed.

sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --reload

Set up helpdesk portal via web installer

Open browser and navigate to http://<server-ip>/uvdesk/public and Click on Let's Begin to make sure all prerequisites are marked green.

example- http://10.0.0.15/uvdesk/public

Evaluating System Requirement

All prerequisites are marked green. Click on Proceed.

Database Configuration

Fill the Database details, like Database Server, Database Port, Database Username, Database Password and Database Name for Database connection. Click Proceed.

Create Super Admin Account

Website Configuration

Install Now

Database Migration

Installation completion message

Admin Login Portal: http://<server-ip>/uvdesk/public/en/member/login

Example: http://10.0.0.15/uvdesk/public/en/member/login

Customer Portal: http://<server-ip>/uvdesk/public/en/customer/create-ticket/

Example: http://10.0.0.15/uvdesk/public/en/customer/create-ticket/