Update Server:
apt update && apt upgrade -y
Set hostname:
hostnamectl set-hostname udesk.example.com
Install essential tools:
sudo apt install wget vim git unzip curl apache2 libapache2-mod-fcgid -y
sudo a2enmod actions fcgid alias proxy_fcgi rewrite
sudo systemctl restart apache2
Install MariaDB:
sudo apt install software-properties-common -y
curl -LsS -O https://downloads.mariadb.com/MariaDB...
sudo bash mariadb_repo_setup --mariadb-server-version=10.6
sudo apt update
sudo apt install mariadb-server mariadb-client
sudo mariadb-secure-installation
Configure Database:
mysql -u root -p
CREATE DATABASE uvdeskdb;
CREATE USER 'uvdeskadmin'@'localhost' IDENTIFIED BY 'StrongPassword';
GRANT ALL PRIVILEGES ON uvdeskdb.* TO 'uvdeskadmin'@'localhost';
FLUSH PRIVILEGES;
exit;
Install and configure PHP:
sudo apt update
sudo apt install -y php
sudo apt install php-{cli,fpm,json,common,mysql,zip,gd,mbstring,curl,xml,bcmath,imap,intl,mailparse} php-pear
sudo nano /etc/php/*/fpm/php.ini
update
memory_limit = 512M
date.timezone = Asia/Kolkata
sudo systemctl restart php*-fpm.service
Download UVdesk:
wget "https://cdn.uvdesk.com/uvdesk/downloa..."
unzip uvdesk-community-current-stable.zip
UVdesk installation:
sudo mv uvdesk-community-*/ /var/www/uvdesk
sudo chown -R www-data:www-data /var/www/uvdesk
sudo chmod -R 775 /var/www/uvdesk
Configure Apache for UVdesk:
sudo mv /etc/apache2/sites-enabled/000-default.conf{,.bak}
sudo vim /etc/apache2/sites-enabled/uvdesk.conf
paste
I'm replacing angled bracket with square bracket ###
[VirtualHost *:80]
ServerName udesk.example.com
ServerAlias www.udesk.example.com
DocumentRoot /var/www/uvdesk/public/
[Directory /var/www/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]
sudo nano /etc/apache2/sites-available/000-default.conf
update
[Directory /var/www/]
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
[/Directory]
sudo chown -R www-data:www-data /var/www/uvdesk
sudo chmod -R 755 /var/www/uvdesk
sudo systemctl restart apache2
sudo ufw allow 80/tcp
Access Udesk:
http://udesk.example.com