Skip to content
Follow
CMS

How to Install FreeScout with Nginx on Ubuntu Linux

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

FreeScout is a free, self-hosted help desk and shared inbox system that lets you run your own customer support platform on Ubuntu Linux using the Nginx web server. By hosting the software on your own server, you keep total control over your customer emails and data without paying monthly subscription fees.

Setting up FreeScout requires a server running Ubuntu Linux, the Nginx web server, PHP, and a database to store your support tickets. Managing your help desk this way cuts your software costs to zero while giving your team a complete customer service workspace.

⚡ 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 displays the FreeScout help desk to visitors browsing the domain. Update your package list before grabbing the web server. Pull down the package using apt install nginx.

🐧Bash / Shell
sudo apt update
sudo apt install nginx

Control the Nginx service (starting, stopping, or restarting it) using these operational commands:

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

Open a web browser and navigate to the server IP address. The default Nginx landing page confirms a successful installation.

Install Nginx web server on Ubuntu Linux
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 FreeScout ticket histories and user records. Install MariaDB on Ubuntu by refreshing package lists and pulling the mariadb-server package.

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

Ensure the database engine starts automatically on boot:

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

Test the database service connection:

🐧Bash / Shell
sudo mariadb

A version greeting appears on successful connection. Additional help on installing MariaDB: How to install MariaDB on Ubuntu Linux

Create FreeScout database

FreeScout requires a dedicated database namedfreescoutdb to store application records securely. Execute the security script before generating the database structure. Access the MariaDB console to create freescoutdb afterward.

🐧Bash / Shell
sudo mysql_secure_installation

Work through the prompts to remove anonymous accounts and restrict remote database logins.

Log back into MariaDB to provision the application database:

🐧Bash / Shell
sudo mariadb

Execute these queries inside the MariaDB prompt:

💻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 relies on PHP to execute application logic. PHP 8.3 serves as the standard runtime 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

Generate the target directory and download the application source 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

Configure Nginx to handle incoming web traffic by setting up a server block (a configuration file that defines how your domain responds to visitor requests). Create a dedicated configuration file within the Nginx configuration directory pointing toward the application files.

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

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

Activate the site configuration:

🐧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

Complete the prompts to encrypt web traffic using a complimentary SSL certificate.

Installation Wizard

The browser-based FreeScout installation wizard handles final application configuration. Accessing the domain validates system dependencies, accepts database credentials, and configures administrator login parameters.

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

Configure background worker tasks by running sudo crontab -u www-data -e and appending the cron schedule provided by the FreeScout installer. Access the administrative dashboard upon completion.

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

Conclusion: Self-hosting protects internal communications and reduces operational overhead. A production-ready help desk is now operational.

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.

📚 Related Tutorials

How to Install Nginx on Ubuntu Linux
Ubuntu Linux How to Install Nginx on Ubuntu Linux
How to Install Ubuntu Linux
Ubuntu Linux How to Install Ubuntu Linux
How to Install FossBilling with Nginx on Ubuntu Linux
CMS How to Install FossBilling with Nginx on Ubuntu Linux
How to Install PHP on Ubuntu Linux
Ubuntu Linux How to Install PHP on Ubuntu Linux

1 Comment

Leave a Comment

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