Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
VGSources
Blog

How to Self-Host osTicket on a Linux VPS (2026)

A practical 2026 guide to self-hosting osTicket on a Linux VPS, covering supported versions, Apache/PHP/MySQL setup, browser installation, cron mail polling, security, backups, upgrades and troubleshooting.
Length11 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You can run osTicket on a Linux VPS if the server provides a supported web server, PHP 8.2–8.4 and MySQL 5.5 or newer. As of June 17, 2026, the official download page lists osTicket Core 1.17.8 and 1.18.4. Install the release that matches your PHP and database stack, complete the browser installer with a temporary writable include/ost-config.php, then remove that write access, delete the setup directory and enable the system. This guide covers both packaged releases and repository deployment, incoming-mail polling, hardening, backups and upgrade recovery.

What you need before installing

osTicket is downloadable open-source help-desk software. Self-hosting means you operate the VPS, operating-system updates, web server, PHP runtime, database, TLS certificate, mail integration, logs and backups. The official documentation does not require Ubuntu, Debian or another particular distribution; choose a maintained Linux distribution that can supply the documented components.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • A maintained Linux VPS with a DNS name pointed at its public IP.
  • Apache, LiteSpeed or IIS with URL Rewrite enabled. Apache is the usual choice on Linux, but the application is not limited to it.
  • PHP 8.2, 8.3 or 8.4. The current documentation recommends PHP 8.4 where available.
  • MySQL 5.5 or newer, or a compatible MySQL/MariaDB deployment supported by your selected osTicket branch.
  • A database and a database account that can create and modify the osTicket schema during installation.
  • HTTPS for the help-desk hostname, an administrator mailbox and a plan for database, attachment and code backups.

No authoritative osTicket figure sets a minimum CPU, RAM, disk size or ticket volume. Size the VPS from concurrent agents, attachment volume, mail-poll frequency and backup-retention requirements, then validate the choice under your own load. Do not treat a small test installation as evidence that a production workload will fit.

Choose a release and deployment method

The official download page currently lists these Core releases, both shown with a June 17, 2026 release date:

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Release listed PHP requirement shown by current documentation Database requirement shown by current documentation Best use
Core 1.17.8 PHP 8.2–8.4 MySQL 5.5 or newer Choose only when your integrations or change-control process requires the 1.17 branch; verify that branch’s exact compatibility notes first.
Core 1.18.4 PHP 8.2–8.4 MySQL 5.5 or newer Use for a new deployment when your plugins and operational policy support 1.18; verify the branch notes before installing.

The same download page contains older FAQ ranges for the 1.17 and 1.18 series. Those historical ranges should not override the release listing: check the exact requirements for the file you select immediately before deployment.

Approach Upgrade path Control and maintenance Main exposure
Packaged release download Download the next approved archive, back up, replace or deploy the code and run the upgrade process. Predictable, versioned files; you manage extraction, ownership and rollback. Downloading from an unverified mirror or skipping release-specific checks.
Repository deployment Pull the intended revision, back up attachments, database and codebase, then redeploy with php manage.php deploy --setup /var/www/htdocs/osticket/. Useful for controlled source workflows and documented “bleeding-edge” installations; requires Git and stricter change control. Pulling an unintended revision or exposing the deployed setup directory.

Do not mix files from different branches. Record the release or commit, PHP version, enabled extensions and database version in your change log so a rollback is reproducible.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Provision the VPS, DNS and firewall

1. Prepare the operating system

Apply the distribution’s security updates, create a non-root administrative account with narrowly scoped sudo access, and set the correct time zone and time synchronisation. Disable password-based SSH authentication after confirming key-based access. Keep SSH restricted to trusted source addresses where your network permits it.

2. Point a hostname to the VPS

Create an A or AAAA record such as support.example.com for the VPS address. Wait for DNS propagation, then verify that the hostname resolves to the intended machine before requesting a certificate or opening the installer.

Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

3. Limit network exposure

  • Allow TCP 80 only long enough for HTTP-to-HTTPS redirection and certificate validation, if your certificate method needs it.
  • Allow TCP 443 for the public help desk.
  • Allow SSH only from your administration network when possible.
  • Do not expose the MySQL port to the public internet. Bind the database to localhost or a private network and permit only the application host.

Install and configure the web, PHP and database layers

Web server

Install Apache, LiteSpeed or IIS and enable URL Rewrite. Configure a virtual host for the help-desk hostname, set the document root to the osTicket application directory and make sure the server passes PHP files to the selected PHP runtime. Redirect HTTP to HTTPS after certificate issuance. Keep directory listings disabled.

PHP and extensions

Use a PHP version in the 8.2–8.4 range and install the extensions required by your selected release. The osTicket project’s deployment documentation specifically lists mysqli and recommends ctype, fileinfo, gd, gettext, iconv, imap, intl, json, mbstring, Zend OPcache, phar, xml, xml-dom and zip. Package names vary by distribution and PHP minor version, so install the equivalents supplied by your distribution rather than copying a package name from another release.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

After installing, confirm the web server and command-line PHP use the same supported minor version. A frequent failure is PHP 8.4 on the command line but an older PHP module behind Apache, or the reverse. Check the loaded modules with your distribution’s PHP module command and inspect the web server’s PHP information only temporarily; remove any diagnostic file afterward.

Database server

Create an empty database with a dedicated account. During the browser installation, that account needs full privileges on the target database because osTicket creates its tables and writes the initial schema. A typical MySQL session is:

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
CREATE DATABASE osticket CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'osticket_installer'@'localhost' IDENTIFIED BY 'use-a-long-random-secret';
GRANT ALL PRIVILEGES ON osticket.* TO 'osticket_installer'@'localhost';
FLUSH PRIVILEGES;

Use a unique secret stored in your password manager. If your database is on another private host, replace localhost with the application host’s private address and restrict the database firewall accordingly. Do not grant global privileges such as GRANT ALL ON *.*.

Download and place osTicket

Packaged release workflow

  1. Download the selected Core archive from the official osTicket download page over HTTPS. Confirm that the filename and release match the branch you approved; do not use an unverified third-party package.
  2. Extract the archive outside the public document root, inspect the resulting directory and move the application files into the virtual host’s document root.
  3. Set the web-server account as owner only where the application must write. Keep code and directories non-writable by the web process unless the installation instructions explicitly require temporary access.
  4. Verify that the document root contains the osTicket entry point, the api directory, include and the other release directories before opening the site.

Repository workflow

For a source-based deployment, clone the repository at the revision you intend to run, then execute the documented deployment command with the destination path:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
php manage.php deploy --setup /var/www/htdocs/osticket/

Use the path that matches your virtual host rather than copying this example blindly. The command prepares a deployed tree and setup files. After the browser setup is complete, remove the deployed setup directory. Repository installations require an explicit policy for which branch or commit may reach production; “bleeding-edge” support does not mean every commit is appropriate for a live help desk.

Run the browser installer

  1. Open the HTTPS help-desk hostname in a browser. The installer performs prerequisite checks before collecting configuration.
  2. Correct every failed PHP extension, version or permission check before continuing. Do not bypass a requirement by suppressing the warning.
  3. Enter the help-desk name, administrator details and a strong administrator password. Use an individual administrator account rather than sharing credentials.
  4. Enter the database host, database name, database user and password created earlier. The installer writes the schema and application configuration when the credentials are valid.
  5. During this stage, make include/ost-config.php writable by the installer. Grant only the temporary write permission needed for setup; avoid making the entire application tree writable.
  6. Submit the form and wait for the success page. If the browser reports a database error, validate the host, account, password, database name and privileges from the VPS before changing files.

The installer’s writable configuration file is a temporary condition, not a deployment setting. Leaving it writable allows a compromise of the web process to alter database credentials or other application settings.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft

Complete the immediate hardening steps

Perform these actions before inviting agents or customers:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Remove write permission from include/ost-config.php. Keep it readable by the web process but not writable by that account. Verify the mode and owner with your operating system’s file-permission tools.
  2. Delete the setup/ directory from the deployed application. Do this for both packaged and repository deployments; a setup directory left online can expose an installer or configuration workflow.
  3. Enable the osTicket system from the administration interface so it can accept and process tickets. Keep it disabled while you are still correcting configuration.
  4. Install and test the TLS certificate, then force HTTPS and confirm that cookies, login pages and attachments are not delivered over plain HTTP.
  5. Restrict administrative access at the VPS, reverse-proxy or VPN layer where practical. Application passwords remain necessary, but network restrictions reduce the attack surface.
  6. Review ownership and permissions for attachments, logs and cache directories. Make only directories that genuinely need runtime writes writable by the web account.

Configure incoming email and cron polling

For POP3 or IMAP intake, create an osTicket email queue with the mailbox host, port, encryption mode, username and password supplied by your mail provider. The queue does not fetch mail continuously by itself: a scheduled task must execute api/cron.php.

Preferred: local CLI cron

Run the task locally on the VPS so no public endpoint is needed. Edit the crontab for the account that can execute PHP and read the osTicket installation:

*/5 * * * * /usr/bin/php /var/www/osticket/api/cron.php

This is the official example’s five-minute interval. Replace both paths with the PHP executable and document root on your server. If your PHP binary is versioned, use the supported binary explicitly. Test the command manually first, then confirm new messages appear as tickets and that the osTicket system log records a successful poll. Redirect standard output and errors to a protected log or your scheduler’s logging facility so failures are visible without exposing credentials.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

When an external scheduler must call a URL

Some hosting schedulers can call only a public URL. In that case, protect externally triggered polling with both controls documented by osTicket:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Allow the scheduler’s originating IP address in the osTicket API configuration.
  • Require an API key presented as the HTTP User-Agent.

Do not publish an unprotected URL that executes mail polling. Test the request manually from an allowed source, inspect osTicket, web-server and mail-server logs, and only then return the scheduler to its intended interval. Rotate the key if it appears in a log, ticket, shell history or monitoring system.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Backups, upgrades and rollback

What to back up

  • The complete osTicket database, including schema and ticket data.
  • The attachment directory and any other runtime-upload directories.
  • The deployed codebase, custom templates, plugins and configuration needed to reproduce the exact release.
  • Operational metadata such as PHP version, enabled extensions, virtual-host configuration and cron entries.

Store backups separately from the VPS, encrypt them where appropriate and set a retention period that matches your legal and operational needs. A backup that has never been restored is an assumption, not a recovery plan. Rehearse restoring the database and attachments to a disposable host before a production upgrade.

Safe upgrade sequence

  1. Read the target branch’s requirements and compatibility notes. Confirm that your PHP, database and extensions remain supported.
  2. Put the change on a maintenance schedule and record the current release or repository commit.
  3. Back up the database, attachments and codebase before touching files. The osTicket repository explicitly recommends all three before upgrades.
  4. For a packaged installation, stage and verify the new archive, preserving configuration and runtime data. For a repository installation, pull the approved revision and redeploy with the documented manage.php deploy --setup command.
  5. Run the application’s upgrade process, inspect its output and test login, ticket creation, attachment upload, search, mail polling and agent permissions.
  6. Remove any newly generated setup directory and recheck that include/ost-config.php is not writable.
  7. If validation fails, stop mail polling, preserve logs, restore the prior code and database only according to your tested rollback procedure.

Troubleshoot common installation failures

Symptom Likely checks Corrective action
The installer says PHP is unsupported. Compare the PHP version used by the web server with the selected osTicket branch; inspect loaded extensions. Install a supported PHP 8.2–8.4 runtime and required modules, then restart the web service. Do not rely only on command-line PHP output.
Database connection or permission error. Check hostname, port, database name, account host restriction and whether the installer account has full privileges on that database. Correct the credentials or grants, test a direct database login from the VPS, and retry without granting global database privileges.
Blank page or HTTP 500 response. Inspect Apache or LiteSpeed, PHP and osTicket logs; check for a missing extension, fatal PHP error, memory limit or mismatched PHP handler. Fix the reported runtime error, clear only safe caches if applicable and remove temporary diagnostic files after use.
Attachments cannot be uploaded. Check runtime-directory ownership, PHP upload limits, disk space and web-server request limits. Grant write access only to the required attachment directory, raise limits deliberately and monitor disk usage.
Cron runs but no tickets arrive. Run api/cron.php manually, verify the queue credentials and encryption settings, and read osTicket plus mail-server logs. Fix mailbox authentication or network access, then restore the five-minute schedule. For an external scheduler, verify both source-IP allowance and the API-key User-Agent.
The browser keeps showing setup. Check whether setup/ still exists, whether configuration was written and whether the virtual host points at the intended directory. Complete the installer, remove setup/, and confirm the document root is not an old or duplicate deployment.

Operations checklist after launch

  • Confirm HTTPS, DNS, certificate renewal and redirect behavior from an external network.
  • Verify include/ost-config.php is not writable and setup/ is absent.
  • Check that the database is reachable only from the application’s private network or localhost.
  • Run a test ticket through the web form, agent reply, attachment upload and configured mail queue.
  • Record the cron command, release version, PHP modules and backup locations in your runbook.
  • Monitor web-server, PHP, database, osTicket and mail logs. Alert on repeated cron failures, authentication errors, disk exhaustion and certificate-expiry warnings.
  • Test restoration of both the database and attachments on a separate host before each major upgrade.

Is self-hosting the right deployment for you?

A Linux VPS gives you control over the release, PHP runtime, network boundaries, mail polling and backup policy. It also makes you responsible for patching, certificates, database health, storage growth, monitoring and incident response. A managed hosting arrangement can reduce routine server work, but you still need to verify that it supports the documented PHP range, required extensions, scheduled PHP execution, database privileges and secure backup access. Whichever model you choose, the osTicket application still needs the same post-installation controls: a non-writable configuration file, no setup directory, protected mail polling and recoverable backups.

For a new self-managed deployment in 2026, select either Core 1.17.8 or 1.18.4 only after checking the branch-specific compatibility notes, build the supported stack, complete the browser installer, harden the files immediately and prove that mail intake and restoration work before putting the help desk in front of users.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.