UVdesk is one such Open Source Helpdesk Ticketing System that you can rely on as you begin to build your business from scratch one step at a time. We had covered the installation of the same UVdesk Ticketing on CentOS 8. You can check it out. In this guide, we shall venture into getting it installed on Ubuntu 20.04 so that you can have a personal feel of it. Let us look at its features.

Features of UVdesk

  • UVdesk offers SaaS-based and Open Source helpdesk solution to easier the overall support process to deliver best customer service.
  • UVdesk Open Source is free fully-functional helpdesk software, designed on very famous framework which recognize among all developers such as Symfony, a PHP framework.

Software Requirements

UVdesk needs the following software packages installed before it can run and serve you:

  • PHP7.2 or higher
  • Composer: 1.6.5 or higher
  • IMAP
  • MailParse
  • Server: Apache
  • Database: MySQL/MariaDB

To install this software follow the following steps.

Step 1: Update and install essential tools

Once in the terminal of your fresh Ubuntu server, update it and install essential tools we shall use in our installation process

sudo apt update && sudo apt upgrade
sudo apt install vim git unzip curl apache2 libapache2-mod-fcgid -y

There are some modules required for the FastCGI confiugration and we need to enable them. This can be done by running this command:

sudo a2enmod actions fcgid alias proxy_fcgi rewrite
sudo systemctl restart apache2

Step 2: Install and setup database

We are going to use MariaDB for this setup. Fortunately, we have a detailed guide already to get MariaDB 10.5 installed. Check out How To Install MariaDB on Ubuntu (Focal Fossa)

After you have the database installed, the next step is to create a database and user for UVdesk. Let us, therefore, go ahead and get this done as shown below. You are free to name your database and user differently and ensure you use a strong password.

$ mysql -u root -p
Password: <Enter-your-password>

MariaDB [(none)]> CREATE DATABASE uvdeskdb;
MariaDB [(none)]> CREATE USER 'uvdeskadmin'@'localhost' IDENTIFIED BY 'StrongPassword';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON uvdeskdb . * TO 'uvdeskadmin'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit;

Step 3: Install and configure PHP

In order to get UVdesk pages served, there has to be a webserver. We shall use Apache for this guide. Additionally, UVdesk requires PHP we will have to set it up as well.

Install php-fpm and dependencies

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,pdo,json,common,mysql,zip,gd,mbstring,curl,xml,bcmath,imap,intl,mailparse} php-pear

Check if php-fpm is running.

$ sudo systemctl status php7.4-fpm
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-12-03 14:57:15 UTC; 1min 30s ago
       Docs: man:php-fpm7.4(8)
    Process: 41392 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fp>   Main PID: 41389 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2204)
     Memory: 10.3M

Open up your php-fpm ini file and add/edit the details shown below. They include Timezone, and memory limit settings. Add your date.timezone and change memory_limit to 512MB.

$ sudo vim /etc/php/7.4/fpm/php.ini

memory_limit = 512M

[Date]

date.timezone = Africa/Nairobi

Then restart php-fpm

sudo systemctl restart php7.4-fpm

Step 4: Install PHP composer

Composer 1 is required to in order to get UVdesk’s dependencies installed. Do the following to setup composer version 1.

cd ~
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

Test if composer is successfully installed by running the composer version command

$ composer -V
Composer version 1.10.17 2020-10-30 22:31:58

Step 5: UVdesk installation

We are going to create a directory that we shall drop UVdesk files in. This will also help us in setting up the root directory that our web server will be looking into serve the files.

sudo mkdir /var/www/udvesk && cd /var/www/udvesk
sudo chown $USER:$USER /var/www/ -R

Let us now use composer to fetch and install UVdesk files on our root directory

First, Clear Cache:

cd /var/www/udvesk
composer clear-cache

Then Create the Project thus:

composer create-project uvdesk/community-skeleton helpdesk-project

You should see a cute banner as shown below when the installation completes.

uvdesk terminal logo

Step 6: Configure Apache for UVdesk

We have to make a few changes to the Apache configuration defaults by adding the details we need for UVdesk. Change into sites-enabled, back up the default file, and create a new one having new configurations.

cd /etc/nginx/sites-enabled/
sudo mv 000-default.conf 000-default.conf.bak

Create a new file and add the details shown below. If you have an FQDN, replace example.com with it.

$ sudo vim /etc/apaches/sites-enabled/uvdesk.conf

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$>
        # 2.4.10+ can proxy to unix socket
        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>

On the main Apache configuration file, Allow Override on the following part of the config file

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All ##<= Like this
        Require all granted
</Directory>

Modify the permissions on the root directory and restart the webserver

sudo chown -R www-data:www-data /var/www/udvesk
sudo chmod -R 755 /var/www/udvesk
sudo systemctl restart apache2

Allow port 8080 on your firewall

sudo ufw allow 8080/tcp

Once that is done, we should be ready to rock and roll. Open up your favorite browser and point it to the IP or FQDN of your server. http://ip-or-server-fqdn:8080. You should see a page as shown below. Click on “Let’s Begin

uvdesk install page 1

On the next page, UVdesk will check of you meet all requrements it needed for it to run. If all is good, click on “Proceed

uvdesk install page 2 check requirements

Next, you will be needed to add Database details that we created in Step 3 as illustrated below. Once you are done, click on “Proceed

uvdesk install page 3 database configuration

The page after this presents a form for you to add a super admin account into the system. Key in the information then hit “Proceed

uvdesk install page 4 create super admin account

After that, for UVdesk to configure the customer-facing and member-facing sides of the system, it requires you to enter your preferred prefix. Any prefix for members/staff and customer you prefer here is okay here. Enter them then click “Proceed

uvdesk install page 5 website configuration

Next, the only thing remaining for you is to install UVdesk. Click on “Install Now” to get the stone rolling.

uvdesk install page 6 install now

Once installation is complete, UDdesk will present you with two links: Admin and Frontend. You can click on either and check them out.

uvdesk install page 8 admin or front end prompt

Clicking on the “Admin Panel” link leads you to a login form like the one illustrated below. Enter the Super Admin credentials we created and login.

uvdesk install page 9 admin login

You will be presented with a dashboard as shown below.

uvdesk install page 10 dashboard

In Conclusion

We now have this amazing and highly customizable ticketing software platform ready for use. Find your way around it as much as you can and even as we wrap up we hope the guide was as helpful as possible. Otherwise, we return our appreciation for your relentless support, and thank you for visiting and staying till the end. Enjoy more guides in this site beginning with the ones below:

Host WordPress website with Caddy Web Server

How To Install PHP 8.0 on Ubuntu

Install Odoo 14 on Ubuntu With Let’s Encrypt SSL

How To Setup Bolt CMS with MySQL on Ubuntu

How To Install Mailu mail server on Ubuntu

Your support is our everlasting motivation,
that cup of coffee is what keeps us going!


As we continue to grow, we would wish to reach and impact more people who visit and take advantage of the guides we have on our blog. This is a big task for us and we are so far extremely grateful for the kind people who have shown amazing support for our work over the time we have been online.

Thank You for your support as we work to give you the best of guides and articles. Click below to buy us a coffee.

LEAVE A REPLY

Please enter your comment!
Please enter your name here