A developer working on a customer ticket.
Image: Andrea Piacquadio/Pexels

If your business develops or sells software and services, chances are that you need to use a help ticket system. If you don’t, how will you keep track of issues, and how will you even allow users, clients, consumers or developers to submit issues regarding the software and services you create? That can be a real challenge.

SEE: 40+ open source and Linux terms you need to know (TechRepublic Premium)

That’s why it’s important to have a ticketing system available. As there is a never-ending supply of ticketing systems, which one do you use? One option is the open source osTicket. I want to walk you through the steps for installing osTicket on Ubuntu Server 20.04.

What you’ll need to install osTicket

To successfully install osTicket you will need a running instance of Ubuntu Server 20.04 and a user with sudo privileges. That’s it: Let’s get this help system up and running.

How to install the dependencies

The first thing to do is install the required dependencies. Log in to your Ubuntu instance and install the first pieces of the puzzle with:

sudo apt-get install ca-certificates apt-transport-https software-properties-common git -y

Next, we need to add a repository, so we can install PHP 8. This is done with:

sudo add-apt-repository ppa:ondrej/php

Update apt with:

sudo apt-get update -y

Install PHP, which will also pick up Apache with the command:

sudo apt-get install php8.0 libapache2-mod-php8.0 php8.0-common php8.0-fpm php8.0-cgi php8.0-bcmath php8.0-gd php8.0-imap php8.0-intl php8.0-apcu php8.0-cli php8.0-mbstring php8.0-curl php8.0-mysql php8.0-xml unzip -y

Enable PHP 8.0 FPM with the commands:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm

Reload Apache with:

sudo systemctl reload apache2

We’ll now install the MariaDB server with:

sudo apt-get install mariadb-server -y

Secure the MariaDB installation with the command:

sudo mysql_secure_installation

Make sure to give the database admin user a strong password.

How to create the database

Access the MariaDB console with:

sudo mysql

Create the necessary database with the command:


Create the osticketuser with:

CREATE USER 'osticketuser'@'localhost' IDENTIFIED BY 'PASSWORD';

Where PASSWORD is a unique and strong password.

Grant the required privileges with:

GRANT ALL PRIVILEGES ON osticketdb.* TO osticketuser@localhost IDENTIFIED BY "PASSWORD";

Where PASSWORD is the same password you created above.

Flush the privileges and exit with:


How to download and prepare osTicket for installation

Clone the osTicket repository with:

git clone https://github.com/osTicket/osTicket

Change into that newly-created directory with:

cd osTicket

Create the required directory with the command:

sudo mkdir -p /var/www/html/osticket

Prepare the osTicket directory with:

sudo php manage.php deploy --setup /var/www/html/osticket/

Change into the osTicket directory:

cd /var/www/html/osticket

Copy the config file and change the permissions with the two commands:

sudo cp include/ost-sampleconfig.php include/ost-config.php
sudo chmod 0666 include/ost-config.php

How to access the web installer

Open a web browser and point it to http://SERVER/osticket, where SERVER is the IP address or domain of the hosting server. You will be greeted by the installer, which will first check to make sure you’ve installed the necessary requirements (Figure A).

Figure A

The first page of the osTicket installer.
The first page of the osTicket installer.

Click Continue, and you’ll see the basic installation page (Figure B).

Figure B

The osTicket basic installation page.
The osTicket basic installation page.

Fill out all of the necessary information. Remember, for the database, we set it up like this:

  • MySQL Database: osticketdb.
  • MySQL User: osticketuser.
  • MySQL Password: password created for the osticketuser.

After filling out the information, click Install Now.

When the installation finishes, you’ll see the summary page (Figure C), that includes the final command you must run, which is:

sudo chmod 0644 /var/www/html/osticket/include/ost-config.php

You’ll also see the links you can use to access the various osTicket tools.

Figure C

osTicket is ready to be used.
osTicket is ready to be used.

An open source help desk system

You now have a powerful help desk system that allows the submission of bugs and other issues for your software or service. osTicket is a powerful and user-friendly help desk system which will go a long way to keep your developers and other staff members working effectively to keep the workflow running smoothly.