Installing and setup UVdesk for the first time

  • mod admin

    Hi to all,
    today I will try to write here the right step to install and setup UVdesk.

    1. You can download the package here: or

    2. Than you will need extract on your server and check support requirement.

    If you wanna install by SSH
    UVdesk can be also be installed using composer with the following command in the folder where you want install UVdesk.
    Don't run composer as root.

    composer create-project uvdesk/community-skeleton helpdesk-project

    At the end of the update you should need to run php bin/console c:c inside the root UVdesk directory

    Than you will also need run on SSH the following two commands:

    php bin/console d:s:u --force
    php bin/console assets:install

    Hardware Requirement

    Processor: 1.60GHz or higher
    RAM: 3GB or higher

    Software Requirement

    PHP 7.3 or 7.4 ( Working for support PHP 8 not yet supported)
    Composer: 1.6.5 or higher
    IMAP (PHP extension)
    MailParse (PHP extension)
    Server: Apache
    Database: MySQL

    1. Once done you can point your browser to https://domain.ext/uvdeskfolder/public/ and follow the wizard

    Once installed If you did not customize customer and member path you should be able to reach admin adding the following at your domain URL public/en/member/login so https://domain.ext/uvdeskfolder/public/en/member/login

    Now that are logged as operator let's configure email:

    Let's login and configure email:

    You can follow the Uvdesk guide here: How to Setup Mailbox : UVdesk Open Source Helpdesk

    Incoming Mail (IMAP) Server

    • Swift Mailer
    • MailBoxes

    In email settings you can try to change the support@localhost address but also if the page was saved at the refresh the settings is not saved. For resolve this issue you have to go on the uvdesk root and do the following SSH command:

    php bin/console c:c

    After this you can come back on your ticket system operator email settings and than refresh the page with email settings ad you will see now your correct email address.

    Now need fix some other things:

    You will need set the correct domain in /uvdesk/config/packages/uvdesk.yaml


    Once edited you need save the file than run in UVdesk root the following SSH command to clear cache:

    php bin/console c:c

    For test ticket opening send an email to the support email than run the following SSH command n the uvdesk root:

    php bin/console uvdesk:refresh-mailbox emailaddress@domain.ext

    If the ticket is not created and you get

    1. Processing uvdesk mailbox configuration.
    2. Opening imap stream...
    3. IMAP stream opened.
    4. Fetching Email collection since 22 March 2021.
    5. Total fetched email -> 1
    6. Starting to convert Emails into Tickets ->
    Converting email 1 out of 1.
    Mailbox refreshed successfully !!!

    Check site_url in /uvdesk/config/packages/uvdesk.yaml file.
    You site url should be path up-to public folder: helpdesk.domain.ext/uvdesk/public

    You will find uvdesk.yaml under config->packages directory in your project.

    Then try to run refresh command.

  • UVdesk Staff mod


    Thanks for sharing information it will really help to other users to do the same steps and setup project without any problem.

  • mod admin

    No problem @Sanjeev , it's a pleasure try to give a small help.
    Today I'm adding some new informations: a small guide on how to rewrite URL, just below.

    How to remove public folder and also index.php from the UVdesk URL

    In the main UVdesk root folder you need have or add an .htaccess file with the following rules:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(.*)$ /public/$1 [L,QSA]

    In some occasion I discovered my UVdesk installation was showing index.php in the URL, for hide that I added some rules in the .htaccess file, this time inside the public folder.

    In the public folder you need have an .htaccess file where you may want add

    RewriteEngine On
    RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
    RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]

    Also if you want force HTTPS you can add:

    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    In the existent .htaccess file inside the public folder you should already also have the following code:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ ./index.php/$1 [QSA,L]
        RewriteCond %{HTTP:Authorization} ^(.*)
        RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]

    Now your installation should work without public and without index.php showed in the URL.

Log in to reply