,

Day 8: osTicket Lab Setup


Project Type: Ubuntu Server | osTicket | IT Help Desk Simulation
Skill Level: Intermediate
Lab Platform: Hyper-V + VMware + Ubuntu Server 22.04 LTS


Why I Built This

Day 8 of my 10-day hands-on IT lab series focuses on setting up osTicket on an Ubuntu Server and integrating it with Active Directory (AD). By following the LAMP stack setup (Linux, Apache, MySQL, PHP), I was able to simulate a real-world help desk environment and troubleshoot IT tickets using a domain-integrated ticketing system. This setup will also help me simulate common IT support scenarios such as printer issues, user authentication, and password resets, among others.

In this day, I configured osTicket, connected it to my domain for LDAP login, and practiced resolving help desk tickets.


Lab Setup Overview

ComponentDetails
HypervisorHyper-V (Main Hypervisor)
VMware PlatformVMware Workstation Pro
Domain Namewired.com
Subnet192.168.1.0/24
DC IP Address192.168.1.10 (Static)
Client DNS192.168.1.10 (Domain Controller)
osTicket ServerUbuntu Server 22.04 LTS

Step-by-Step Breakdown

Phase 1: Set Up Ubuntu Server VM

  1. Download Ubuntu Server ISO:
  2. Create Ubuntu VM in Hyper-V:
    • Name: osTicket-Server
    • Generation: Gen 2 (recommended)
    • Memory: 2-4 GB
    • Network: Connect to the same virtual switch as your domain environment.
  3. Install Ubuntu:
    • Mount the ISO, boot the VM, and start the installation process.
    • Installation Options:
      • Language: English
      • Keyboard: Default
      • Network: DHCP (can assign static IP later)
      • User: admin (or any local admin name)
      • Enable OpenSSH server for remote management.
  4. Finish Installation and Reboot.

Phase 2: Install LAMP Stack (Linux, Apache, MySQL, PHP)

  1. Update the System: bashCopysudo apt update && sudo apt upgrade -y
  2. Install Apache Web Server: bashCopysudo apt install apache2 -y
  3. Install MySQL: bashCopysudo apt install mysql-server -y sudo mysql_secure_installation
  4. Create MySQL Database and User: bashCopysudo mysql -u root -p CREATE DATABASE osticket; CREATE USER 'osticketuser'@'localhost' IDENTIFIED BY 'StrongPassword123!'; GRANT ALL PRIVILEGES ON osticket.* TO 'osticketuser'@'localhost'; FLUSH PRIVILEGES; EXIT;
  5. Install PHP and Required Extensions: bashCopysudo apt install php php-mysql php-imap php-apcu php-intl php-gd php-xml php-mbstring php-curl php-zip unzip -y sudo systemctl restart apache2

Phase 3: Download & Configure osTicket

  1. Download osTicket: bashCopycd /var/www/html sudo wget https://github.com/osTicket/osTicket/releases/download/v1.18.1/osTicket-v1.18.1.zip sudo unzip osTicket-v1.18.1.zip sudo mv upload osticket sudo chown -R www-data:www-data /var/www/html/osticket
  2. Set Correct Permissions: bashCopysudo chmod -R 755 /var/www/html/osticket
  3. Rename the Config File: bashCopycd /var/www/html/osticket/include sudo cp ost-sampleconfig.php ost-config.php

Phase 4: Finish Setup via Web Interface

  1. Open a browser and go to: arduinoCopyhttp://<Ubuntu VM IP>/osticket
  2. Complete the web-based installer:
    • Fill in site info.
    • Use the DB credentials from earlier.
    • Set admin user.
  3. When done:
    • Delete the setup directory:
    bashCopysudo rm -rf /var/www/html/osticket/setup

Phase 5: Domain Integration & Simulation

Integrate osTicket with Active Directory (optional for LDAP login): bashCopysudo apt install realmd sssd adcli samba-common-bin -y sudo realm join --user=administrator wired.com


Key Problems Solved

  • Setting up osTicket: Successfully configured osTicket with LAMP stack and integrated with the domain for LDAP login.
  • Simulating Help Desk Scenarios: Created a realistic IT support environment for resolving tickets such as printer issues, user logins, and file access.
  • Domain Integration: Integrated osTicket with Active Directory for streamlined user authentication.

Troubleshooting Tips

  • osTicket Web Interface Not Loading?
    • Ensure Apache is running: sudo systemctl restart apache2.
    • Check file permissions and ensure the web directory has correct permissions (www-data).
  • Database Connection Issues?
    • Double-check MySQL credentials and database setup.
    • Ensure the correct PHP extensions are installed for MySQL support.

What I Learned

  • osTicket Setup: How to set up an open-source ticketing system on Ubuntu Server.
  • LAMP Stack: The process of installing Linux, Apache, MySQL, and PHP on a server for web applications.
  • Domain Integration: Understanding how to integrate LDAP authentication with third-party applications like osTicket.

What’s Next?

In Day 9, I will focus on:

  • Multi-Site Active Directory and DFS Replication.
  • Renaming and creating new Active Directory sites for NYC and FL DCs.
  • Setting up DFS replication for file consistency between DCs.
  • Verifying site links and testing replication functionality.

Stay tuned as I configure multi-site AD and simulate file replication for distributed environments!


Follow the Journey

This blog post is part of my Real-World IT Lab in 10 Days series. Stay tuned for Day 9, where I will dive into multi-site AD and DFS replication.

Follow me on LinkedIn for more updates and insights!


Leave a Reply

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