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 7, EPEL 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/
