How to Install UVdesk Helpdesk System on Debian 11
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 ReCaptcha\ReCaptcha 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:
<VirtualHost *:80> ServerName uvdesk.example.com DocumentRoot /var/www/html/uvdesk/public <Directory /var/www/html/uvdesk/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>
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:
Click on the Let's Begin button. You should see the following page:
Make sure all requirements are met then click on the PROCEED button. You should see the following page:
Provide your Database details and click on the PROCEED button. You should see the following page:
Provide your admin username, email, password, and click on the PROCEED button. You should see the website configuration page:
Provide member panel, customer panel, and click on the PROCEED button. You should see the following page:
Click on the INSTALL NOW button. Once the installation has been completed, you should see the following page:
Click on the Admin Panel. You should see the UVdesk login page:
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:
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.