osTicket - Prerequisites and Installation
Table of Contents
This tutorial walks you through the prerequisites and installation steps for setting up the open-source help desk ticketing system, osTicket, on a Windows virtual machine. It covers the installation of necessary components like IIS, PHP, MySQL, and osTicket itself, as well as configuration and setup for a fully functional help desk system. Follow these steps to get osTicket running on your Windows server for streamlined support management.
List of Prerequisites #
- Download the following in the documentation: PHP 8.2, MySQL, PHP Manager
- Download Rewrite Module (x64) to transform incoming URLs
- Download VC Redist (x64) for MySQL
- Download Heidi SQL to interact with DB
- Download osTicket v1.18+
- When downloading osTicket, you can leave the plugins options empty
Installation Steps #
Create the Windows VM #
Set up your virtual machine with Windows 10 Pro, version 22H2.
- Ensure the VM is allocated at least 4 vCPUs and 16 GB of RAM for optimal performance.
Then connect to the VM with an RDP client such as Remote Desktop on Windows. However, if you’re using Linux, use FreeRDP and follow this guide here
Enable IIS #
Next, open the Control Panel and navigate to “Programs.”
Then, click on “Turn Windows features on or off.”
In the Windows Features dialog, enable IIS along with CGI and Common HTTP Features under “World Wide Web Services” -> “Application Development Features.”
- CGI
- Common HTTP Features
Verify IIS Installation #
To verify that IIS is installed and enabled, open a web browser and navigate
to localhost
or 127.0.0.1
. You should see a page similar to the one below.
Installation Files #
Now that IIS is enabled:
- Install PHP Manager
- Install Rewrite Module
- Install VC Redist
- Create a folder in the
C:
drive named “PHP” - Unzip PHP and insert the contents into
C:\PHP
- Move the files instead of copying them over by Ctrl+X then Ctrl+V into the destination folder.
- Install HeidiSQL
- Install MySQL
- Select the Server install option
- Set the root password as root for simplicity
- Accept all defaults
- Unzip osTicket
- Move the upload folder into
C:\inetpub\wwwroot
- Rename it to osTicket.
- Move the upload folder into
Configuration #
Register a new PHP version. #
After installing the required files, search for IIS in the Windows search bar. Open IIS as an administrator and register PHP within IIS.
Provide the path to the php-cgi.exe
file inside the PHP folder as shown below:
Then, restart the IIS server by stopping and starting it again. Now on the left hand side navigate to sites and select the osTicket folder, then click on Browse *80 (http). You’ll be presented with this screen:
From here, we’ll be able to click on the continue button at the bottom of the page.
Rename and Set File Permissions #
As shown above, rename ost-sampleconfig.php file located
in C:\inetpub\wwwroot\osTicket\include\
to ost-config.php. Use the
following within the command line as admin.
Copy-Item -Path C:\inetpub\wwwroot\osTicket\include\ost-sampleconfig.php -Destination C:\inetpub\wwwroot\osTicket\include\ost-config.php
Then give the file full read and write access to Everyone. We’ll change this to read-only once we’re done. Run the following in the command line as admin.
icacls C:\inetpub\wwwroot\osTicket\include\ost-config.php /grant 'Everyone:F'
Create Database Table #
Within HeidiSQL:
- Right-click on the left sidebar where it says “Unnamed”
- Select Create new and then choose Database
- Name the new database
osTicket
osTicket Installer #
Now that the database is set up, go through the osTicket installer by navigating
to localhost/osTicket/setup/
. In the MySQL Database section, enter osTicket
.
Login #
Once the installation is complete, log in with the email and password you set up during the installation process.
Clean up #
Now when you first login, you see some warnings at the top of the page to clean up after installation. All you need to do is delete the setup directory and change ost-config.php file’s permission. Open up the command line as admin and run the following:
# Remove the directory
rmdir /S C:\inetpub\wwwroot\osTicket\setup
# Change the file permission
icacls C:\inetpub\wwwroot\osTicket\include\ost-config.php /grant:r Everyone:(R)