Warning
This article is old, and some of the information may be outdated or no longer valid today.
If you have any questions or need to confirm any details, we recommend contacting our support team for up-to-date information and personalized assistance.
If you are looking for a ticketing tool, UVdesk is open source (Open Source) and is based on the PHP framework Symfony, making it highly customizable to suit your needs.
It includes a knowledge base option, user management, and macros for saved and/or automatic responses with workflows. And, of course, the option to configure email, groups, and ticket priorities.
It has extensions developed for CMS platforms such as Joomla, Magento 2, Opencart, Prestashop, Shopify, and WordPress. There are also applications for integration with Facebook, Twitter, etc.
Official recommended requirements
- Operating system: Linux or Windows (WAMP/XAMPP).
- Web server: Apache2 or NGINX.
- RAM: 3 GB or more.
- PHP version: Between 7.2 and 7.4 recommended.
- Processor: Frequency of 1 Ghz or higher.
- MySQL version: 5.7.23 or higher.
- Composer version: From 1.6.5 to below 2.0.X.
- PHP IMAP & PHP Mailparse.
Preliminary steps and UVdesk installation
This article uses the Ubuntu 20.04 LTS image, first installing and configuring NGINX with PHP and a Let's Encrypt certificate obtained with Certbot for the UVdesk installation. If you used the LEMP image, you can skip the preliminary package installation steps (check that you have all the necessary PHP packages installed), go directly to the database creation section, and adapt the procedure by adding a new site file for NGINX and specifying the directory path.
Package installation
This article explains how to install Bludit, first installing and configuring NGINX with PHP and a Let's Encrypt certificate obtained with Certbot. The steps are as follows:
Update the repositories and install the updates:
# apt update && apt upgradeInstall the necessary packages:
# apt install mariadb-server nginx php-cli php-fpm php-common php-mbstring php-swiftmailer php-gd php-xml php-json php-gmp php-curl php-intl php-xmlrpc php-mysql php-imap php-mailparse php-cli certbot python3-certbot-nginxThen configure security for the database:
# mysql_secure_installationDatabase creation
To create a database for UVdesk, we can run the following command:
# mysqladmin -u root --verbose create uvdeskThen create a user (replace password with your desired password):
# mysql -u root --verbose -e "create user 'uvdesk'@'localhost' identified by 'password';"
Finally, grant the user permissions on the database and perform a flush:
# mysql -u root --verbose -e "grant all on uvdesk.* to 'uvdesk'@'localhost' with grant option; flush privileges;"Downloading and installing UVdesk
Go to the temporary directory and download the compressed file from the official UVdesk website:
# cd /tmp && wget https://cdn.uvdesk.com/uvdesk/downloads/opensource/uvdesk-community-current-stable.zipExtract the downloaded file (we include installing unzip first):
# apt install -y unzip && unzip uvdesk-community-current-stable.zipCreate the directory and synchronize the web directory with the extracted folder:
# mkdir /var/www/uvdesk/ && rsync -rtv uvdesk-community-v*/ /var/www/uvdesk/Edit the NGINX configuration file for the site:
# vi /etc/nginx/sites-available/defaultChange server_name in the file to the subdomain or domain record pointing to the server:
server_name uvdesk.ejemplo.com;Change the path to the public directory for uvdesk:
root /var/www/uvdesk/public/;Add index.php to the index line:
index index.php;Change the try_files line to:
try_files $uri $uri/ /index.php?$args;
Also uncomment the lines for using PHP and denying access to .htaccess. The result should look like this:
# pass PHP scripts to FastCGI server
location ~ \.php$ {
# include snippets/fastcgi-php.conf;
include fastcgi.conf;
# fastcgi_index index.php;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# With php-cgi (or other tcp sockets):
# fastcgi_pass 127.0.0.1:9000;
fastcgi_param HTTPS on;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
Save the changes and recursively change ownership of the entire web directory:
# chown -R www-data:www-data /var/www/uvdesk/Also assign permissions to the directory recursively:
# chmod -R 755 /var/www/uvdesk/Restart the web service to reload the changes:
# systemctl restart nginx.serviceFinally, if you want to use SSL, obtain a certificate with Certbot:
# certbot --nginx --redirect -d uvdesk.ejemplo.comThen open the configured domain or subdomain in a web browser and follow the installation wizard:
Spanish is not enabled by default. To enable it, edit the file:
# vi /var/www/uvdesk/config/packages/uvdesk.yamlOn the app_locales line, add the language:
app_locales: es|en|fr|itFinally, you can also disable the Symfony debug toolbar by editing the following file:
# vi /var/www/uvdesk/config/packages/dev/web_profiler.yamlSet the toolbar line to false:
toolbar: falseAdditionally, if you want Spanish as the default language, you must modify the following file:
# vi /var/www/uvdesk/config/packages/translation.yamlChange the default line from "en" to "es" and then clear the cache:
# cd /var/www/uvdesk && php bin/console c:cOnce you have finished configuring it, change the environment from dev to prod in the file:
# vi /var/www/uvdesk/.envWe hope this tutorial has helped you. Have you tried it? Leave us your comments! 🙂
Remember, if you have questions about this or any other issue related to your servers on Clouding, feel free to write to soporte@clouding.io We are here for whatever you need!