How to host osTicket on Google Cloud Platform

Abdulsalam Abdullateef
4 min readMar 15, 2019

--

You may want to provide a ticketing platform for your organization. Or you may want ability to provide self-served customer service and task workflow management. While there are lots of Cloud SaaS providers, both paid and open source solutions, such as FreshDesk, Zendesk, et.c, you may want to use the most widely used open source solution; osTicket.

With osTicket;

  1. Users can create tickets via your website, email, or phone
  2. Incoming tickets are saved and assigned to agents
  3. Agents help users resolve their issues and canned responses are available with speed up response.
osTicket.com © March 2019

osTicket is free, and because it is open source, there are thousands of contributors and users that support the community. It is also commercially maintained by EnchanceSoft, who provide enterprise deployments for specific technical and advanced business requirements.

One cool place to host osTicket is on Google Cloud Platform. You can easily provision a micro-vm on a LAMP stack via Cloud MarketPlace. As traffic increase, you can automatically increase the machine type. You can easily SSH into the VM via a Bastion host or simply via Cloud Shell right from the browser.

https://cloud.google.com/marketplace/

You can spin up CloudSQL in minutes with a public IP ready to go. The reason you want to separate database instance from the web server instance, is because CloudSQL is fully managed by Google, so you don’t have to worry about patches, maintenance, fail-over, backups, stories.

https://cloud.google.com/sql/docs/mysql/backup-recovery/backups

Setup

  1. Download the osTicket Core (latest release is v1.11) from https://osticket.com/download/
  2. Create a simple regional bucket in any region of your choice in Google Cloud Storage and upload the downloaded zip file into the bucket.
Remember you have 5GB of free storage every month.

Right from the VM shell via SSH on the CloudShell, run

$: gsutil cp osTicket .
$: unzip osTicket
$: mv /osTicket/upload/* /var/www/html/
$: cd /var/www/html/
$: sudo chmod 755 /include/ost-config.php

Alternatively, just clone from github

$: git clone https://github.com/osTicket/osTicket
$: cd osTicket
$: php manage.php deploy --setup /var/www/html/osticket/

Once you finish copying the files and deploying to the web server, you can point your browser to the external IP address of the server. However, the external IP is ephemeral by default, so click the reserve static IP button on the instance listing to request a static IP.

Your browser may look like this http://35.241.114.141/osticket/setup OR http://35.241.114.141/setup depending on what webserver folder you paste files into.

Create a database in the CloudSQL instance you created earlier, and then create a root user to enable access to the database. Next, you need to create connection to the CloudSQL, by whitelisting the VM instance external IP. This security feature or firewall, ensures only your web server is talking to your database.

Finally, you can complete the admin setup by following the official osTicket documentation here. In addition, you can easily setup SSL certificate, via Let’s Encrypt.

osTicket installation information

And that’s it, you have a fully functioning robust open source ticketing platform on Google Cloud, which is secure, scalable and affordable. You can do all of these, with free $300 Cloud credit if this is your first Google Cloud account. And, when you grow big and billing kicks in, you only pay per second of usage. Isn’t that COOL!

Let me know if this was useful and kindly suggest corrections or bugs.

--

--

Abdulsalam Abdullateef

A Simple guy, Big Data and Analytics Cloud Consultant @ Google and Learner. Wanna be investor, African to the core.