loading...

January 24 2022
Building a Ticketing System for MGRL

Ever since I joined the MGRL in 2019, I've wanted to improve our ticketing system. Google Forms lacked essential features like direct responses, agent correspondence, notifications, file uploads, and ticket status tracking. Our department wasted time discussing ticket details before solving them.

I had an unused server machine,so I chose osTicket, a robust open-source platform that is highly customizable and had all the essential features I was looking for. I installed it on an Ubuntu Server.


Program Name Purpose
osTicket Manages all web pages and functions for the ticketing system.
Ubuntu Linux 20.04 The operating system for the server.
Apache2 Makes the server accessible online via ports 80 (HTTP) and 443 (HTTPS).
MySQL Server Stores all data like tickets, users, and configurations in a database.
PHP 7.2 Enables the server to run scripts and communicate with the database.
Certbot Automates the renewal of SSL certificates for HTTPS.

I began by installing Ubuntu Server and configuring Apache2. Once configured, I was able to access the webserver locally via "localhost." To gain external access, I needed our ISP to open ports 80 (HTTP) and 443 (HTTPS) on our router. While waiting, I installed and configured MySQL Server and PHP. osTicket then guided me through the rest of the setup, installing dependencies and tying everything together.

I customized the server, added help topics, departments, and email configurations. I provided the public IP to The University System of Georgia to set up an A record for a new subdomain, ensuring internet accessibility. After setting up the server, I trained my supervisor on management, maintenance, and backups. To secure the publicly accessible server, I followed an Apache hardening guide, installed Fail2ban, and enforced HTTPS. Finally, I migrated staff to the new system using a CSV import from Google Admin, allowing staff to log in with their work emails and set their passwords, which are securely hashed.

The new ticketing system has received many compliments from staff for its ease of use and overall improvement compared to Google Forms. It provides centralized communication and numerous quality-of-life enhancements. The system has been running smoothly for over three months without any issues, making this project a great success!