{"id":15029,"date":"2025-06-13T13:04:48","date_gmt":"2025-06-13T07:34:48","guid":{"rendered":"https:\/\/www.skynats.com\/?p=15029"},"modified":"2026-03-17T11:40:24","modified_gmt":"2026-03-17T06:10:24","slug":"how-to-install-freescout-help-desk-on-ubuntu-22-04-a-step-by-step-guide","status":"publish","type":"post","link":"https:\/\/www.skynats.com\/blog\/how-to-install-freescout-help-desk-on-ubuntu-22-04-a-step-by-step-guide\/","title":{"rendered":"How to Install FreeScout Help Desk on Ubuntu 22.04: A Step-by-Step Guide"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">FreeScout Help Desk is a powerful open-source customer support and ticketing system that\u2019s lightweight, PHP-based, and an excellent alternative to commercial help desks like Zendesk. With features like email integration, auto-responders, notes, modules, and team collaboration tools, Install FreeScout Help Desk on Ubuntu 22.04 is a perfect fit for businesses aiming to host their own support platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In this tutorial, we\u2019ll walk you through how to install FreeScout on an <strong><a href=\"https:\/\/ubuntu.com\/20-04\" target=\"_blank\" rel=\"noopener\"><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-secondary-color\">Ubuntu 22.04<\/mark><\/a><\/strong> server using the LEMP stack (Linux, Nginx, MariaDB, PHP).<\/p>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\" id=\"h-prerequisites\"><strong>Prerequisites<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A fresh VPS or server running Ubuntu 22.04 (1 GB RAM minimum, 2+ GB recommended)<\/li>\n\n\n\n<li>A domain name pointed to your server&#8217;s IP (e.g., freescout.example.com)<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\" id=\"h-step-1-install-the-lemp-stack\"><strong>Step 1 \u2013 Install the LEMP Stack<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Start by installing Nginx, MariaDB, PHP, and required PHP extensions.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update -y\n\nsudo apt install nginx mariadb-server libmariadb-dev git php-fpm php-mysql php-mbstring php-xml php-imap php-zip php-gd php-curl php-intl -y<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\"><strong>Configure PHP<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Edit the PHP configuration file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/php\/8.1\/fpm\/php.ini<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Update the following values:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>memory_limit = 512M\nupload_max_filesize = 16M\ncgi.fix_pathinfo = 0\ndate.timezone = UTC<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Restart PHP-FPM to apply changes<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo systemctl restart php8.1-fpm<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\"><strong>Step 2 \u2013 Create a Database for FreeScout<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Log into the MariaDB shell<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mysql<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Run the following SQL commands:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>CREATE DATABASE freescout CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;\nGRANT ALL PRIVILEGES ON freescout.* TO 'freescout'@'localhost' IDENTIFIED BY 'your_secure_password';\nFLUSH PRIVILEGES;\nEXIT;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Note<\/strong>: Replace &#8216;your_secure_password&#8217; with a strong password.<\/p>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\"><strong>Step 3 \u2013 Download FreeScout<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create a directory for FreeScout and download the latest version from GitHub:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir -p \/var\/www\/freescout\ncd \/var\/www\/freescout\nsudo git clone https:\/\/github.com\/freescout-helpdesk\/freescout .<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Set appropriate permissions:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R www-data:www-data \/var\/www\/freescout\nsudo find \/var\/www\/freescout -type f -exec chmod 664 {} \\;\nsudo find \/var\/www\/freescout -type d -exec chmod 775 {} \\;<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\"><strong>Step 4 \u2013 Configure Nginx<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Create a new Nginx virtual host:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/nginx\/sites-enabled\/freescout.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Paste the following configuration (update the domain name):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name freescout.example.com;\n\n    root \/var\/www\/freescout\/public;\n    index index.php index.html;\n\n    error_log \/var\/www\/freescout\/storage\/logs\/web-server.log;\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$query_string;\n    }\n\n    location ~ \\.php$ {\n        fastcgi_pass unix:\/run\/php\/php8.1-fpm.sock;\n        fastcgi_index index.php;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    location ~ \/\\. {\n        deny all;\n    }\n\n    location ~* ^\/storage\/attachment\/ {\n        expires 1M;\n        access_log off;\n        try_files $uri $uri\/ \/index.php?$query_string;\n    }\n\n    location ~* ^\/(?:css|js|fonts|img)\/.*\\.(?:css|js|ttf|woff|woff2|png|jpg|jpeg|gif|svg)$ {\n        expires 1M;\n        add_header Cache-Control \"public\";\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Edit the Nginx main configuration:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/nginx\/nginx.conf<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Add the following line inside the http block and Restart Nginx<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server_names_hash_bucket_size 64;\nsudo systemctl restart nginx<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading has-small-font-size\"><strong>Step 5 \u2013 Complete Installation via Web Interface<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open your browser and navigate to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>http:&#47;&#47;freescout.example.com<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Now follow these steps:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Check Requirements<\/strong> \u2192 Ensure all PHP extensions are met.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXdTAN0JgUDUU4_TNck6Ajtgqk4hce0VzyQRipwZt0I-ANsxskdFMfRSgKsTQFg2MGXyA8N5-QtS6mudhvBHxuePzqqVqC674WrCa5M-vGoUPtERoqmJPutGIsGmMWNpCMG56Q38gQ?key=V7Gv1Dl6i1_lJH3hkqp3ZA\" alt=\"FreeScout Installer\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Check Permissions<\/strong> \u2192 Confirm write permissions<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXd0GCKO_iTbnDr9L_84-veDJ2npbfQxo98wUaqsj9rUM7A1Wuwlbk0Gstsg-6iS_ShkR1IQZ_PWl35xRxVCoZj8HOWK-xl3WpXnMbxMO6Jw-HITUZNqlEeB7DLRFEHOTqvf_0UJGw?key=V7Gv1Dl6i1_lJH3hkqp3ZA\" alt=\"FreeScout Server Requirements\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Configure Environment<\/strong> \u2192 Set your app URL.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXfJbk8SbwYUi1OXmwPKqy0aqUOGn77L2jFKg7D9oWRnCb9cX13XZzh_RjXLI7LadZ-wREFQFtbXSWr0szsmnzrmMyy1Ni4xQbsCynrQ5bKWGEIst40R4sunQ8w1QQuDb7nUnzVUVg?key=V7Gv1Dl6i1_lJH3hkqp3ZA\" alt=\"FreeScout Settings\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Setup Database<\/strong> \u2192 Enter the MariaDB credentials you created earlier<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Choose Language<\/strong> \u2192 Select your preferred language.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Setup Admin<\/strong> \u2192 Create an admin account.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXezpAjOCAXWd7YktgIcXhTUeTt7lvwQU3JuaKqdRLQStvAPmioF7pgp-gIRjJJOzEKPRwTQ8JBSL36NuejLZhuQlIpVcLZ9_w_yS5p6Z8fIQIdEIE6FkpNdlGx3vzO3PHPB_0IApA?key=V7Gv1Dl6i1_lJH3hkqp3ZA\" alt=\"FreeScout Installation\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Install<\/strong> \u2192 Complete the installation and log in.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/lh7-rt.googleusercontent.com\/docsz\/AD_4nXeYjtYzcbgnuhE_quWO0IqFUgvhRVpi8LFOlklVXzIsXG4_ywk7zw8CwCQ490CgWYDbdcXGL0jKzRGc3KZVTC2xwRP0zeCQ7Bwn0qDq1eQkKWnpACQuKOCrct-JkaR9foyIAcH8?key=V7Gv1Dl6i1_lJH3hkqp3ZA\" alt=\"FreeScout Dashboard\"\/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading has-small-font-size\"><strong>Conclusion<\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">FreeScout Help Desk empowers businesses to streamline their customer support workflows with a lightweight, self-hosted, and fully open-source solution. By following the step-by-step installation process outlined in this guide, organizations can quickly deploy FreeScout on Ubuntu 22.04 and begin managing customer inquiries with greater control, flexibility, and efficiency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Its modern interface, modular design, and robust feature set make FreeScout an ideal alternative to expensive cloud-based platforms\u2014especially for teams that prioritize data privacy and customization.Conclusion<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">FreeScout Help Desk empowers businesses to streamline their customer support workflows with a lightweight, self-hosted, and fully open-source solution. By following the step-by-step installation process outlined in this guide, organizations can quickly deploy FreeScout on Ubuntu 22.04 and begin managing customer inquiries with greater control, flexibility, and efficiency.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Its modern interface, modular design, and robust feature set make FreeScout an ideal alternative to expensive cloud-based platforms\u2014especially for teams that prioritize data privacy and customization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you encounter any issues or need further assistance while setting up FreeScout on Ubuntu 22.04, don\u2019t hesitate to reach out to your <strong><a href=\"https:\/\/www.skynats.com\/dedicated-hosting-support\">web hosting support<\/a><\/strong> team. They can help troubleshoot server-related problems, configure essential services, or guide you through technical challenges to ensure your help desk is up and running smoothly. Reliable support can make all the difference in maintaining a seamless customer service platform.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>FreeScout Help Desk is a powerful open-source customer support and ticketing system that\u2019s lightweight, PHP-based, and an excellent alternative to commercial help desks like Zendesk. With features like email integration, auto-responders, notes, modules, and team collaboration tools, Install FreeScout Help Desk on Ubuntu 22.04 is a perfect fit for businesses aiming to host their own [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[1053],"class_list":["post-15029","post","type-post","status-publish","format-standard","hentry","category-blog","tag-install-freescout-help-desk-on-ubuntu-22-04"],"_links":{"self":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/15029","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/comments?post=15029"}],"version-history":[{"count":4,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/15029\/revisions"}],"predecessor-version":[{"id":17484,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/posts\/15029\/revisions\/17484"}],"wp:attachment":[{"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/media?parent=15029"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/categories?post=15029"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.skynats.com\/blog\/wp-json\/wp\/v2\/tags?post=15029"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}