- Microsoft Azure (Virtual Machines/Compute)
- Remote Desktop
- Internet Information Services (IIS)
- Windows 10 (21H2)
- Install and configure IIS with CGI
- Install and configure PHP
- Install and configure MySQL / HeidiSQL
- Download and set up osTicket
- Configure osTicket in the web browser
- Finalize the setup and secure the system
Step 1: Install and Configure Internet Information Services (IIS) with Common Gateway Interface (CGI) to create a web server:
-
Press Windows key + R for the Direct Run command:
optionalfeatures
-
Check ✔ "Internet Information Services" box
-
Expand "Internet Information Services" by clicking the + sign
-
Expand "World Wide Web Services"
-
Expand "Application Development Features"
-
Check ✔ "CGI" → click "OK" → when installation is complete click "Close"
-
To see the default IIS web page, in a web browser, visit:
optionalfeatures
If done correctly, you should see the default IIS web page
Step 2: Download and Install PHP:
-
Go to ➤ https://github.com/RonaldCarter/PHPManager/releases/tag/V1.5.0
-
Download and install "PHPManagerForIIS_V1.5.0.msi" - PHPManager
-
Download and install "x86 installer" - Rewrite Module
-
Download "php-7.3.8-nts-Win32-VC15-x86.zip" - PHP Builds
-
Create the directory:
C:\PHP
-
Extract the downloaded PHP Build to:
C:\PHP
-
Go to ➤ https://www.microsoft.com/en-us/download/details.aspx?id=48145
-
Download and install "VC_redist.x86.exe" - Visual C++ Redistributable
Step 3: Install and Configure MySQL:
- Go to ➤ https://www.npackd.org/p/com.mysql.MySQLCommunityServer/5.5.62
- Download "mysql-5.5.62-win32.msi"
- Go to ➤ https://www.heidisql.com/installers/HeidiSQL_12.3.0.6589_Setup.exe
- Download "HeidiSQL_12.3.0.6589_Setup.exe"
- Install MySQL
- Select the following options:
Setup Type – Typical → Next
Action Button - Install
User Account Control Prompt - Yes
Dialog Box (after install) – Launch the MySQL Instance Cofiguration Wizard
Action Button - Finish
User Account Control Prompt - Yes
MySQL Server Instance Cofiguration Wizard - Next
Configuration Type – Standard Configuration → Next
Windows Option – Install As Windows Service → Launch the MySQL Server automatically → Next
Security Options - Modify Security Settings Dialog Box → Set a root password → Next
Action Buttons - Execute → Finish
- Install MySQL & HeidiSQL
- Select the following options:
License Agreement – I accept the agreement → Next
Select Destination Location – Next
Select Start Menu Folder – Next
Select Additional Tasks – Next
Ready to Install – Install
Dialog Box (after install) – Launch HeidiSQL
Action Button - Finish
Check for HeidiSQL updates - Skip
HeidiSQL Session Manager - New → Open
- Connect to the HeidiSQL session
- Right-Click the "Session Name" on the left panel of the HeidiSQL Session Manager → Create New → Database
- Name the newly created database "osTicket" → OK
Step 4: Register and Configure PHP from within IIS:
-
Open IIS Manager as Admin
-
Double-click PHP Manager
-
Select: Register new PHP version
-
Provide a path to the php executable file:
C:\PHP\php-cgi.exe
-
Reload IIS (Right click server, Stop and then Start)
Step Step 5: Download and Install osTicket:
-
Go to ➤ https://osticket.com/download
-
Download the latest stable release (.zip file)
-
Extract the "upload" folder from "osTicket" folder to:
C:\inetpub\wwwroot
-
Rename the newly extracted "upload" folder within:
C:\inetpub\wwwroot
to "osTicket"
-
Reload IIS (Right click server, Stop and then Start)
-
Expand the osTicket server under "Connections" on the left panel of the IIS Manager
-
Next expand "Server" → "Sites" → "Default Web Site"
-
Select the "osTicket" folder
-
Click on "Browse *:80" under "Actions" on the right panel of the IIS Manager
-
If done correctly, you should see the osTicket installer web page
-
Note that some extensions are not enabled
-
Go back to IIS → "Server" → "Sites" → "Default Web Site" → "osTicket"
-
Double-click PHP Manager
-
Click “Enable or disable an extension” under "PHP Extensions" & enable the following PHP extensions:
php_imap.dll
php_intl.dll
php_intl.dll
- Refresh the osTicket site in your browser, and observe the changes
Step 6: Configure ”ost-config”:
-
Rename ”ost-config” from:
C:\inetpub\wwwroot\osTicket\include\ost-sampleconfig.php
-
Rename to:
C:\inetpub\wwwroot\osTicket\include\ost-config.php
-
Right click ”ost-config.php” and click "Properties"
-
Navigate to the ”Security” tab
-
Select ”Advanced”
-
Click ”Disable inheritance”, followed by:
”Remove all inherited permissions from this object” on the Block Inheritance Prompt
-
Click ”Add” → ”Select a principal”
-
Under ”Enter the object name to select” field, write:
YOUR DESIRED USER HERE
Then click ”Check Names” → ”OK”
-
Below "Basic Permissions" Check ✔ "Full control" → "OK"
-
”Apply” changes → select ”OK”
Step 7: Complete osTicket Web Setup:
- Refresh the osTicket installer web page → select “Continue“
- Fill out "System Settings" → "Admin User" → "Database Settings" fields
- Select "Install Now"
Step 8: (Optional) Clean up and Finalize setup:
-
Delete the setup folder:
C:\inetpub\wwwroot\osTicket\setup
-
Set Permissions to “Read” only:
C:\inetpub\wwwroot\osTicket\include\ost-config.php
Congratulations! Hopefully, the installation has been completed without any errors.
Useful Links:
- Help Desk login URL: http://localhost/osTicket/scp/login.php
- End Users osTicket URL: http://localhost/osTicket/
- osTicket All-In-One Download: https://drive.google.com/file/d/1ToJ3W8Ej9Qx1yRb68MPDhTkmsmUg5aCH/view?usp=sharing
Completing the prerequisites and installation of osTicket highlights the importance of a strong technical foundation in any system deployment. Properly configuring IIS, PHP, MySQL, and related components ensures both stability and security, which are essential for long-term performance.


