A user-friendly help desk solution can make your company work more efficiently. Jack Wallen shows you how to install UVdesk for just that purpose.
Does your company need a Help Desk platform to better enable your support staff to assist customers and clients? For that, you’d want a tool that includes features like:
- Ticket creation
- Ticket administration
- Task management
- Multi-channel support
- Customer follow up
- Knowledge base
- Workflow
- Import date
- Email management
- Form builders
- Security
If that sounds just the ticket to help make your business a success, There’s an open source help desk platform you might want to try–UVdesk.
I’m going to walk you through the process of getting UVdesk installed. Although the installation might not be the easiest you’ll ever experience, once up and running UVdesk is pretty simple to work with.
What you’ll need
I’ll be demonstrating the installation on Ubuntu Server 20.04. Make sure you have an updated instance of Canonical’s platform ready to go and a user with sudo privileges.
How to install the web server
The first thing to take care of is the installation of the dependencies. Log in to your Ubuntu server instance and issue the command:
sudo apt install git unzip curl libapache2-mod-fcgid -y
Install the LAMP server with the command:
sudo apt-get install lamp-server^ -y
Next, enable the necessary Apache modules with the command:
sudo a2enmod actions fcgid alias proxy_fcgi rewrite
Restart Apache:
sudo systemctl restart apache2
How to secure MySQL and create the database
Before we can create the database we need to secure MySQL with the command:
sudo mysql_secure_installation
Give the admin user a password and answer “Y” for the remaining questions.
Log in to the MySQL shell with the command:
sudo mysql -u root -p
Create the database with the command:
CREATE DATABASE uvdeskdb;
Create a new user with the command:
CREATE USER 'uvdesk_user'@'localhost';
Grant the necessary permissions with the command:
GRANT ALL PRIVILEGES ON uvdeskdb . * TO 'uvdesk_user'@'localhost';
Flush the privileges and exit the database console with the commands:
FLUSH PRIVILEGES; exit
How to install and configure PHP
UVdesk depends on PHP, so we’ll install it with the following commands:
sudo apt install software-properties-common sudo add-apt-repository ppa:ondrej/php sudo apt update sudo apt install -y php sudo apt install php-{cli,fpm,json,common,mysql,zip,gd,mbstring,curl,xml,bcmath,imap,intl,mailparse} php-pear
Open the php.ini file for editing with the command:
sudo nano /etc/php/7.4/fpm/php.ini
In that file, look for the line starting with:
memory_limit =
Change that line to:
memory_limit = 512M
Next, locate the line beginning with:
;date.timezone =
Remove the comment character (semicolon) and add your locale, as in America/Chicago.
Save and close the file. Restart the PHP Fast Process Manager (FPM) with the command:
sudo systemctl restart php7.4-fpm
How to install Composer
The actual installation of UVdesk is handled with Composer, so we have to install it. This is done with the following two commands:
curl -sS https://getcomposer.org/installer -o composer-setup.php sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer --version=1.10.17
How to install UVdesk
It’s now time to install UVdesk. First, create a directory to house the server with the command:
sudo mkdir /var/www/uvdesk && cd /var/www/udvesk
Give the new directory the proper permissions with the command:
sudo chown $USER:$USER /var/www/ -R
Change into the newly created directory with the command:
cd /var/www/uvdesk
Clear the Composer cache with the command:
composer clear-cache
Create the UVdesk project with the command:
composer create-project uvdesk/community-skeleton helpdesk-project
The above command will take a few minutes to complete. When it does, you’re ready to configure the web server.
How to configure Apache
In order for Apache to know about the new installation, we must create a new configuration file with the command:
sudo nano /etc/apache2/sites-available/uvdesk.conf
In that file, paste the following:
Listen 8080 <VirtualHost *:8080> ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/udvesk/helpdesk-project/public <Directory /var/www/udvesk/helpdesk-project/public> Options -Indexes +FollowSymLinks +MultiViews AllowOverride All Require all granted </Directory> <FilesMatch .php
gt; SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost" </FilesMatch> ErrorLog /var/log/apache2/uvdesk-error.log CustomLog /var/log/apache2/uvdesk-access.log combined </VirtualHost>
Save and close the file.
Enable the new configuration with the command:
sudo a2ensite uvdesk
Open the main Apache configuration file with the command:
sudo nano /etc/apache2/apache2.conf
In that file, look for the following section:
<Directory /> Options FollowSymLinks AllowOverride denied Require all denied </Directory>
Change that to:
<Directory /> Options FollowSymLinks AllowOverride All Require all denied </Directory>
Save and close the file.
Change the permissions and ownership of the UVdesk directory with the commands:
sudo chown -R www-data:www-data /var/www/udvesk sudo chmod -R 755 /var/www/udvesk
Restart Apache with the command:
sudo systemctl restart apache2
How to finish up the installation
Open a web browser and point it to http://SERVER:8080 (where SERVER is the IP address of the hosting server). You will be greeted by the installation wizard where you can finish up the installation (Figure A).
Figure A
When you get to the database setup screen, make sure to configure it with the username and database name created at the MySQL console (Figure B).
Figure B
Finally, create an admin user and member/custer prefix, and click Install. When the installation completes, you can then log in with your admin credentials and start customizing UVdesk to perfectly fit the needs of your company and customers.
Subscribe to TechRepublic’s How To Make Tech Work on YouTube for all the latest tech advice for business pros from Jack Wallen.