UVdesk is a free, open-source, and SaaS-based helpdesk solution for any business process to deliver the best customer service. It is a simple, flexible, user-friendly, and alternative to other popular support platforms. It is written in PHP and based on the Symfony framework. You can integrate UVdesk with multiple marketplaces including, Amazon, eBay, Etsy, and Flipkart to support your valuable customer.

In this tutorial, I will show you how to install UVdesk helpdesk solution with Apache on Debian 11.

Prerequisites

  • A server running Debian 11.
  • A valid domain name pointed with your server IP.
  • A root password is configured on the server.

Install Apache, MariaDB, and PHP

First, you will need to install the Apache web server, MariaDB database server, PHP and other PHP extensions to your server. You can install all of them by running the following command:

apt-get install apache2 libapache2-mod-fcgid mariadb-server php php-cli php-fpm php-json php-common php-mysql php-zip php-gd php-mbstring php-curl php-xml php-bcmath php-imap php-intl php-mailparse php-pear curl -y

Once all the packages are installed, edit the php.ini file and change some default settings:

nano /etc/php/7.4/fpm/php.ini

Change the following lines:

memory_limit = 512M
date.timezone = Asia/Kolkata

Save and close the file then restart the PHP-FPM service to apply the changes:

systemctl restart php7.4-fpm

Next, you will also need to enable some required Apache modules. You can enable them with the following command:

a2enmod actions fcgid alias proxy_fcgi rewrite

Finally, restart the Apache service to apply all the changes:

systemctl restart apache2

Once you are finished, you can proceed to the next step.

Create a Database for UVdesk

Next, you will need to create a database and user for UVdesk. First, log in to the MariaDB shell with the following command:

mysql

Once you are log in, create a database and user with the following command:

MariaDB [(none)]> CREATE DATABASE uvdesk;

MariaDB [(none)]> CREATE USER 'uvdesk'@'localhost' IDENTIFIED BY 'password';

Next, grant all the privileges to the UVdesk database with the following command:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON uvdesk.* TO 'uvdesk'@'localhost';

Next, flush the privileges and exit from the MariaDB shell with the following command:

MariaDB [(none)]> FLUSH PRIVILEGES;

MariaDB [(none)]> EXIT;

Once you are finished, you can proceed to the next step.

Install UVdesk

First, you will need to install the Composer to your server. You can install it using the following command:

curl -sS https://getcomposer.org/installer -o composer-setup.php

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

You will get the following output:

All settings correct for using Composer
Downloading...

Composer (version 2.1.12) successfully installed to: /usr/local/bin/composer
Use it: php /usr/local/bin/composer

Next, verify the Composer version using the following command:

composer -V

You should see the following output:

Composer version 2.1.12 2021-11-09 16:02:04

Next, change the directory to the Apache web root directory and download the UVdesk using the Composer:

cd /var/www/html

composer create-project uvdesk/community-skeleton uvdesk

You will get the following output:

  * Modify your GOOGLE_RECAPTCHA_SITE_KEY and GOOGLE_RECAPTCHA_SECRET config in .env

  * Inject the ReCaptchaReCaptcha service when you need to verify a submitted captcha

 symfony/phpunit-bridge  instructions:

  * Write test cases in the tests/ folder
  * Use MakerBundle's make:test command as a shortcut!
  * Run the tests with php bin/phpunit


_   ___     ______            _       ____                                      _ _         
| | |     / /  _   ___  ___| | __  / ___|___  _ __ ___  _ __ ___  _   _ _ __ (_) |_ _   _ 
| | | |  / /| | | |/ _ / __| |/ / | |   / _ | '_ ` _ | '_ ` _ | | | | '_ | | __| | | |
| |_| |  V / | |_| |  __/__    <  | |__| (_) | | | | | | | | | | | |_| | | | | | |_| |_| |
 ___/   _/  |____/ ___||___/_|_  _______/|_| |_| |_|_| |_| |_|__,_|_| |_|_|__|__, |
                                                                                       |___/ 

Welcome to the UVDesk Community project! UVDesk Community is an open-source e-commerce helpdesk system
which is built on top of reliable set of tools to provide you and your customers with the best support 
solution possible.

To start things off, here are a few commands to help you setup:

  * Configuring your project:

    php bin/console uvdesk:configure-helpdesk

  * Run your project through a local php web server:

    php bin/console server:run


Made with ????  by the UVDesk Team. Happy helping :)

Next, set proper permission and ownership with the following command:

chown -R www-data:www-data /var/www/html/uvdesk

chmod -R 775 /var/www/html/uvdesk

Once you are finished, you can proceed to the next step.

Create an Apache Virtual Host for UVdesk

Next, you will need to create an Apache virtual host configuration file for UVdesk.

nano /etc/apache2/sites-available/uvdesk.conf

Add the following lines:

    ServerName uvdesk.example.com
    DocumentRoot /var/www/html/uvdesk/public

    
        Options -Indexes  FollowSymLinks  MultiViews
        AllowOverride All
        Require all granted
    

    
        # 2.4.10  can proxy to unix socket
        SetHandler "proxy:unix:/var/run/php/php7.4-fpm.sock|fcgi://localhost"
    

    ErrorLog /var/log/apache2/uvdesk-error.log
    CustomLog /var/log/apache2/uvdesk-access.log combined

Save and close the file then activate the UVdesk virtual host and enable the Apache rewrite module with the following command:

a2ensite uvdesk

a2enmod rewrite

Next, restart the Apache service to apply the changes:

systemctl restart apache2

You can also check the status of the Apache with the following command:

systemctl status apache2

You will get the following output:

? apache2.service - The Apache HTTP Server
     Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-11-12 14:59:09 UTC; 5s ago
       Docs: https://httpd.apache.org/docs/2.4/
    Process: 22222 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
   Main PID: 22226 (apache2)
      Tasks: 7 (limit: 4679)
     Memory: 18.3M
        CPU: 115ms
     CGroup: /system.slice/apache2.service
             ??22226 /usr/sbin/apache2 -k start
             ??22227 /usr/sbin/apache2 -k start
             ??22228 /usr/sbin/apache2 -k start
             ??22229 /usr/sbin/apache2 -k start
             ??22230 /usr/sbin/apache2 -k start
             ??22231 /usr/sbin/apache2 -k start
             ??22232 /usr/sbin/apache2 -k start

Nov 12 14:59:09 debian11 systemd[1]: Starting The Apache HTTP Server...

Once you are finished, you can proceed to the next step.

Access UVdesk Web Interface

At this point, UVdesk is installed and configured with the Apache webserver. Now, open your web browser and access the UVdesk web interface using the URL http://uvdesk.example.com. You should see the following page:

<img alt="UVdesk installer" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p1.png619cffeb934e7.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="391" loading="lazy" src="data:image/svg xml,” width=”750″>

Click on the Let’s Begin button. You should see the following page:

<img alt="System requirements" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p2.png619cffeba9c35.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="391" loading="lazy" src="data:image/svg xml,” width=”750″>

Make sure all requirements are met then click on the PROCEED button. You should see the following page:

<img alt="Database configuration" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p.png619cffebbe7aa.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="396" loading="lazy" src="data:image/svg xml,” width=”750″>Advertisement

Provide your Database details and click on the PROCEED button. You should see the following page:

<img alt="Admin account" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p4.png619cffebce8d2.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="392" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your admin username, email, password, and click on the PROCEED button. You should see the website configuration page:

<img alt="Website configuration" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p5.png619cffebec9a9.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="393" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide member panel, customer panel, and click on the PROCEED button. You should see the following page:

<img alt="Install now" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p6.png619cffec12bf3.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="391" loading="lazy" src="data:image/svg xml,” width=”750″>

Click on the INSTALL NOW button. Once the installation has been completed, you should see the following page:

<img alt="Installation finished" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p7.png619cffec2a445.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="391" loading="lazy" src="data:image/svg xml,” width=”750″>

Click on the Admin Panel. You should see the UVdesk login page:

<img alt="Login as admin" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p9.png619cffec55e14.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="385" loading="lazy" src="data:image/svg xml,” width=”750″>

Provide your admin email address, password and click on the SIGN IN button. Once you are log in. You should see the UVdesk dashboard on the following page:

<img alt="UVdesk dashboard" data-ezsrc="https://kirelos.com/wp-content/uploads/2021/11/echo/p10.png619cffec7632a.jpg" ezimgfmt="rs rscb5 src ng ngcb5" height="391" loading="lazy" src="data:image/svg xml,” width=”750″>

Conclusion

Congratulations! you have successfully installed the UVdesk system on Debian 11. You can now implement UVdesk in your company to deliver the best customer service. Feel free to ask me if you have any questions.