
UVdesk is an open-source helpdesk system designed to offer multi-channel customer service. With the help of UVdesk, you can respond to support tickets from various online platforms in one single place.
This article explains how to install UVdesk Open Source 1.1.0 on an Ubuntu 20.04 LTS cloud server instance at Vultr.
Before you begin, you need to:
If you are hosting the apex domain name example.com at Vultr, set up DNS records as follows to bind example.com, www.example.com, and helpdesk.example.com to the UVdesk server's IPv4 address 203.0.113.100:
|table|100| |thead| |tr| |th|20|Type| |th|20|Name| |th|20|Data| |th|20|TTL(seconds)| |th|20|Priority| |tbody| |tr| |td|A| |td| | |td|203.0.113.100| |td|300| |td| | |tr| |td|A| |td|www| |td|203.0.113.100| |td|300| |td| | |tr| |td|A| |td|helpdesk| |td|203.0.113.100| |td|300| |td| | |tr| |td|MX| |td| | |td|example.com| |td|300| |td|10| |tr| |td|NS| |td| | |td|ns1.vultr.com| |td|300| |td| | |tr| |td|NS| |td| | |td|ns2.vultr.com| |td|300| |td| |
To learn more about managing DNS through Vultr, see the introduction to Vultr DNS.
Instructions on setting up DNS records on other platforms may vary.
Open your favorite terminal program on your desktop machine, such as PuTTY on Windows or iTerm2 on macOS, and log in to the UVdesk server instance as root with the initial password you found on the Server Details page.
After logging in, perform the tasks listed in this section to prepare the system.
Check if any swap space is in use on the system:
If the system has swap allocated, skip to the next task. Otherwise, create a swap file of 2GB to smooth system operations:
Change the system-provided password of the root user to a private and strong one, such as r00tyHvM%2kaz8E3:
Add a non-root user with sudo privileges, such as uvdesk, and also set up a strong password for it, such as sud04QeXb$x#6&Cw:
Create UFW firewall rules to allow only traffic on 22(SSH), 80(HTTP), and 443(HTTPS) ports:
Update the system, and reboot the server instance to apply all updates:
After the server instance gets up and running again, log in as the newly created sudo user uvdesk to move on.
UVdesk Open Source 1.1.0 requires a Relational Database Management System (RDBMS), and this article prefers MariaDB 10.7, the latest stable release of MariaDB.
Set up the MariaDB 10.7 Advanced Package Tool (APT) repository:
Install MariaDB 10.7 server:
Start the MariaDB service and make it automatically start on boot:
Run an official script to secure the installation of MariaDB 10.7 server:
Reply to questions as follows to enhance the security of the MariaDB 10.7 installation:
Find possible locations of the MariaDB configuration files:
Create a global MariaDB configuration file at the first location:
Populate the file as follows to set utf8mb4 as the default character set for MariaDB 10.7:
Press Ctrl+O, Enter, and Ctrl+X to save the configuration file and quit.
Restart the MariaDB service to load new settings:
Create a third-party PHP Personal Package Archives (PPA) repository:
Install required PHP 8.0 packages for UVdesk, including the FastCGI Process Manager (FPM) extension for working with Nginx:
Set up the proper timezone according to the location of your server instance:
For other timezones, refer to the PHP Timezones List page.
Increase the memory limit for PHP-FPM 8.0 from 128MB to 1GB:
Increase execution time to 60 seconds for both PHP-FPM and PHP-CLI:
Change PHP-FPM 8.0 settings to make it work with Nginx:
Start the PHP-FPM 8.0 service and make it automatically start on boot:
UVdesk Open Source 1.1.0 needs to work with a web server, such as Apache or Nginx. This article prefers the latest mainline release of Nginx, which is Nginx 1.21.6 for now.
Install dependencies for installing Nginx:
Import the official Nginx GPG signing key:
Identify the GPG signing key stored in the downloaded file:
Make sure that the output contains the full fingerprint 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62. Otherwise, delete the downloaded file and re-do the import.
Set up the mainline Nginx APT repository:
Set up repository pinning to prefer official Nginx mainline packages to distribution-provided ones:
Install the mainline version of Nginx, which is Nginx 1.21.6 for now:
Confirm the installation of Nginx:
Start the Nginx service and make it automatically start on boot:
Valid TLS certificates are indispensable for enabling HTTPS access to a website. If you don't have any valid TLS certificate yet, follow instructions below to get free Let's Encrypt certificates for helpdesk.example.com, www.example.com, and example.com.
Update the snapd program:
Remove any existing Certbot programs installed from other sources to avoid possible conflicts:
Install Certbot using the snapd program:
Create a symbolic link in the /usr/bin directory pointing to the newly installed Certbot program:
Get Let's Encrypt certificates for helpdesk.example.com, www.example.com, and example.com through Certbot and its Nginx plugin:
The Certbot program has set up automatic certificate renewals by default to prevent the Let's Encrypt TLS certificates from expiring in 90 days. Use the commands listed below to confirm these renewals are on schedule:
UVdesk uses Composer to manage dependencies. Use the following commands to install Composer 2.3.3, the latest stable release of Composer for now:
Notice: The instructions listed above are only for installing Composer 2.3.3. Always check for the proper instructions for installing a newer version of Composer on the official Composer Download page.
Log in to the MariaDB shell as root:
In the MariaDB shell, create a database named uvdesk, a database user named uvdesk, and the database user's password uv8jTm9LHtez0MKn:
Create required directories for hosting the UVdesk site:
Back up preset Nginx configuration files:
Generate a 2048-bit Diffie-Hellman parameters file to increase SSL security:
Create the main Nginx configuration file:
Populate the file with:
Press Ctrl+O, Enter, and Ctrl+X to save and quit.
Create the Nginx configuration file for helpdesk.example.com:
Populate the file with:
Press Ctrl+O, Enter, and Ctrl+X to save and quit.
Create a symbolic link to enable the configuration file for helpdesk.example.com:
Test newly created Nginx configurations and restart the Nginx service:
Point your favorite web browser to http://helpdesk.example.com/ to verify URL redirects you setup earlier. If all goes well, it should switch to https://helpdesk.example.com/.
Use Composer to install dependencies for UVdesk:
During the installation, reply to questions as follows:
Install the acl utility:
Grant permissions on specific directories and files for both the command line user uvdesk and the Nginx user nginx:
Restart the Nginx service:
Point your favorite web browser to http://helpdesk.example.com/ again to start the UVdesk web installation wizard.
Notice: If the installation fails because of an SQL error "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'uvdesk.uv_support_role' doesn't exist," use commands listed below to fix the problem:
Then refresh the UVdesk web installation wizard page http://helpdesk.example.com/ to perform the installation again.
Having the UVdesk helpdesk system installed, log in as the administrator you created earlier from UVdesk Support Center, and then set up a mailbox to send and receive emails from UVdesk.
0 Comments
Be the first to comment and share your perspective with the community.