Skip to content
CMS

How to Install FreeScout with Nginx on Ubuntu Linux

Richard
Written by
Richard
Sep 10, 2023 Updated Jun 19, 2026 3 min read
How to Use Sticky Notes in Windows 11

You can install FreeScout, an open-source help desk and shared mailbox solution, on Ubuntu Linux using Nginx as your web server.

FreeScout provides a powerful, self-hosted alternative to paid platforms like Zendesk, giving you complete control over your customer support data. It requires a PHP environment and a database to function.

By completing this setup, you will deploy a professional help desk on your own server, perfect for managing emails and customer tickets without recurring subscription costs.

⚡ Quick Answer

Install Nginx, MariaDB, and PHP 8.3 using apt commands. Create a FreeScout database in MariaDB, then download FreeScout files to /var/www/freescout. Configure Nginx server block and secure with Certbot.

Install Nginx on Ubuntu Linux

Nginx is the web server that shows your FreeScout help desk to visitors. To install Nginx on Ubuntu, you’ll first update your package list and then install the nginx package using simple commands.

🐧Bash / Shell
sudo apt update
sudo apt install nginx

You can manage the Nginx service (start, stop, restart it) with these commands:

🐧Bash / Shell
sudo systemctl start nginx
sudo systemctl enable nginx

Open your web browser and go to your server’s IP address. You should see the “Welcome to nginx!” page.

Install Nginx web server on Ubuntu Linux

Additional help on installing Nginx: How to install Nginx on Ubuntu

Install MariaDB on Ubuntu Linux

MariaDB stores all your FreeScout help desk information, like tickets and user data. Installing MariaDB on Ubuntu is easy: first, update your system’s package list, then install the mariadb-server package.

🐧Bash / Shell
sudo apt update
sudo apt install mariadb-server

Ensure it starts automatically:

🐧Bash / Shell
sudo systemctl enable mariadb
sudo systemctl start mariadb

Test the connection:

🐧Bash / Shell
sudo mariadb

You should see a welcome message showing the version. Additional help on installing MariaDB: How to install MariaDB on Ubuntu Linux

Create FreeScout database

FreeScout needs its own database to store all its information safely. To create this database, you’ll first run a command to secure your MariaDB installation, then log in to MariaDB to create a new database named ‘freescoutdb’.

🐧Bash / Shell
sudo mysql_secure_installation

Follow the prompts to remove anonymous users and lock down remote access.

Now, log back into MariaDB to create your database:

🐧Bash / Shell
sudo mariadb

Run these commands inside the MariaDB console:

💻Code
CREATE DATABASE freescoutdb CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER freescoutdbuser@localhost IDENTIFIED BY 'your_secure_password';
GRANT ALL ON freescoutdb.* TO freescoutdbuser@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

Install PHP and Required Extensions

FreeScout needs PHP to process logic, and we’ll use PHP 8.3, which is the standard version for Ubuntu 24.04.

🐧Bash / Shell
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd php8.3-imap php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl

Download and Configure FreeScout

Create the directory and download the files:

Command Prompt
sudo mkdir -p /var/www/freescout
cd /var/www/freescout
sudo git clone https://github.com/freescout-helpdesk/freescout .
sudo chown -R www-data:www-data /var/www/freescout

Nginx Server Block and SSL

You need to tell Nginx how to handle requests for your FreeScout site by creating a server block. This involves making a new file in the Nginx configuration directory and pasting in the correct settings that point to your FreeScout files.

🐧Bash / Shell
sudo nano /etc/nginx/sites-available/freescout

Paste your configuration pointing to the /var/www/freescout/public directory and ensure fastcgi_pass points to unix:/run/php/php8.3-fpm.sock.

Enable the site:

🐧Bash / Shell
sudo ln -s /etc/nginx/sites-available/freescout /etc/nginx/sites-enabled/
sudo systemctl restart nginx

Secure with Certbot:

🐧Bash / Shell
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx

Follow the prompts to secure your domain with a free SSL certificate.

Installation Wizard

The FreeScout installation wizard guides you through the final setup steps right in your web browser. You’ll visit your domain, check that your system meets the requirements, enter the database details you just created, and set up your administrator account.

  • Check requirements
  • Enter database details
  • Create your admin account

Once finished, set up the background tasks by running sudo crontab -u www-data -e and adding the line provided by the FreeScout installer. You are now ready to log in and start your dashboard.

Install FreeScout Help Desktop with Nginx on Ubuntu Linux
Install FreeScout Help Desktop with Nginx on Ubuntu Linux

Conclusion: By self-hosting, you keep your data private and save money. You now have a fully functional help desk ready for use.

Reference: FreeScout

Was this guide helpful?

Was this helpful?
Richard

About the Author

Richard

Tech Writer, IT Professional

Richard, a writer for Geek Rewind, is a tech enthusiast who loves breaking down complex IT topics into simple, easy-to-understand ideas. With years of hands-on experience in system administration and enterprise IT operations, he’s developed a knack for offering practical tips and solutions. Richard aims to make technology more accessible and actionable. He's deeply committed to the Geek Rewind community, always ready to answer questions and engage in discussions.

1 Comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Exit mobile version