{"id":30444906,"url":"https://github.com/harleyrussell1/osticket-lab","last_synced_at":"2026-04-13T21:32:27.781Z","repository":{"id":288656449,"uuid":"968787492","full_name":"harleyrussell1/osTicket-Lab","owner":"harleyrussell1","description":"This lab is my learning and utilization of osTicket to get hands on experience with ticketing systems.","archived":false,"fork":false,"pushed_at":"2025-04-19T00:48:03.000Z","size":53712,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-24T05:01:52.491Z","etag":null,"topics":["help-desk","iis","itsm","mysql","osticket","php","server","service-desk","support","sysadmin","ticketing","ticketing-system"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/harleyrussell1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-18T18:23:09.000Z","updated_at":"2025-04-19T03:02:20.000Z","dependencies_parsed_at":"2025-04-19T08:04:33.110Z","dependency_job_id":null,"html_url":"https://github.com/harleyrussell1/osTicket-Lab","commit_stats":null,"previous_names":["harleyrussell1/osticket-lab"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/harleyrussell1/osTicket-Lab","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harleyrussell1%2FosTicket-Lab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harleyrussell1%2FosTicket-Lab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harleyrussell1%2FosTicket-Lab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harleyrussell1%2FosTicket-Lab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/harleyrussell1","download_url":"https://codeload.github.com/harleyrussell1/osTicket-Lab/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/harleyrussell1%2FosTicket-Lab/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271746655,"owners_count":24813575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-23T02:00:09.327Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["help-desk","iis","itsm","mysql","osticket","php","server","service-desk","support","sysadmin","ticketing","ticketing-system"],"created_at":"2025-08-23T10:32:15.595Z","updated_at":"2026-04-13T21:32:27.768Z","avatar_url":"https://github.com/harleyrussell1.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# osTicket Installation \u0026 Configuration Lab (Azure VM)\n\n## Overview\nThis lab walks through the installation and configuration of the open-source support ticketing system, **osTicket**, on a Windows 10 virtual machine hosted in **Microsoft Azure**. It covers environment setup, server configuration, and simulated ticket workflow to demonstrate IT service management in practice.\n\n## Technologies Used\n- Microsoft Azure (VM deployment)\n- Windows 10 Virtual Machine\n- IIS (Internet Information Services)\n- PHP 7.3.8\n- MySQL 5.5.62\n- osTicket v1.15.8\n- HeidiSQL\n- DNS and URL routing via localhost\n\n---\n\n## Environment Setup\n\n### Create Azure VM\n- **Name:** osticket-vm  \n- **OS:** Windows 10  \n- **vCPUs:** 4  \n- **Authentication:** Secure admin credentials  \n- Accessed via Remote Desktop (RDP)\n\n### Software Installation\n\n#### Prepare Installation Files\n- Downloaded and unzipped `osTicket-Installation-Files.zip` to Desktop\n\n#### Enable IIS with CGI Support\n- Enabled via Windows Features:\n  - World Wide Web Services → Application Development Features → CGI\n\n#### Install Prerequisites\n- PHP Manager for IIS  \n- URL Rewrite Module  \n- Visual C++ Redistributable (VC_redist.x86.exe)  \n- Created folder `C:\\PHP` and extracted PHP 7.3.8  \n- Installed MySQL 5.5.62 (Typical \u003e Standard Configuration)\n\n---\n\n## IIS + PHP Configuration\n- Opened IIS Manager\n- Registered PHP with PHP Manager (`php-cgi.exe`)\n- Restarted IIS\n\n---\n\n## Deploy osTicket\n\n### Application Setup\n- Extracted `osTicket-v1.15.8.zip`\n- Copied `upload` folder to `C:\\inetpub\\wwwroot` and renamed it to `osTicket`\n- Verified site loads at `http://localhost/osTicket`\n\n### Enable Required PHP Extensions\n- Enabled in PHP Manager:\n  - `php_imap.dll`\n  - `php_intl.dll`\n  - `php_opcache.dll`\n\n### Configuration File\n- Renamed `ost-sampleconfig.php` → `ost-config.php`\n- Set permissions:\n  - Disabled inheritance\n  - Removed existing users\n  - Granted `Everyone` full control\n\n---\n\n## MySQL Setup\n- Installed HeidiSQL  \n- Connected as root  \n- Created new database: `osTicket`\n\n---\n\n## Finalize osTicket Setup\n- Navigated to `http://localhost/osTicket`\n- Completed installer with:\n  - Helpdesk Name\n  - Admin Email\n  - MySQL DB: `osTicket`\n  - Root credentials\n- Clicked **Install Now**\n\n### Access Points\n- Admin Panel: `http://localhost/osTicket/scp/login.php`\n- User Portal: `http://localhost/osTicket`\n\n---\n\n## Post-Installation Configuration\n\n### Secure Setup\n- Deleted `C:\\inetpub\\wwwroot\\osTicket\\setup`\n- Set `ost-config.php` to **read-only**\n\n### System Configuration\n\n#### Roles\n- Supreme Admin\n\n#### Departments\n- SysAdmins\n\n#### Teams\n- Online Banking\n\n#### User Access Settings\n- Disabled: \"Require registration and login to create tickets\"\n\n#### Agents\n- Jane (SysAdmins)\n- John (Support)\n\n#### Users\n- Karen\n- Ken\n\n#### SLA Policies\n- **Sev-A:** 1 hour (24/7)\n- **Sev-B:** 4 hours (24/7)\n- **Sev-C:** 8 hours (Business Hours)\n\n#### Help Topics\n- Business Critical Outage\n- Personal Computer Issues\n- Equipment Request\n- Password Reset\n- Other\n\n---\n\n## Ticket Simulation Scenarios\n\n### Ticket 1: Online Banking Outage\n- **End User:** Reports full online banking outage  \n- **Agent John:**\n  - SLA: Sev-A\n  - Dept: Online Banking  \n- **Agent Jane:** Resolves ticket\n\n### Ticket 2: Adobe Upgrade Issue\n- **End User:** Reports broken Adobe install in accounting  \n- **Agent John:**\n  - SLA: Sev-B\n  - Dept: Support\n  - Resolves ticket\n\n### Ticket 3: CFO Laptop Failure\n- **End User:** CFO laptop won’t boot  \n- **Agent John:**\n  - SLA: Sev-B\n  - Dept: Support\n  - Resolves ticket\n\n---\n\n## Access Control Workflow\n- Promoted SysAdmins to top-level department  \n- Deleted Maintenance department  \n- Assigned ticket to SysAdmins (Sev-A)  \n- Verified Agent John could not view the ticket  \n- Granted John access to SysAdmins  \n- Confirmed restored visibility\n\n---\n\n## Skills \u0026 Experience Gained\n- **Cloud VM Deployment:** Built and connected to an Azure-hosted Windows 10 machine\n- **Web Stack Configuration:** Installed and configured IIS, PHP, and MySQL for osTicket\n- **ITSM Simulation:** Ran realistic help desk workflows with SLA prioritization and ticket escalation\n- **User Role \u0026 Access Control:** Practiced department/team-based visibility and permissions\n- **Database Administration:** Used HeidiSQL to create and manage MySQL databases\n- **System Hardening:** Secured installation through permission adjustments and cleanup\n\n## Screenshots\n\nAll screenshots related to this lab can be found in the [`/screenshots`](./screenshots) folder.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharleyrussell1%2Fosticket-lab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fharleyrussell1%2Fosticket-lab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fharleyrussell1%2Fosticket-lab/lists"}