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.
Need a server to try this on? Antihost offers Linux VPS plans with NVMe storage, full root access and a 14-day free trial.
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.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Clear out junk files and repair common Windows errors3Fix the driver behind crashes, sound loss and screen glitches- 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
- 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.
The Tool Desk
Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →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
- 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.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →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
- 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
- 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.
- Extract the archive outside the public document root, inspect the resulting directory and move the application files into the virtual host’s document root.
- 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.
- Verify that the document root contains the osTicket entry point, the
apidirectory,includeand 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:
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
- Open the HTTPS help-desk hostname in a browser. The installer performs prerequisite checks before collecting configuration.
- Correct every failed PHP extension, version or permission check before continuing. Do not bypass a requirement by suppressing the warning.
- Enter the help-desk name, administrator details and a strong administrator password. Use an individual administrator account rather than sharing credentials.
- 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.
- During this stage, make
include/ost-config.phpwritable by the installer. Grant only the temporary write permission needed for setup; avoid making the entire application tree writable. - 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
- 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:
Recommended Free Tools
- 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. - 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. - Enable the osTicket system from the administration interface so it can accept and process tickets. Keep it disabled while you are still correcting configuration.
- Install and test the TLS certificate, then force HTTPS and confirm that cookies, login pages and attachments are not delivered over plain HTTP.
- Restrict administrative access at the VPS, reverse-proxy or VPN layer where practical. Application passwords remain necessary, but network restrictions reduce the attack surface.
- 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
- 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.
- 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.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
- Read the target branch’s requirements and compatibility notes. Confirm that your PHP, database and extensions remain supported.
- Put the change on a maintenance schedule and record the current release or repository commit.
- Back up the database, attachments and codebase before touching files. The osTicket repository explicitly recommends all three before upgrades.
- 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 --setupcommand. - Run the application’s upgrade process, inspect its output and test login, ticket creation, attachment upload, search, mail polling and agent permissions.
- Remove any newly generated setup directory and recheck that
include/ost-config.phpis not writable. - 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.phpis not writable andsetup/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.
Quick Recap
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.




